Skip to content

Latest commit

 

History

History
567 lines (438 loc) · 46.1 KB

File metadata and controls

567 lines (438 loc) · 46.1 KB

MCP Linear Tools

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 Pattern Description Status
linear://viewer Authenticated viewer profile ✅ Implemented
linear://organization Current Linear organization ✅ Implemented
linear://teams Team list ✅ Implemented
linear://projects Project list ✅ Implemented
linear://rate-limit Shared MCP-side rate-limit status snapshot ✅ Implemented
linear://resource-guide Dynamic 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 Name Description Status
summarize-project-status Summarize project health using project, issue, and document context ✅ Implemented
draft-project-update Draft a project update from current project state ✅ Implemented
triage-issue Triage an issue using canonical issue context ✅ Implemented
summarize-document Summarize a document and relate it to surrounding project context ✅ Implemented

User & Organization Tools

Tool Name Description Status
linear_getViewer Get information about the currently authenticated user ✅ Implemented
linear_getOrganization Get information about the current Linear organization ✅ Implemented
linear_getUsers Get a list of users in the Linear organization ✅ Implemented
linear_getLabels Get a list of issue labels from Linear ✅ Implemented

Team Tools

Tool Name Description Status
linear_getTeams Get a list of teams from Linear ✅ Implemented
linear_updateTeam Update team settings ✅ Implemented
linear_getTeamMemberships Get team memberships ✅ Implemented
linear_createTeam Create a new team ✅ Implemented
linear_archiveTeam Archive a team ✅ Implemented
linear_addUserToTeam Add a user to a team ✅ Implemented
linear_removeUserFromTeam Remove a user from a team ✅ Implemented
linear_updateTeamMembership Update a user's role in a team ✅ Implemented
linear_getTeamLabels Get labels for a specific team ✅ Implemented
linear_createTeamLabel Create a new label for a team ✅ Implemented

Workflow Tools

Tool Name Description Status
linear_getWorkflowStates Get all workflow states for a team ✅ Implemented
linear_createWorkflowState Create a new workflow state ✅ Implemented
linear_updateWorkflowState Update a workflow state ✅ Implemented

Project Tools

Tool Name Description Status
linear_getProjects Get a list of projects from Linear ✅ Implemented
linear_getProjectById Get details of a specific project ✅ Implemented
linear_createProject Create 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 Name Description Status
linear_getMilestones Get a list of project milestones ✅ Implemented
linear_getMilestoneById Get details of a specific project milestone ✅ Implemented
linear_createMilestone Create a new project milestone ✅ Implemented
linear_updateMilestone Update an existing project milestone ✅ Implemented
linear_archiveMilestone Archive a project milestone ✅ Implemented

Document Tools

Linear exposes workspace, project, initiative, team, issue, release, and cycle docs as Document in the API. Team home resource sections use a narrow GraphQL query so MCP responses include richer pinned document/link details than the generated SDK fragment.

Tool Name Description Status
linear_getDocuments Get workspace documents with optional filters ✅ Implemented
linear_getDocumentById Get details of a specific document ✅ Implemented
linear_getProjectDocuments Get documents for a specific project ✅ Implemented
linear_getInitiativeDocuments Get documents for a specific initiative ✅ Implemented
linear_getTeamDocuments Get documents associated with a specific team ✅ Implemented
linear_getIssueDocuments Get documents associated with a specific issue ✅ Implemented
linear_getReleaseDocuments Get documents associated with a specific release ✅ Implemented
linear_getCycleDocuments Get documents associated with a specific cycle ✅ Implemented
linear_getTeamResources Get team home sections and pinned docs/links ✅ Implemented
linear_searchDocuments Search Linear documents by term ✅ Implemented
linear_getDocumentContentHistory Get content history entries and metadata ✅ Implemented
linear_createDocument Create a new Linear document ✅ Implemented
linear_updateDocument Update an existing Linear document ✅ Implemented
linear_archiveDocument Archive (trash) a document ✅ Implemented
linear_unarchiveDocument Restore an archived document ✅ Implemented

Server Tools

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

