MCP Linear Tools

May 2, 2026 · View on GitHub

This document provides an overview of all implemented MCP Linear tools, plus the additional MCP-native resources and prompts exposed by the server.

Implemented Tools

The following tools are currently implemented and available in the MCP Linear:

MCP Resources

These are read-only MCP resources exposed by the server for higher-value Linear context retrieval.

Resource URI PatternDescriptionStatus
linear://viewerAuthenticated viewer profile✅ Implemented
linear://organizationCurrent Linear organization✅ Implemented
linear://teamsTeam list✅ Implemented
linear://projectsProject list✅ Implemented
linear://rate-limitShared MCP-side rate-limit status snapshot✅ Implemented
linear://resource-guideDynamic resource URI guide✅ Implemented
linear://project/{id}Project details✅ Implemented
linear://project/{id}/issues?...Filtered project issue summaries✅ Implemented
linear://project/{id}/documents?...Filtered project documents✅ Implemented
linear://issue/{id}Issue details✅ Implemented
linear://document/{id}Document details✅ Implemented
linear://roadmap/{id}Roadmap details✅ Implemented
linear://milestone/{id}Milestone details✅ Implemented

MCP Prompts

These are reusable MCP prompt templates exposed by the server for PM-oriented Linear workflows.

Prompt NameDescriptionStatus
summarize-project-statusSummarize project health using project, issue, and document context✅ Implemented
draft-project-updateDraft a project update from current project state✅ Implemented
triage-issueTriage an issue using canonical issue context✅ Implemented
summarize-documentSummarize a document and relate it to surrounding project context✅ Implemented

User & Organization Tools

Tool NameDescriptionStatus
linear_getViewerGet information about the currently authenticated user✅ Implemented
linear_getOrganizationGet information about the current Linear organization✅ Implemented
linear_getUsersGet a list of users in the Linear organization✅ Implemented
linear_getLabelsGet a list of issue labels from Linear✅ Implemented

Team Tools

Tool NameDescriptionStatus
linear_getTeamsGet a list of teams from Linear✅ Implemented
linear_updateTeamUpdate team settings✅ Implemented
linear_getTeamMembershipsGet team memberships✅ Implemented
linear_createTeamCreate a new team✅ Implemented
linear_archiveTeamArchive a team✅ Implemented
linear_addUserToTeamAdd a user to a team✅ Implemented
linear_removeUserFromTeamRemove a user from a team✅ Implemented
linear_updateTeamMembershipUpdate a user's role in a team✅ Implemented
linear_getTeamLabelsGet labels for a specific team✅ Implemented
linear_createTeamLabelCreate a new label for a team✅ Implemented

Workflow Tools

Tool NameDescriptionStatus
linear_getWorkflowStatesGet all workflow states for a team✅ Implemented
linear_createWorkflowStateCreate a new workflow state✅ Implemented
linear_updateWorkflowStateUpdate a workflow state✅ Implemented

Project Tools

Tool NameDescriptionStatus
linear_getProjectsGet a list of projects from Linear✅ Implemented
linear_createProjectCreate a new project in Linear✅ Implemented

Milestone Tools

Linear exposes milestones as ProjectMilestone in the SDK/API. Archiving is implemented via the SDK's deleteProjectMilestone mutation.

Tool NameDescriptionStatus
linear_getMilestonesGet a list of project milestones✅ Implemented
linear_getMilestoneByIdGet details of a specific project milestone✅ Implemented
linear_createMilestoneCreate a new project milestone✅ Implemented
linear_updateMilestoneUpdate an existing project milestone✅ Implemented
linear_archiveMilestoneArchive a project milestone✅ Implemented

Document Tools

Linear exposes workspace and project docs as Document in the SDK/API.

Tool NameDescriptionStatus
linear_getDocumentsGet workspace documents with optional filters✅ Implemented
linear_getDocumentByIdGet details of a specific document✅ Implemented
linear_getProjectDocumentsGet documents for a specific project✅ Implemented
linear_searchDocumentsSearch Linear documents by term✅ Implemented
linear_getDocumentContentHistoryGet content history entries for a document✅ Implemented
linear_createDocumentCreate a new Linear document✅ Implemented
linear_updateDocumentUpdate an existing Linear document✅ Implemented
linear_archiveDocumentArchive (trash) a document✅ Implemented
linear_unarchiveDocumentRestore an archived document✅ Implemented

