Linear
Issue tracking and project management for product teams.
Verdict
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 issuedestructive
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 issuedestructive
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
- 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
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.
@Linear show me all open issues assigned to me in the current cycle, grouped by priority
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.
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.
@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
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.
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.
@Linear review all issues closed in the last sprint and draft a release note highlighting the top 5 user-facing improvements
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.
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
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.
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.
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.