Tool Name Description Status
linear_getRateLimitStatus Get the shared Linear rate-limit cooldown snapshot ✅ Implemented
linear_getServerStatus Get MCP Linear runtime status, counts, and rate-limit state ✅ Implemented

Issue Tools

Tool Name Description Status
linear_getIssues Get a list of recent issues from Linear ✅ Implemented
linear_getIssueById Get a specific issue by ID or identifier (e.g., ABC-123) ✅ Implemented
linear_searchIssues Search for issues with various filters ✅ Implemented
linear_createIssue Create a new issue in Linear ✅ Implemented
linear_updateIssue Update an existing issue in Linear ✅ Implemented
linear_createComment Add a comment to an issue, project, initiative, update, document content, post, or thread ✅ Implemented
linear_updateComment Update an existing comment in Linear ✅ Implemented
linear_deleteComment Delete a comment in Linear ✅ Implemented
linear_addIssueLabel Add a label to an issue ✅ Implemented
linear_removeIssueLabel Remove a label from an issue ✅ Implemented

Issue Management Tools

Tool Name Description Status
linear_assignIssue Assign an issue to a user ✅ Implemented
linear_subscribeToIssue Subscribe to issue updates ✅ Implemented
linear_convertIssueToSubtask Convert an issue to a subtask ✅ Implemented
linear_createIssueRelation Create relations between issues (blocks, is blocked by, etc.) ✅ Implemented
linear_deleteIssueRelation Delete an issue relation ✅ Implemented
linear_archiveIssue Archive an issue ✅ Implemented
linear_setIssuePriority Set the priority of an issue ✅ Implemented
linear_transferIssue Transfer an issue to another team ✅ Implemented
linear_duplicateIssue Duplicate an issue ✅ Implemented
linear_getIssueHistory Get the history of changes made to an issue ✅ Implemented

Custom Field Tools

Tool Name Description Status
linear_getCustomFields Get the custom field definitions exposed by the authenticated Linear schema ✅ Implemented
linear_getIssueCustomFields Get the custom field values currently set on an issue ✅ Implemented
linear_updateIssueCustomField Update or clear a custom field value on an issue with JSON-compatible input and null clearing ✅ Implemented

Comment Management Tools

Tool Name Description Status
linear_getComments Get comments for an issue, project, initiative, update, document content, or post with pagination ✅ Implemented

Project Management Tools

Tool Name Description Status
linear_updateProject Update an existing project, including status, dates, members, lead, icon, and color ✅ Implemented
linear_createProjectUpdate Create a new update for a project with diff controls and fields in the response ✅ Implemented
linear_updateProjectUpdate Update an existing project update with diff controls and fields in the response ✅ Implemented
linear_getProjectUpdateById Get a specific project update, including diff metadata ✅ Implemented
linear_getProjectUpdates Get updates for a project, including Linear diff metadata ✅ Implemented
linear_archiveProjectUpdate Archive a project update ✅ Implemented
linear_unarchiveProjectUpdate Restore an archived project update ✅ Implemented
linear_deleteProjectUpdate Delete a project update ✅ Implemented
linear_archiveProject Archive a project ✅ Implemented
linear_addIssueToProject Add an existing issue to a project ✅ Implemented
linear_removeIssueFromProject Remove an existing issue from a project ✅ Implemented
linear_getProjectIssues Get project issues with PM filters ✅ Implemented
linear_getProjectMembers Get members assigned to a project ✅ Implemented
linear_addProjectMember Add a member to a project ✅ Implemented
linear_removeProjectMember Remove a member from a project ✅ Implemented

Release Management Tools

Release and release pipeline tools use focused GraphQL where this server needs custom response shaping for release notes, pipeline stages, and admin mutations. The package now targets the current @linear/sdk baseline.

