Linear MCP for AI agents

Agents read Linear MCP at once. Changes and sends are held for a person's approval by default.

About Linear MCP

Linear MCP lets agents find, create, and update issues, projects, comments, and related planning objects in a Linear workspace.

What an agent can do in Linear MCP

Every Linear MCP action is classed by the platform as a read, a change or a send. Reads run at once. Changes and sends are held for a person by default.

Runs at once (reads)

Looks things up in Linear MCP without asking first. 40 actions.

  • Extract imagesExtract and fetch images from markdown content. Use this to view screenshots, diagrams, or other images embedded in Linear issues, comments, or documents. Pass the markdown content (e.g., issue descri
  • Get agent skillRetrieve a Linear Agent skill by ID, including its full markdown instructions.
  • Get attachmentRetrieve an attachment's content by ID.
  • Get diffExact lookup for a Linear diff. Use with review URLs, GitHub PR URLs, Linear full identifiers, UUIDs, or slugs.
  • Get diff threadsExact lookup for diff threads and the authenticated user's drafts. Use with review URLs, GitHub PR URLs, Linear full identifiers, UUIDs, or slugs.
  • Get documentRetrieve a Linear document by ID or slug
  • Get initiativeRetrieve detailed information about a specific initiative in Linear
  • Get issueRetrieve detailed information about an issue by ID, including attachments, git branch name, and active Triage Intelligence suggestions when the issue is in triage
  • Get issue statusRetrieve detailed information about an issue status in Linear by name or ID
  • Get milestoneRetrieve details of a specific milestone by ID or name
  • Get notificationsGet a page of notifications from the authenticated user's Linear inbox.
  • Get projectRetrieve details of a specific project in Linear
Show all 40
  • Get releaseRetrieve details of a release by ID or slug.
  • Get release noteRetrieve release notes by ID or slug, including markdown content.
  • Get status updatesList or get project/initiative status updates. Pass `id` to get a specific update, or filter to list.
  • Get teamRetrieve details of a specific Linear team
  • Get templateRetrieve a Linear template by ID or name: the content it pre-fills, the ids it applies, its sub-issues, and its form fields. Pass the template to save_issue or save_project to apply it. References com
  • Get userRetrieve details of a specific Linear user
  • Get workspaceRetrieve the connected Linear workspace
  • List agent skillsList Linear Agent skills available to the authenticated user.
  • List commentsList comments on a Linear issue, project, initiative, document, project milestone, or project/initiative status update. Provide exactly one of `issueId`, `projectId`, `initiativeId`, `documentId`, `mi
  • List customersList customers in the user's Linear workspace
  • List cyclesRetrieve cycles for a specific Linear team
  • List diffsList Linear diff pull requests visible to the authenticated user
  • List documentsList documents in the user's Linear workspace
  • List initiative labelsList available initiative labels in the Linear workspace. A retired label carries `retiredAt` and cannot be applied to new initiatives.
  • List initiativesList initiatives in the user's Linear workspace
  • List issue labelsList available issue labels in a Linear workspace or team. A retired label carries `retiredAt` and cannot be applied to new issues.
  • List issuesList issues in the user's Linear workspace, including active Triage Intelligence suggestions for issues in triage. For my issues, use "me" as the assignee. Use "null" for no assignee.
  • List issue statusesList available issue statuses in a Linear team
  • List milestonesList all milestones in a Linear project
  • List project labelsList available project labels in the Linear workspace. A team-scoped label carries a `team` field; different teams can hold same-named labels, so check it before acting on an ID. A retired label carri
  • List projectsList projects in the user's Linear workspace
  • List release notesList release notes in the workspace, optionally filtered by pipeline or covered release.
  • List release pipelinesList release pipelines in the workspace.
  • List releasesList releases in the workspace, with optional filtering by pipeline, stage, version, and text.
  • List teamsList teams in the user's Linear workspace
  • List templatesList the Linear issue, project, and document templates available to the authenticated user. Use this to find the template a team expects, then call get_template for its content.
  • List usersRetrieve users in the Linear workspace
  • Search documentationSearch Linear's documentation to learn about features and usage

Held for approval by default (changes and sends)

Held for a person's approval by default. The approval is recorded and the action is sent once, never twice, with 10 seconds to undo. 38 actions.

  • Create attachmentDeprecated fallback for tiny files only. Accepts base64 file content, verifies SHA-256 checksum, and uploads it through the MCP worker. Prefer `prepare_attachment_upload` plus direct PUT plus `create_
  • Create attachment from uploadLink an already-uploaded Linear assetUrl to an existing issue as an attachment. Use this only after: 1. prepare_attachment_upload returned an assetUrl and uploadRequest. 2. The client successfully PUT
  • Create initiative labelCreate a new Linear initiative label. Deprecated: use `save_initiative_label`, which can also update labels.
  • Create issue labelCreate a new Linear issue label. Deprecated: use `save_issue_label`, which can also update labels.
  • Delete attachmentDelete an attachment by ID
  • Delete commentDelete a Linear comment. Inline description comments (those with non-null `quotedText`) anchor a mark in the editor, so their root cannot be deleted — delete the replies individually or resolve the th
  • Delete customerDelete a customer in Linear
  • Delete customer needArchive a customer need in Linear
  • Delete diff commentDelete a comment or persisted draft from a Linear diff
  • Delete status updateDelete (archive) a project or initiative status update.
  • Mark notificationMark a Linear inbox notification as read or unread, or snooze or unsnooze it.
  • Merge diffMerge a Linear diff or add it to the repository's merge queue
Show all 38
  • Prepare attachment uploadPrepare a direct Linear file upload for an existing issue. Workflow: 1. Call this tool with issue, filename, contentType, and size. 2. Upload raw bytes with PUT to uploadRequest.url outside MCP. 3. Al
  • Resolve diff threadResolve or reopen a top-level comment thread on a Linear diff
  • Restore initiative labelRestore a retired Linear initiative label, making it available for use on initiatives again. Restoring a label group also restores every child label, including any that were retired separately.
  • Restore issue labelRestore a retired Linear issue label, making it available for use on issues again. Restoring a label group also restores every child label, including any that were retired separately.
  • Restore project labelRestore a retired Linear project label, making it available for use on projects again. Restoring a label group also restores every child label, including any that were retired separately.
  • Retire initiative labelRetire a Linear initiative label so it cannot be applied to new initiatives. The label stays visible on initiatives that already have it. Retiring a label group also retires its child labels. Undo wit
  • Retire issue labelRetire a Linear issue label so it cannot be applied to new issues. The label stays visible on issues that already have it. Retiring a label group also retires its child labels. Undo with `restore_issu
  • Retire project labelRetire a Linear project label so it cannot be applied to new projects. The label stays visible on projects that already have it. Retiring a label group also retires its child labels. Undo with `restor
  • Save commentCreate or update a comment on a Linear issue, project, initiative, document, project milestone, or project/initiative status update. If `id` is provided, updates the existing comment; otherwise create
  • Save customerCreate or update a Linear customer. If `id` is provided, updates the existing customer; otherwise creates a new one. When creating, `name` is required.
  • Save customer needCreate or update a customer need (request) in Linear. If `id` is provided, updates the existing need; otherwise creates a new one. When creating, `body` is required.
  • Save diff commentCreate, reply to, or edit a comment or persisted draft on a Linear diff. Set draft to true to save without submitting. Provide draftId to edit or submit a persisted draft, and commentId only to edit a
  • Save documentCreate or update a Linear document. If `id` is provided, edits the existing document; otherwise creates a new one. When creating, `title` is required and exactly one parent (`project`, `issue`, `initi
  • Save initiativeCreate or update a Linear initiative. If `id` is provided, updates the existing initiative; otherwise creates a new one. When creating, `name` is required. To change parts of the description without r
  • Save initiative labelCreate or update a Linear initiative label. If `id` is provided, updates the existing label; otherwise creates a new one. When creating, `name` is required.
  • Save issueCreate or update a Linear issue. If `id` is provided, updates the existing issue; otherwise creates a new one. When creating, `team` is required, and `title` is required unless `template` is set. Note
  • Save issue labelCreate or update a Linear issue label. If `id` is provided, updates the existing label; otherwise creates a new one. When creating, `name` is required.
  • Save milestoneCreate or update a milestone in a Linear project. If `id` is provided, updates the existing milestone; otherwise creates a new one. When creating, `name` is required.
  • Save projectCreate or update a Linear project. If `id` is provided, updates the existing project; otherwise creates a new one. When creating, `name` and at least one team (via `addTeams` or `setTeams`) are requir
  • Save project labelCreate or update a Linear project label. If `id` is provided, updates the existing label; otherwise creates a new one. When creating, `name` is required.
  • Save releaseCreate or update a release. If `id` is provided, updates the existing release; otherwise creates a new one. When creating, `name` and `pipeline` are required. Release status is modeled as the release
  • Save release noteCreate or update release notes. If `id` is provided, updates the existing release notes; otherwise creates a new one. When creating, `pipeline` and either `releases` or a release range are required. T
  • Save status updateCreate or update a project/initiative status update. Omit `id` to create, provide `id` to update.
  • Share issueShare an issue with a workspace user who cannot otherwise access it. Use this tool only when the user explicitly asks to share the issue.
  • Submit diff reviewApprove a Linear diff, request changes, or submit a review comment
  • Unshare issueRemove a workspace user's shared access to an issue. Use this tool only when the user explicitly asks to stop sharing the issue.

Changes wait in Needs you

Changes and sends in Linear MCP are held for a person's approval by default. The approval is recorded, and the action is sent once, never twice, with 10 seconds to undo.

How approvals work

Linear MCP questions

Can an agent change data in Linear MCP on its own?

Not by default. Changes and sends in Linear MCP are held for a person's approval. The approval is recorded, and the action is sent once, never twice, with 10 seconds to undo.

What can an agent read in Linear MCP?

This connector lists 40 read actions. Reads run at once, without waiting for approval.

How does Linear MCP connect?

It connects with dcr oauth. Connectors are built and maintained by third-party developers; availability is confirmed during scoping.

Bring Linear MCP to your agents.