Server Tools

These are MCP-server observability helpers for tool-only clients.

Tool NameDescriptionStatus
linear_getRateLimitStatusGet the shared Linear rate-limit cooldown snapshot✅ Implemented
linear_getServerStatusGet MCP Linear runtime status, counts, and rate-limit state✅ Implemented

Issue Tools

Tool NameDescriptionStatus
linear_getIssuesGet a list of recent issues from Linear✅ Implemented
linear_getIssueByIdGet a specific issue by ID or identifier (e.g., ABC-123)✅ Implemented
linear_searchIssuesSearch for issues with various filters✅ Implemented
linear_createIssueCreate a new issue in Linear✅ Implemented
linear_updateIssueUpdate an existing issue in Linear✅ Implemented
linear_createCommentAdd a comment to an issue in Linear✅ Implemented
linear_updateCommentUpdate an existing comment in Linear✅ Implemented
linear_deleteCommentDelete a comment in Linear✅ Implemented
linear_addIssueLabelAdd a label to an issue✅ Implemented
linear_removeIssueLabelRemove a label from an issue✅ Implemented

Issue Management Tools

Tool NameDescriptionStatus
linear_assignIssueAssign an issue to a user✅ Implemented
linear_subscribeToIssueSubscribe to issue updates✅ Implemented
linear_convertIssueToSubtaskConvert an issue to a subtask✅ Implemented
linear_createIssueRelationCreate relations between issues (blocks, is blocked by, etc.)✅ Implemented
linear_archiveIssueArchive an issue✅ Implemented
linear_setIssuePrioritySet the priority of an issue✅ Implemented
linear_transferIssueTransfer an issue to another team✅ Implemented
linear_duplicateIssueDuplicate an issue✅ Implemented
linear_getIssueHistoryGet the history of changes made to an issue✅ Implemented

Custom Field Tools

Tool NameDescriptionStatus
linear_getCustomFieldsGet the custom field definitions exposed by the authenticated Linear schema✅ Implemented
linear_getIssueCustomFieldsGet the custom field values currently set on an issue✅ Implemented
linear_updateIssueCustomFieldUpdate or clear a custom field value on an issue with JSON-compatible input and null clearing✅ Implemented

Comment Management Tools

Tool NameDescriptionStatus
linear_getCommentsGet all comments for an issue✅ Implemented

Project Management Tools

Tool NameDescriptionStatus
linear_updateProjectUpdate an existing project✅ Implemented
linear_createProjectUpdateCreate a new update for a project✅ Implemented
linear_updateProjectUpdateUpdate an existing project update✅ Implemented
linear_getProjectUpdatesGet updates for a project✅ Implemented
linear_archiveProjectArchive a project✅ Implemented
linear_addIssueToProjectAdd an existing issue to a project✅ Implemented
linear_removeIssueFromProjectRemove an existing issue from a project✅ Implemented
linear_getProjectIssuesGet project issues with PM filters✅ Implemented
linear_getProjectMembersGet members assigned to a project✅ Implemented
linear_addProjectMemberAdd a member to a project✅ Implemented
linear_removeProjectMemberRemove a member from a project✅ Implemented

Release Management Tools

This batch uses raw GraphQL instead of the installed SDK because the current public release schema is available but the local @linear/sdk package does not expose first-class release models yet. It now covers both the release/read note flows and the release pipeline/stage admin mutations exposed in the public alpha schema.

Tool NameDescriptionStatus
linear_getReleasePipelinesGet release pipelines from Linear✅ Implemented
linear_getReleasePipelineByIdGet details of a specific release pipeline✅ Implemented
linear_createReleasePipelineCreate a new release pipeline✅ Implemented
linear_updateReleasePipelineUpdate an existing release pipeline✅ Implemented
linear_archiveReleasePipelineArchive a release pipeline✅ Implemented
linear_unarchiveReleasePipelineUnarchive a release pipeline✅ Implemented
linear_deleteReleasePipelineDelete a release pipeline✅ Implemented
linear_getReleasesGet releases with optional pipeline and stage filters✅ Implemented
linear_getReleaseByIdGet details of a specific release✅ Implemented
linear_searchReleasesSearch releases by term, version, or pipeline name✅ Implemented
linear_getReleaseStagesGet release stages from Linear✅ Implemented
linear_createReleaseStageCreate a new release stage in a pipeline✅ Implemented
linear_updateReleaseStageUpdate an existing release stage✅ Implemented
linear_archiveReleaseStageArchive a release stage✅ Implemented
linear_unarchiveReleaseStageUnarchive a release stage✅ Implemented
linear_getReleaseNotesGet release notes from Linear✅ Implemented
linear_getReleaseNoteByIdGet details of a specific release note✅ Implemented
linear_createReleaseCreate a new release in a release pipeline✅ Implemented
linear_updateReleaseUpdate an existing release✅ Implemented
linear_completeReleaseMark a release as completed within a pipeline✅ Implemented