Tool Name Description Status
linear_getReleasePipelines Get release pipelines from Linear ✅ Implemented
linear_getReleasePipelineById Get details of a specific release pipeline ✅ Implemented
linear_createReleasePipeline Create a new release pipeline ✅ Implemented
linear_updateReleasePipeline Update an existing release pipeline ✅ Implemented
linear_archiveReleasePipeline Archive a release pipeline ✅ Implemented
linear_unarchiveReleasePipeline Unarchive a release pipeline ✅ Implemented
linear_deleteReleasePipeline Delete a release pipeline ✅ Implemented
linear_getReleases Get releases with optional pipeline and stage filters ✅ Implemented
linear_getReleaseById Get details of a specific release ✅ Implemented
linear_searchReleases Search releases by term, version, or pipeline name ✅ Implemented
linear_getReleaseStages Get release stages from Linear ✅ Implemented
linear_createReleaseStage Create a new release stage in a pipeline ✅ Implemented
linear_updateReleaseStage Update an existing release stage ✅ Implemented
linear_archiveReleaseStage Archive a release stage ✅ Implemented
linear_unarchiveReleaseStage Unarchive a release stage ✅ Implemented
linear_getReleaseNotes Get release notes from Linear ✅ Implemented
linear_getReleaseNoteById Get details of a specific release note ✅ Implemented
linear_createRelease Create a new release in a release pipeline ✅ Implemented
linear_updateRelease Update an existing release ✅ Implemented
linear_completeRelease Mark 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 Name Description Status
linear_getRoadmaps Get Linear roadmaps with optional archived filtering ✅ Implemented
linear_getRoadmapById Get details of a specific roadmap ✅ Implemented
linear_createRoadmap Create a new roadmap ✅ Implemented
linear_updateRoadmap Update an existing roadmap ✅ Implemented
linear_archiveRoadmap Archive a roadmap ✅ Implemented

Cycle Management Tools

Tool Name Description Status
linear_getCycles Get a list of all cycles ✅ Implemented
linear_getCycleById Get details of a specific cycle ✅ Implemented
linear_createCycle Create a new cycle ✅ Implemented
linear_updateCycle Update an existing cycle ✅ Implemented
linear_completeCycle Mark a cycle as complete ✅ Implemented
linear_getCycleStats Get statistics for a cycle ✅ Implemented
linear_getActiveCycle Get the currently active cycle for a team ✅ Implemented
linear_getCycleIssues Get cycle issues with PM filters ✅ Implemented
linear_addIssueToCycle Add an issue to a cycle ✅ Implemented
linear_removeIssueFromCycle Remove an issue from a cycle ✅ Implemented

Initiative Management Tools

Tool Name Description Status
linear_getInitiatives Get a list of initiatives from Linear ✅ Implemented
linear_getInitiativeById Get details of a specific initiative ✅ Implemented
linear_createInitiative Create a new initiative ✅ Implemented
linear_updateInitiative Update an existing initiative ✅ Implemented
linear_archiveInitiative Archive an initiative ✅ Implemented
linear_unarchiveInitiative Unarchive an initiative ✅ Implemented
linear_deleteInitiative Delete an initiative (move to trash) ✅ Implemented
linear_getInitiativeProjects Get all projects in an initiative ✅ Implemented
linear_addProjectToInitiative Add a project to an initiative ✅ Implemented
linear_removeProjectFromInitiative Remove a project from an initiative ✅ Implemented
linear_getInitiativeUpdateById Get a specific initiative update, including diff metadata ✅ Implemented
linear_getInitiativeUpdates Get updates for an initiative, including Linear diff metadata ✅ Implemented
linear_createInitiativeUpdate Create a new initiative update ✅ Implemented
linear_updateInitiativeUpdate Update an existing initiative update ✅ Implemented
linear_archiveInitiativeUpdate Archive an initiative update ✅ Implemented
linear_unarchiveInitiativeUpdate Restore an archived initiative update ✅ Implemented

Customer Tools

Linear exposes customer data and customer requests/needs through the SDK. Customer needs can be linked to issues or projects.

