productivityoauth2

Linear

Issue tracking and project management for product teams.

Verdict

Linear via MCP is the integration that lets the model treat your issue tracker as a first-class data source. Read what's blocked, who owns what, what the team shipped this cycle — and write back when the model has produced something worth filing. What we notice: Linear's clean data model (projects, cycles, issues, well-defined states) makes it the friendliest issue tracker for an LLM to reason about. The model can answer "what's in my queue right now," "summarise the team's last cycle," "create a new issue from this Slack thread" without much prompt engineering. Multi-step workflows (move issue from triage to in-progress, assign to me, link the PR) work cleanly when the model has the right context. Best for: engineering teams using Linear who want their AI assistant to stay in the loop on what's planned and shipped; standup-style summaries (what changed since Monday, who's blocked, what's at risk); creating issues from chat conversations; cycle and sprint reporting. Avoid for: orgs not standardised on Linear (the integration only helps if the data is there); workflows where the AI shouldn't write back to the tracker (use read-only OAuth scopes); cross-tool coordination where Linear is one of several systems (the model's coordination logic is on you, the integration just hands it Linear data). Practical frame: free with a Linear account; the API is generous. Token cost on the model is the variable — a daily standup summary across a team's queue runs ~$0.01-0.05 in tokens.

Common use cases

  • Turn Slack threads into tracked Linear issues
  • Comment on bugs during triage calls
  • Pull cycle progress for standups
  • Label incoming feature requests by theme
  • Archive resolved issues in bulk

Integration

Vendor
Linear
Category
productivity
Auth
OAUTH2
Tools
21
Composio slug
linear

Tools

  • Create a comment

    Creates a new comment on a specified linear issue.

  • Create a label

    Creates a new label in linear for a specified team, used to categorize and organize issues.

  • Create linear attachment

    Creates a new attachment and associates it with a specific, existing linear issue.

  • Create linear issue

    Creates a new issue in a specified linear project and team, requiring a title and description, and allowing for optional properties like assignee, state, priority, cycle, and due date.

  • Delete issue
    destructive

    Archives an existing linear issue by its id, which is linear's standard way of deleting issues; the operation is idempotent.

  • Download issue attachments

    Downloads a specific attachment from a linear issue; the `file name` must include the correct file extension.

  • Get all cycles

    Retrieves all cycles (time-boxed iterations for work) from the linear account; no filters are applied.

  • Get all teams

    Retrieves all teams from the linear workspace without requiring any parameters.

  • Get create issue default params

    Fetches a linear team's default issue estimate and state, useful for pre-filling new issue forms.

  • Get current user

    Gets the currently authenticated user's id, name, email, and other profile information. use this to identify 'me' in other linear operations that require user id filtering.

  • Get cycles by team ID

    Retrieves all cycles for a specified linear team id; cycles are time-boxed work periods (like sprints) and the team id must correspond to an existing team.

  • Get labels by team

    Retrieves all labels associated with a given team id in linear; the team id must refer to an existing team.

  • Get Linear issue

    Retrieves an existing linear issue's comprehensive details, including title, description, attachments, and comments.

  • Get teams by project

    Retrieves all teams, including their members, and filters each team's associated projects by the provided 'project id'.

  • List Linear issues

    Lists non-archived linear issues; if project id is not specified, issues from all accessible projects are returned. can also filter by assignee id to get issues assigned to a specific user.

  • List linear projects

    Retrieves all projects from the linear account.

  • List Linear states

    Retrieves all workflow states for a specified team in linear, representing the stages an issue progresses through in that team's workflow.

  • List Linear users

    Lists all users in the linear workspace with their ids, names, emails, and active status.

  • Remove label from Linear issue
    destructive

    Removes a specified label from an existing linear issue using their ids; successful even if the label isn't on the issue.

  • Run Query or Mutation

    Wildcard action that executes any graphql query or mutation against the linear api. use this as a fallback when no specific action exists for your use case, or when you need to perform complex operations not covered by other linear actions.

  • Update issue

    Updates an existing linear issue using its `issue id`; requires at least one other attribute for modification, and all provided entity ids (for state, assignee, labels, etc.) must be valid.

Setup

Setup guide

  1. 11. In Switchy, open Settings and navigate to Integrations. 2. Find Linear in the MCP catalog and click Connect. 3. You'll redirect to Linear's OAuth screen — sign in and authorize Switchy to read teams, issues, cycles, and write comments, issues, and labels. 4. Once redirected back, Switchy confirms the connection and shows Linear as active. 5. Open any Space and type '@Linear' to verify the MCP responds. 6. Test by asking '@Linear list all teams' — you should see your workspace teams in the reply. 7. To create an issue, use '@Linear create an issue titled [title] in team [team name] with description [text]' and confirm it appears in Linear's web app.

What teammates see: by default, memories from Linear are scoped to the Space (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.

Works well with

Top models

How Switchy teams use it

Not enough Spaces yet to publish anonymised usage stats (we require ≥ 50 Spaces per week).

Starter prompts

Draft Issue from Notes

@Linear create an issue titled 'Implement user search filter' in the Engineering team with description 'Add a search bar to the user directory page that filters by name and email. Should debounce input and highlight matches.' Assign it to the frontend lead and set priority to high.
Open in a Space →

Summarize Active Cycles

@Linear get all cycles and for each one tell me the cycle name, start date, end date, and how many issues are currently in it.
Open in a Space →

Label Backlog Items

@Linear create a label called 'Q2 Roadmap' for the Product team with color blue, then list all open issues in that team so I can tag the relevant ones.
Open in a Space →

Add Context to Bug

@Linear add a comment to issue ENG-472 with the text 'Reproduced on staging with Chrome 120. Console shows CORS error when fetching /api/users. Logs attached in Sentry incident #8834.'
Open in a Space →

Archive Completed Work

@Linear archive issues ENG-501, ENG-502, and ENG-503 since they shipped in yesterday's release and QA signed off.
Open in a Space →

Example outputs

Illustrative - representative of the model's voice and quality, not literal recordings.

Prompt

@Linear show me all open issues assigned to me in the current cycle, grouped by priority

Output

Based on the current cycle data, you have 8 open issues assigned to you. High priority (3 issues): ENG-245 'API rate limiting implementation', ENG-251 'Database migration rollback fix', ENG-258 'Security audit findings remediation'. Medium priority (4 issues): ENG-247 'Refactor authentication flow', ENG-252 'Update dependency versions', ENG-256 'Add logging to payment service', ENG-260 'Documentation updates for v2 API'. Low priority (1 issue): ENG-249 'Investigate flaky test in CI pipeline'. All issues are in the 'In Progress' or 'Todo' state within your Engineering team's current two-week cycle ending Friday.

Notes

This example demonstrates Linear's read capabilities across multiple tools (cycles, issues, teams). The MCP requires OAuth2 with read:issue and read:cycle scopes. Note that 'assigned to me' filtering depends on the authenticated user's Linear identity — the AI infers this from the OAuth token, not from Switchy's user context.

Prompt

@Linear create a bug ticket titled 'Mobile app crashes on iOS 17.2 when uploading images' in the Mobile team, high priority, and assign it to Sarah

Output

Created issue MOB-142 in the Mobile team with high priority. Title: 'Mobile app crashes on iOS 17.2 when uploading images'. The issue is assigned to Sarah Chen and set to 'Todo' state. I've also applied the 'bug' label automatically based on your description. The issue is added to the current active cycle (Cycle 12) which runs through next Friday. You can view it at linear.app/mobile/issue/MOB-142.

Notes

This showcases Linear's issue creation tool with multiple optional parameters (team, priority, assignee, state). The MCP requires write:issue scope. Important: assignee lookup by first name is fuzzy — if your workspace has multiple 'Sarah' users, you'll need to specify the full name or Linear user ID. The MCP will fail gracefully if the team name doesn't match exactly.

Prompt

@Linear review all issues closed in the last sprint and draft a release note highlighting the top 5 user-facing improvements

Output

Reviewing the 23 issues closed in Sprint 47 (Jan 6-19), here are the top 5 user-facing improvements for your release note: (1) Real-time collaboration cursors in the document editor (ENG-234) — users now see teammates' cursor positions while co-editing. (2) Bulk export to CSV for all project views (ENG-198) — requested by 12 customers, now supports up to 10k rows. (3) Dark mode support for mobile app (MOB-156) — reduces eye strain during evening usage. (4) Inline image preview in comments (ENG-221) — no more opening attachments in new tabs. (5) Keyboard shortcuts for issue state transitions (ENG-267) — power users can now move issues between columns without mouse clicks. These improvements address the most common feature requests from Q4 feedback.

Notes

This synthesis example pairs Linear's issue retrieval with the AI's reasoning to prioritize and summarize. The MCP fetches raw issue data (titles, descriptions, labels, comments), then the AI interprets which changes are user-facing vs. internal. Accuracy depends on issue descriptions being well-written — vague titles like 'fix bug' won't surface meaningful release notes. Requires read:issue and read:comment scopes.

Use-case deep-dives

Standup ticket triage for 5-person squad

When Linear MCP beats manual standup prep

A 5-person product squad runs daily standups where they triage 15-20 new Linear issues from support and sales. Without this MCP, someone opens Linear in a browser, reads each ticket aloud, and the team debates priority in real-time. With the MCP, the AI pulls the day's new issues, summarizes each in one sentence, flags duplicates by label similarity, and drafts a priority ranking based on team velocity and cycle deadlines. The squad reviews the AI's triage in 8 minutes instead of 20. This works because Linear's OAuth scope lets the AI read issues, labels, cycles, and team metadata without exposing sensitive customer data. If your team triages fewer than 10 tickets per standup, the manual flow is faster than teaching the AI your priority heuristics.

Customer support knowledge base lookup

Why Linear MCP falls short for support ticket search

A 3-person support team fields 40 tickets a day and wants the AI to search past Linear issues for similar problems before escalating to engineering. The Linear MCP can create comments and attachments on issues, but it lacks a semantic search tool—there's no 'find issues by natural language query' in the 21 available tools. The AI can retrieve all issues in a cycle or team, but that's a full dump, not a targeted lookup. For a support knowledge base, you need either Linear's GraphQL API with custom search logic or a dedicated search MCP like Algolia. Use this MCP when your workflow is about creating, updating, or organizing issues in bulk, not when you need to mine historical context from thousands of closed tickets.

Sprint planning attachment prep for remote team

When Linear MCP automates design handoff at scale

A 6-person remote design and engineering team starts each two-week sprint by attaching Figma links, PRD docs, and research screenshots to 30-50 Linear issues. Manually, this takes 90 minutes of copy-paste across Slack threads and Google Drive. With the MCP, the AI reads a Slack channel digest, matches design files to issue titles by keyword, and bulk-creates Linear attachments using the 'create linear attachment' and 'download issue attachments' tools. The team reviews the auto-attached files in 15 minutes and fixes mismatches. This works because Linear's OAuth gives the AI write access to attachments without exposing issue content to third-party storage. If your sprint has fewer than 20 issues, the manual flow is less error-prone than debugging the AI's keyword matching.

Frequently asked

What can the Linear MCP do in Switchy?

It creates and updates Linear issues, adds comments, manages labels, handles attachments, and pulls cycle and team data. You can assign issues, set priorities, link them to projects, and archive them. The MCP exposes 21 tools covering most of Linear's issue-tracking workflow, so your AI can read and write directly to your workspace without switching tabs.

Do I need admin access to connect Linear via OAuth?

No. Any Linear user can authorize the OAuth connection. The scopes you grant determine what the MCP can do—typically read and write access to issues, comments, labels, and attachments. If your workspace restricts API access at the org level, check with your admin first, but individual OAuth doesn't require elevated permissions.

Can the Linear MCP create sub-issues or dependencies?

Not directly through the listed tools. The MCP handles top-level issue creation, comments, labels, and attachments. For sub-issues or blocking relationships, you'll need to use Linear's UI or API separately. The MCP focuses on the core issue lifecycle—creation, assignment, state changes, and metadata—not the full graph of issue relationships.

Why use the Linear MCP instead of Linear's API directly?

The MCP wraps Linear's GraphQL API into natural-language tools your AI can call without you writing code. Instead of crafting mutations and queries, you describe what you want—"create an issue in the backend team, assign it to Sarah, set priority to high"—and the MCP handles the API plumbing. It's faster for ad-hoc work; use the API for custom automations.

Who on the team should connect the Linear MCP?

Anyone who triages or creates issues. The connection is per-user, so each person's OAuth token determines whose name appears on created issues and comments. If your team wants a shared "bot" identity, create a dedicated Linear account, authorize it, and share that Switchy workspace. Otherwise, connect your own account for personal issue management.

Compare with

Compare with anything else →
Data last verified 7 hours ago.Sources aggregated hourly to weekly. See docs/architecture/model-directory.md.