mcp-linear-adapter
A Model Context Protocol (MCP) intermediary designed to facilitate seamless, programmatic interaction between Large Language Models (LLMs) and the Linear issue tracking and project management platform via its GraphQL API. It standardizes workflows for managing tasks, projects, and team activities.
Author

magarcia
Quick Info
Actions
Tags
Linear MCP Integration Service
This service implements the Model Context Protocol (MCP) specification to interface with the comprehensive Linear Application Programming Interface (API), specifically leveraging its GraphQL capabilities.
This adapter enables AI agents to execute complex operational tasks within the Linear environment, such as issue creation, status modification, and project tracking retrieval.
Deployment Instructions
Automated Provisioning
Utilize the Smithery CLI for rapid, automated setup tailored for clients like Claude Desktop:
bash npx @smithery/cli install mcp-server-linearapp --client claude
Manual Configuration
-
Credential Acquisition: Secure a personal API access token from the Linear security settings page: https://linear.app/settings/account/security
-
Configuration File Update: Inject the server configuration into your client's local settings file:
- Location (macOS):
~/Library/Application Support/Claude/claude_desktop_config.json
{ "mcpServers": { "linear": { "command": "npx", "args": ["-y", "mcp-server-linearapp"], "env": { "LINEAR_API_KEY": "YOUR_SECRET_LINEAR_API_TOKEN_HERE" } } } }
Exposed Capabilities (Tools)
User Context & Assignment Querying
linear_get_viewer: Retrieves identity and profile details for the currently authenticated operator.linear_get_user_issues: Fetches issues associated with a specified user (defaults to the authenticated user).linear_get_user_teams: Lists team memberships for a user, with options for pagination and archive inclusion.linear_get_user_projects: Lists projects where the user is either a designated lead or a contributing member.
Organizational Structure Management
linear_get_teams: Enumerates all teams present within the organization's scope.linear_get_team: Fetches granular metadata for a single specified team identifier.linear_get_team_issues: Retrieves all work items pertinent to a designated team, supporting filtering by status or assignee.
Project Lifecycle Tools
linear_get_projects: Lists all defined projects, allowing filtering by associated team or lifecycle status.linear_get_project: Provides in-depth reporting on a specific project entity.linear_get_project_issues: Extracts the backlog or current task set tied to a particular project.
Issue Manipulation & Tracking
linear_create_issue: Generates a novel tracking item within a specified team structure.linear_update_issue: Modifies attributes (e.g., summary, priority, state) of an existing work item.linear_search_issues: Executes flexible, full-text, and metadata-driven searches across the issue database.linear_add_comment: Injects textual feedback or updates directly onto an issue thread.
Categorization and Tagging
linear_get_labels: Retrieves the catalog of available organizational or team-specific tags.linear_create_label: Establishes a new classification tag.linear_update_label: Alters the definition or metadata of an existing tag.
Supplementary Item Management
linear_add_attachment: Associates external resources (via URL) with an issue.linear_get_attachments: Lists existing external media linked to an issue.
Dependency Mapping
linear_link_issues: Establishes explicit directional relationships (e.g., blocking, duplicating) between two items.linear_get_issue_relations: Inspects the established dependency graph connected to an issue.
Iteration/Milestone Planning
linear_get_milestones: Queries the defined target delivery points (milestones) associated with a project.linear_create_milestone: Formalizes a new delivery objective with a target completion date.linear_update_milestone: Adjusts the parameters or completion status of a planned objective.
Resolvable Artifacts (Resources)
linear-issue:///{issueId}: Direct access to an individual ticket's complete record.linear-team:///{teamId}: Viewpoint for a specific operational unit.linear-project:///{projectId}: Detailed dashboard view for a defined initiative.linear-user:///{userId}/assigned: Aggregated view of an entity's assigned workload.linear-viewer:///assigned: Consolidated list of items the current operator is responsible for.linear-organization:: Top-level metadata concerning the entire workspace.
Operational Examples
- Task Creation: To initiate a task for "database migration error," invoke
linear_create_issuespecifying the title and destination team ID. - Workload Review: To review your immediate high-priority tasks, query
linear-viewer:///assignedcombined with filtering logic. - Dependency Setup: To declare that ticket A must be resolved before ticket B, use
linear_link_issueswithtype: "blocks".
Technical Development
-
Dependency resolution: bash npm install
-
Environment setup (API Key):
bash LINEAR_API_KEY=your_auth_token > .env
- Compilation for production:
bash npm run build
Licensing
This integration module is distributed under the permissive MIT License. Refer to the accompanying LICENSE file for comprehensive usage rights and restrictions.
Contextual Note (Business Management Tools):
Enterprise resource management solutions, such as the one modeled here through the Linear API, are critical components of the broader category of business management tools. Effective application of these tools requires strategic selection and integration, ensuring they align with organizational objectives rather than being adopted as mere technological novelties. They streamline core operational processes—from planning and execution to control and performance measurement—which is essential for maintaining competitive viability in dynamic market conditions.