Tool Name Description Status
linear_getCustomers Get customers with optional filters ✅ Implemented
linear_getCustomerById Get details of a specific customer ✅ Implemented
linear_createCustomer Create a customer ✅ Implemented
linear_updateCustomer Update a customer ✅ Implemented
linear_deleteCustomer Delete a customer ✅ Implemented
linear_getCustomerNeeds Get customer needs with optional filters ✅ Implemented
linear_getCustomerNeedById Get details of a specific customer need ✅ Implemented
linear_createCustomerNeed Create a customer need linked to an issue or project ✅ Implemented
linear_createCustomerNeedFromAttachment Create a customer need from an attachment ✅ Implemented
linear_updateCustomerNeed Update a customer need ✅ Implemented
linear_archiveCustomerNeed Archive a customer need ✅ Implemented
linear_unarchiveCustomerNeed Restore an archived customer need ✅ Implemented
linear_deleteCustomerNeed Delete a customer need ✅ Implemented
linear_getCustomerStatuses Get customer statuses ✅ Implemented
linear_getCustomerTiers Get customer tiers ✅ 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 Name Description Status
linear_getSavedViews Get Linear saved views (CustomView in the API/SDK) ✅ Implemented
linear_createSavedView Create a new Linear saved view (createCustomView in the API/SDK) ✅ Implemented
linear_updateSavedView Update a Linear saved view (updateCustomView in the API/SDK) ✅ Implemented
linear_deleteSavedView Delete a Linear saved view (deleteCustomView in the API/SDK) ✅ Implemented
linear_getFavoriteViews Get favorite views, including both saved/custom views and predefined Linear views ✅ Implemented
linear_addToFavorites Add an entity to the current user's favorites using schema-driven GraphQL mutation discovery ✅ Implemented
linear_removeFromFavorites Remove a favorite entry or entity from the current user's favorites using schema-driven GraphQL mutation discovery ✅ Implemented

Template Tools

Tool Name Description Status
linear_getIssueTemplates Get a list of issue templates ✅ Implemented
linear_getIssueTemplateById Get details of a specific issue template ✅ Implemented
linear_createIssueTemplate Create a new issue template ✅ Implemented
linear_updateIssueTemplate Update an existing issue template ✅ Implemented
linear_createIssueFromTemplate Create a new issue from a template ✅ Implemented
linear_getTeamTemplates Get templates for a specific team ✅ Implemented
linear_archiveTemplate Archive an issue template ✅ Implemented

Webhook and Attachment Tools

Tool Name Description Status
linear_getWebhooks Get a list of workspace webhooks ✅ Implemented
linear_getWebhookById Get one workspace webhook ✅ Implemented
linear_createWebhook Create a workspace webhook ✅ Implemented
linear_updateWebhook Update a workspace webhook ✅ Implemented
linear_rotateWebhookSecret Rotate and return a new webhook signing secret ✅ Implemented
linear_deleteWebhook Delete a workspace webhook ✅ Implemented
linear_getAttachments Get attachments for an issue ✅ Implemented
linear_addAttachment Add an attachment to an issue ✅ Implemented

Workspace webhooks are separate from the installation webhook configured on an OAuth application. Workspace webhook reads and mutations require a workspace administrator or an OAuth token with Linear's admin scope. Secret rotation returns the replacement secret once and invalidates the previous signing secret immediately; callers that let Linear generate a secret during creation can rotate it before enabling deliveries to capture a known value securely.

Linear types ordinary workspace-webhook resourceTypes as a list of strings, so those tools accept unique non-empty resource names without freezing the surface to today's OAuth installation-webhook enum. OAuth application webhooks remain validated against Linear's current 22-value manifest/GraphQL enum.

Webhook destinations must be publicly reachable HTTPS URLs. Runtime validation rejects embedded URL credentials and obvious loopback, private-network, link-local, and local-hostname destinations.

OAuth Application Tools

Tool Name Description Status
linear_generateOAuthApplicationSetup Generate an official manifest and pre-filled setup URL; a human confirms it ✅ Implemented
linear_generateOAuthAuthorizationUrl Generate a validated OAuth authorization URL and scope request ✅ Implemented
linear_createOAuthClientCredentialsToken Issue a scoped app-actor token for server-to-server pipelines ✅ Implemented
linear_getManagedOAuthApplications List child OAuth apps owned by the calling OAuth application ✅ Implemented
linear_getManagedOAuthApplicationById Get one child OAuth app owned by the calling OAuth application ✅ Implemented
linear_createManagedOAuthApplication Create a child OAuth app and return its one-time secrets ✅ Implemented
linear_updateManagedOAuthApplication Update a child OAuth app ✅ Implemented
linear_archiveManagedOAuthApplication Archive a child OAuth app ✅ Implemented
linear_rotateManagedOAuthApplicationSecret Rotate and return a child app's client secret ✅ Implemented
linear_rotateManagedOAuthApplicationWebhookSecret Rotate and return a child app's installation-webhook secret ✅ Implemented