linear_completeRelease currently depends on the target pipeline already having a valid completed release stage in Linear. Fresh pipelines created through the public GraphQL release surface did not seed default stages in live validation, so completion can fail until that stage exists. | linear_archiveRelease | Archive a release | ✅ Implemented | | linear_unarchiveRelease | Unarchive a release | ✅ Implemented | | linear_addIssueToRelease | Add an issue to a release | ✅ Implemented | | linear_removeIssueFromRelease | Remove an issue from a release | ✅ Implemented | | linear_createReleaseNote | Create a release note from explicit release IDs or a release range | ✅ Implemented | | linear_updateReleaseNote | Update a release note's content or covered releases | ✅ Implemented | | linear_deleteReleaseNote | Delete a release note | ✅ Implemented |

Roadmap Tools

Tool NameDescriptionStatus
linear_getRoadmapsGet Linear roadmaps with optional archived filtering✅ Implemented
linear_getRoadmapByIdGet details of a specific roadmap✅ Implemented
linear_createRoadmapCreate a new roadmap✅ Implemented
linear_updateRoadmapUpdate an existing roadmap✅ Implemented
linear_archiveRoadmapArchive a roadmap✅ Implemented

Cycle Management Tools

Tool NameDescriptionStatus
linear_getCyclesGet a list of all cycles✅ Implemented
linear_getCycleByIdGet details of a specific cycle✅ Implemented
linear_createCycleCreate a new cycle✅ Implemented
linear_updateCycleUpdate an existing cycle✅ Implemented
linear_completeCycleMark a cycle as complete✅ Implemented
linear_getCycleStatsGet statistics for a cycle✅ Implemented
linear_getActiveCycleGet the currently active cycle for a team✅ Implemented
linear_getCycleIssuesGet cycle issues with PM filters✅ Implemented
linear_addIssueToCycleAdd an issue to a cycle✅ Implemented
linear_removeIssueFromCycleRemove an issue from a cycle✅ Implemented

Initiative Management Tools

Tool NameDescriptionStatus
linear_getInitiativesGet a list of initiatives from Linear✅ Implemented
linear_getInitiativeByIdGet details of a specific initiative✅ Implemented
linear_createInitiativeCreate a new initiative✅ Implemented
linear_updateInitiativeUpdate an existing initiative✅ Implemented
linear_archiveInitiativeArchive an initiative✅ Implemented
linear_unarchiveInitiativeUnarchive an initiative✅ Implemented
linear_deleteInitiativeDelete an initiative (move to trash)✅ Implemented
linear_getInitiativeProjectsGet all projects in an initiative✅ Implemented
linear_addProjectToInitiativeAdd a project to an initiative✅ Implemented
linear_removeProjectFromInitiativeRemove a project from an initiative✅ Implemented

Views and Filters

Linear calls these "saved views" in the product UI. The GraphQL API and SDK expose the same feature as CustomView.

Tool NameDescriptionStatus
linear_getSavedViewsGet Linear saved views (CustomView in the API/SDK)✅ Implemented
linear_createSavedViewCreate a new Linear saved view (createCustomView in the API/SDK)✅ Implemented
linear_updateSavedViewUpdate a Linear saved view (updateCustomView in the API/SDK)✅ Implemented
linear_deleteSavedViewDelete a Linear saved view (deleteCustomView in the API/SDK)✅ Implemented
linear_getFavoriteViewsGet favorite views, including both saved/custom views and predefined Linear views✅ Implemented
linear_addToFavoritesAdd an entity to the current user's favorites using schema-driven GraphQL mutation discovery✅ Implemented
linear_removeFromFavoritesRemove a favorite entry or entity from the current user's favorites using schema-driven GraphQL mutation discovery✅ Implemented