Linear exposes managed OAuth application lifecycle operations as an alpha GraphQL surface and does not yet include first-class methods for them in @linear/sdk; this server therefore uses minimal raw GraphQL for that slice. The operations only manage applications created by the calling OAuth application. Configure LINEAR_OAUTH_ACCESS_TOKEN or --oauth-token with an eligible managing application's access token; a personal API key has no calling OAuth application identity and cannot use these operations.

One server process uses one Linear credential. When the managing app uses actor=app (which cannot receive admin), use separate MCP server entries for managed-child-app operations and admin-scoped workspace webhooks, or use an eligible user-actor OAuth token with admin for the webhook entry.

For the common API-key workflow, linear_generateOAuthApplicationSetup does not claim to create anything. It returns a manifest plus Linear's official pre-filled creation URL, where a workspace administrator reviews and confirms the app. The manifest supports authorization_code and client_credentials grants and OAuth installation webhooks.

Scopes are grants requested through /oauth/authorize or /oauth/token, not fields stored on an OAuth application. linear_generateOAuthAuthorizationUrl validates Linear's current user and app-actor scopes and rejects the unsupported actor=app plus admin combination. linear_createOAuthClientCredentialsToken completes the non-interactive pipeline flow by issuing an app-actor token directly from a client ID and secret.

Client-credentials tokens normally last 30 days and do not include refresh tokens. Linear allows multiple active tokens only when they share the same scope set; requesting a different scope set revokes existing app-actor tokens. Token issuance therefore requires explicit acknowledgement of both secret exposure and scope-change risk. See Linear's OAuth guide, agent scopes, and manifest format.

All operations that return a newly generated secret require confirmSecretExposure: true. Client secrets and signing secrets are one-time values and should be transferred directly to a secret manager.

Notification and Session Tools

Tool Name Description Status
linear_getNotifications Get notifications for the current user ✅ Implemented
linear_markNotificationAsRead Mark a notification as read ✅ Implemented
linear_getSubscriptions Get subscriptions for the current user ✅ Implemented
linear_markAllNotificationsAsRead Mark all notifications as read ✅ Implemented
linear_getUnreadNotificationCount Get count of unread notifications ✅ Implemented
linear_getAuthenticationSessions Get active authentication sessions ✅ Implemented
linear_logoutSession Revoke a specific session ✅ Implemented
linear_logoutOtherSessions Revoke all other sessions ✅ Implemented
linear_logoutAllSessions Revoke all sessions ✅ Implemented

Audit and Integration Tools

Tool Name Description Status
linear_getOrganizationAuditEvents Get audit events for the organization ✅ Implemented
linear_getUserAuditEvents Get audit events for a specific user ✅ Implemented
linear_getIntegrations Get a list of active integrations ✅ Implemented

Recommended Future Tools

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.

Recent Linear Surfaces Without Stable Tool Parity

These were reviewed against the current SDK/changelog but are intentionally not exposed as MCP tools yet because they do not have a stable SDK-backed request/response shape in this repo.

Surface Current Status
Linear Diffs review operations Product feature is available in Linear, but review/diff mutations are not exposed as stable SDK primitives for this MCP surface
Shared Linear Agent skills / AgentSkill migration GraphQL types exist, but this repo does not yet expose an SDK-backed skills management surface
Team resource section/pin writes Team resource reads are implemented; section/pin creation and reordering remain SDK/schema-gap candidates
GraphQL subscriptions and realtime updates Supported by Linear's API, but not a good fit for this server's current stateless request/response tool model

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 Name Description Priority Status
linear_getRoadmapProjects Get projects associated with a roadmap Medium 📝 Planned
linear_addProjectToRoadmap Add a project to a roadmap Medium 📝 Planned
linear_removeProjectFromRoadmap Remove a project from a roadmap Medium 📝 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 Name Description Priority Status
linear_reassignMilestoneProject Reassign a milestone to a different project Medium ❓ Under Consideration

Workflow Management

Tool Name Description Priority Status
linear_reorderWorkflowStates Change the order of workflow states Low ❓ Under Consideration

Team Management

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

Customers and Customer Needs

Customer records, customer statuses/tiers, and customer needs linked to issues or projects 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 Name Description Priority Status
linear_getTeamCustomFields Get custom fields for a specific team Medium 📝 Planned
linear_createCustomField Create a new custom field Low ❓ Under Consideration
linear_updateCustomField Update a custom field Low ❓ Under Consideration
linear_deleteCustomField Delete a custom field Low ❓ 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 Name Description Priority Status
linear_bulkCreateIssues Create multiple issues at once Medium 📝 Planned
linear_exportIssues Export issues to a structured format Low 📝 Planned
linear_importIssues Import issues from a structured format Low 📝 Planned
linear_importCsvData Import data from CSV Low ❓ Under Consideration

Webhooks and Attachments

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

The workspace webhook lifecycle, 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 Name Description Priority Status
linear_getIntegrations Get a list of active integrations Low ✅ Implemented
linear_createIntegration Create a new integration Low ❓ Under Consideration
linear_removeIntegration Remove an integration Low ❓ Under Consideration

Notifications and Subscriptions

Tool Name Description Priority Status
linear_getNotifications Get notifications for the current user Medium ✅ Implemented
linear_markNotificationAsRead Mark a notification as read Medium ✅ Implemented
linear_getSubscriptions Get subscriptions for the current user Low ✅ Implemented
linear_manageSubscription Subscribe or unsubscribe from an entity Low ❓ Under Consideration
linear_markAllNotificationsAsRead Mark all notifications as read Medium ✅ Implemented
linear_getUnreadNotificationCount Get count of unread notifications Medium ✅ 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 Name Description Priority Status
linear_getFavorites Get a list of user's favorite items Medium 📝 Planned
linear_pinIssue Pin an issue to the top of a list Medium ❓ Under Consideration
linear_unpinIssue Unpin an issue Medium ❓ Under Consideration

User Preferences

Tool Name Description Priority Status
linear_getUserPreferences Get user preferences Low 📝 Planned
linear_updateUserPreferences Update user preferences Low 📝 Planned
linear_getUserSettings Get user application settings Low 📝 Planned
linear_updateUserSettings Update user application settings Low 📝 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 Name Description Priority Status
linear_getTeamCycles Get information about team cycles Medium 📝 Planned
linear_getTeamMetrics Get performance metrics for a team Low ❓ Under Consideration
linear_getIssueAnalytics Get analytics for issues (cycle time, etc.) Medium ❓ Under Consideration
linear_generateReport Generate a custom report Low ❓ Under Consideration
linear_getVelocityMetrics Get team velocity metrics Medium ❓ Under Consideration
linear_getCompletionRateMetrics Get completion rate metrics Medium ❓ Under Consideration
linear_getTimeToResolutionMetrics Get time-to-resolution metrics Medium ❓ Under Consideration

Audit and History

Tool Name Description Priority Status
linear_getTeamAuditEvents Get audit events for a specific team Medium ❓ Under Consideration
linear_getEntityHistory Get the history of changes for an entity Medium 📝 Planned

Sessions and Authentication

Session management and managed OAuth application workflows are covered. Personal API-key creation remains a Linear settings operation and is intentionally not exposed as an MCP tool.

Tool Name Description Priority Status
linear_getAuthenticationSessions Get active authentication sessions Low ✅ Implemented
linear_logoutSession Revoke a specific session Low ✅ Implemented
linear_logoutOtherSessions Revoke all other sessions Low ✅ Implemented
linear_logoutAllSessions Revoke all sessions Low ✅ 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