Template Tools

Tool NameDescriptionStatus
linear_getIssueTemplatesGet a list of issue templates✅ Implemented
linear_getIssueTemplateByIdGet details of a specific issue template✅ Implemented
linear_createIssueTemplateCreate a new issue template✅ Implemented
linear_updateIssueTemplateUpdate an existing issue template✅ Implemented
linear_createIssueFromTemplateCreate a new issue from a template✅ Implemented
linear_getTeamTemplatesGet templates for a specific team✅ Implemented
linear_archiveTemplateArchive an issue template✅ Implemented

Webhook and Attachment Tools

Tool NameDescriptionStatus
linear_getWebhooksGet a list of webhooks✅ Implemented
linear_createWebhookCreate a webhook for integration events✅ Implemented
linear_deleteWebhookDelete a webhook✅ Implemented
linear_getAttachmentsGet attachments for an issue✅ Implemented
linear_addAttachmentAdd an attachment to an issue✅ Implemented

Notification and Session Tools

Tool NameDescriptionStatus
linear_getNotificationsGet notifications for the current user✅ Implemented
linear_markNotificationAsReadMark a notification as read✅ Implemented
linear_getSubscriptionsGet subscriptions for the current user✅ Implemented
linear_markAllNotificationsAsReadMark all notifications as read✅ Implemented
linear_getUnreadNotificationCountGet count of unread notifications✅ Implemented
linear_getAuthenticationSessionsGet active authentication sessions✅ Implemented
linear_logoutSessionRevoke a specific session✅ Implemented
linear_logoutOtherSessionsRevoke all other sessions✅ Implemented
linear_logoutAllSessionsRevoke all sessions✅ Implemented

Audit and Integration Tools

Tool NameDescriptionStatus
linear_getOrganizationAuditEventsGet audit events for the organization✅ Implemented
linear_getUserAuditEventsGet audit events for a specific user✅ Implemented
linear_getIntegrationsGet a list of active integrations✅ Implemented

The following tools are recommended for future implementation based on the current Linear SDK shape and the patterns already used in this repository.

Items that looked conceptually mismatched with the current SDK or too speculative for this repo have been removed or moved to lower-priority sections.

Comment Management

Comment CRUD is now covered.

Project Management

Project membership is now covered.

Cycle Management

Cycle CRUD and cycle statistics are now covered.

Roadmap Project Association

Linear roadmaps appear to model project associations rather than a generic roadmap-item abstraction in the current SDK.

Tool NameDescriptionPriorityStatus
linear_getRoadmapProjectsGet projects associated with a roadmapMedium📝 Planned
linear_addProjectToRoadmapAdd a project to a roadmapMedium📝 Planned
linear_removeProjectFromRoadmapRemove a project from a roadmapMedium📝 Planned

Milestone Management

Linear milestones currently appear to belong to a single project in the SDK. Reassignment may be feasible; true multi-project milestone membership does not appear to be.

Tool NameDescriptionPriorityStatus
linear_reassignMilestoneProjectReassign a milestone to a different projectMedium❓ Under Consideration

Workflow Management

Tool NameDescriptionPriorityStatus
linear_reorderWorkflowStatesChange the order of workflow statesLow❓ Under Consideration

Team Management

Team settings, memberships, and team label management are now covered.

Custom Fields

The repo already supports custom field discovery and issue value reads/updates. Admin CRUD appears to require the same kind of schema-driven GraphQL work used by the existing custom field support.

Tool NameDescriptionPriorityStatus
linear_getTeamCustomFieldsGet custom fields for a specific teamMedium📝 Planned
linear_createCustomFieldCreate a new custom fieldLow❓ Under Consideration
linear_updateCustomFieldUpdate a custom fieldLow❓ Under Consideration
linear_deleteCustomFieldDelete a custom fieldLow❓ Under Consideration

Issue Templates

Issue template management is now covered.

Import and Export

Bulk import/export is feasible, but it does not map cleanly to first-class SDK batch primitives. This likely belongs at a repo-orchestration layer rather than a thin Linear wrapper.

Tool NameDescriptionPriorityStatus
linear_bulkCreateIssuesCreate multiple issues at onceMedium📝 Planned
linear_exportIssuesExport issues to a structured formatLow📝 Planned
linear_importIssuesImport issues from a structured formatLow📝 Planned
linear_importCsvDataImport data from CSVLow❓ Under Consideration

Webhooks and Attachments

These are directly supported by the current SDK and fit the repo well.

Webhooks, attachment reads, and attachment creation are now covered.

Integrations

Provider integrations mostly involve OAuth or provider-specific setup flows, so they are a weaker fit for this repo’s current MCP surface.

Tool NameDescriptionPriorityStatus
linear_getIntegrationsGet a list of active integrationsLow✅ Implemented
linear_createIntegrationCreate a new integrationLow❓ Under Consideration
linear_removeIntegrationRemove an integrationLow❓ Under Consideration

Notifications and Subscriptions

Tool NameDescriptionPriorityStatus
linear_getNotificationsGet notifications for the current userMedium✅ Implemented
linear_markNotificationAsReadMark a notification as readMedium✅ Implemented
linear_getSubscriptionsGet subscriptions for the current userLow✅ Implemented
linear_manageSubscriptionSubscribe or unsubscribe from an entityLow❓ Under Consideration
linear_markAllNotificationsAsReadMark all notifications as readMedium✅ Implemented
linear_getUnreadNotificationCountGet count of unread notificationsMedium✅ Implemented

Favorites and Pinning

The repo already supports favorite views plus favorite add/remove mutations. Generic pinning does not appear to map cleanly to the current SDK.

Tool NameDescriptionPriorityStatus
linear_getFavoritesGet a list of user's favorite itemsMedium📝 Planned
linear_pinIssuePin an issue to the top of a listMedium❓ Under Consideration
linear_unpinIssueUnpin an issueMedium❓ Under Consideration

User Preferences

Tool NameDescriptionPriorityStatus
linear_getUserPreferencesGet user preferencesLow📝 Planned
linear_updateUserPreferencesUpdate user preferencesLow📝 Planned
linear_getUserSettingsGet user application settingsLow📝 Planned
linear_updateUserSettingsUpdate user application settingsLow📝 Planned

Metrics and Reporting

Rich reporting support appears thin in the current SDK beyond export/report helper surfaces, so these remain speculative until we have specific use cases.

Tool NameDescriptionPriorityStatus
linear_getTeamCyclesGet information about team cyclesMedium📝 Planned
linear_getTeamMetricsGet performance metrics for a teamLow❓ Under Consideration
linear_getIssueAnalyticsGet analytics for issues (cycle time, etc.)Medium❓ Under Consideration
linear_generateReportGenerate a custom reportLow❓ Under Consideration
linear_getVelocityMetricsGet team velocity metricsMedium❓ Under Consideration
linear_getCompletionRateMetricsGet completion rate metricsMedium❓ Under Consideration
linear_getTimeToResolutionMetricsGet time-to-resolution metricsMedium❓ Under Consideration

Audit and History

Tool NameDescriptionPriorityStatus
linear_getTeamAuditEventsGet audit events for a specific teamMedium❓ Under Consideration
linear_getEntityHistoryGet the history of changes for an entityMedium📝 Planned

Sessions and Authentication

Session and audit reads are a better fit for this repo than broader API-key or OAuth-client admin flows.

Tool NameDescriptionPriorityStatus
linear_getAuthenticationSessionsGet active authentication sessionsLow✅ Implemented
linear_logoutSessionRevoke a specific sessionLow✅ Implemented
linear_logoutOtherSessionsRevoke all other sessionsLow✅ Implemented
linear_logoutAllSessionsRevoke all sessionsLow✅ Implemented

Implementation Guide

When implementing new tools, follow these steps:

  1. Add a new tool definition in the appropriate file under src/tools/definitions/
  2. Implement the handler function in src/tools/handlers/
  3. Add any necessary type guards in src/tools/type-guards.ts
  4. Add any required methods to the LinearService class in src/services/linear-service.ts
  5. Register the tool in src/tools/definitions/index.ts
  6. Register the handler in src/tools/handlers/index.ts
  7. Update this document to mark the tool as implemented

Status Legend

  • ✅ Implemented: Tool is fully implemented and tested
  • 🔄 In Progress: Tool is currently being implemented
  • 📝 Planned: Tool is planned for future implementation
  • ❓ Under Consideration: Tool is being considered, but not yet planned