Linear MCP Server
Connect Linear to your AI coding tool for issue triage, creation, and status updates.
The Linear MCP server bridges your AI coding tool and Linear's issue tracking API. Ask Claude Code or Cursor to search your backlog, create issues with code context, update statuses, and filter by team or priority. Everything happens through natural language in your editor or terminal.
Multiple community implementations exist because Linear has not released an official MCP server. The most commonly used package is linear-mcp-server (by jerhadf on npm), which covers core issue operations through Linear's GraphQL API. For teams that need project management, cycles, roadmaps, and document access, the @tacticlaunch/mcp-linear package exposes a broader set of capabilities.
All implementations authenticate via Linear Personal Access Tokens. You generate a token in Linear's settings, pass it as an environment variable, and the server handles GraphQL queries on your behalf. No OAuth flow to manage for individual use.
Install
$ npx -y linear-mcp-server
Configuration
Pick your tool, copy the snippet into its MCP config file, and restart the tool.
claude mcp add --transport stdio linear
--env LINEAR_API_KEY=$LINEAR_API_KEY
-- npx -y linear-mcp-server
# Or via add-json for the full config:
claude mcp add-json linear '{
"command": "npx",
"args": ["-y", "linear-mcp-server"],
"env": {
"LINEAR_API_KEY": "'"$LINEAR_API_KEY"'"
}
}'
{
"mcpServers": {
"linear": {
"command": "npx",
"args": ["-y", "linear-mcp-server"],
"env": {
"LINEAR_API_KEY": "your_linear_api_key"
}
}
}
}
{
"mcpServers": {
"linear": {
"command": "npx",
"args": ["-y", "linear-mcp-server"],
"env": {
"LINEAR_API_KEY": "your_linear_api_key"
}
}
}
}
{
"mcpServers": {
"linear": {
"command": "npx",
"args": ["-y", "linear-mcp-server"],
"env": {
"LINEAR_API_KEY": "your_linear_api_key"
}
}
}
}
Capabilities
What the server exposes to your AI through MCP.
Search Issues
Tool
Query issues with filters for team, status, assignee, priority, and labels. Returns issue titles, descriptions, and metadata.
Create Issue
Tool
Create new issues with title, description (markdown supported), team assignment, priority level (0-4), assignee, and label IDs.
Update Issue
Tool
Modify existing issues including title, description, workflow state, assignee, and priority. Supports status transitions.
List Teams
Tool
Retrieve all teams in the workspace with team IDs needed for issue creation and filtering.
Get My Issues
Tool
Retrieve issues assigned to the authenticated user with filtering by status and priority.
Issue Details
Resource
Read-only access to individual issue data via linear-issue:// URIs, including comments, activity, and linked project info.
Organization Info
Resource
Read-only access to workspace and team structure via linear://organization and linear://teams URIs.
Authentication
This server uses API Key. Set it up once and the AI tool injects it on every call.
Generate a Linear API Key
Go to Linear Settings > API and click Create API Key. Give it a descriptive label like “MCP Server” and select Full Access for permissions. Copy the key immediately. Linear only shows it once.
Set the Environment Variable
Export the key in your shell profile so it persists across sessions.
export LINEAR_API_KEY=lin_api_your_key_here
Add this line to ~/.zshrc or ~/.bashrc and restart your shell. The MCP server reads from the LINEAR_API_KEY environment variable at startup.
Verify the Connection
After configuring your tool, run a test query. In Claude Code, try asking “What issues are assigned to me in Linear?” If the server is connected, it will return your issue list. If it fails, run claude mcp get linear to check the server status.
When to Connect Linear Through MCP
The primary use case is triage without context switching. You ask Claude Code to check what is assigned to you, it pulls your issues from Linear, and you make decisions about priority without opening a browser tab. The round trip from “what is on my plate?” to an updated issue status happens inside the terminal.
The second use case is issue creation from code context. You are reviewing a file, spot a bug, and tell Claude to create a Linear issue with the relevant code snippet as the description. Claude has the file path and line numbers. The issue lands in Linear with useful context instead of a vague title.
What Works and What Does Not
Issue search, creation, and updates work reliably across all implementations. Filtering by team, assignee, status, and priority is supported. You can add comments and change workflow states without leaving your session.
Where it falls short is real-time awareness. The MCP server responds to queries but does not push updates. If a teammate changes an issue’s status while you are working, Claude will not know until you explicitly ask it to check again. There is no webhook listener in the MCP server itself.
Project-level operations (creating projects, managing milestones, updating roadmaps) depend on which implementation you choose. The core linear-mcp-server package focuses on issues. The @tacticlaunch/mcp-linear package covers the full Linear API surface including cycles, roadmaps, customers, and documents.
Limitations
- The server does not push real-time updates. If a teammate changes an issue while you are working, Claude will not know until you ask it to check again. There is no webhook listener in the MCP server.
- The core linear-mcp-server package does not cover project management operations (creating projects, managing cycles, updating roadmaps). For those capabilities, use the @tacticlaunch/mcp-linear package instead.
- OAuth support is inconsistent across implementations. Most developers use Personal Access Tokens, which work reliably but cannot be scoped to specific teams or permission levels. The token has full access to everything the generating user can see.
Frequently Asked Questions
Yes. Any MCP client that supports stdio transport can use this server. The config format is the same across Cursor, Windsurf, Cline, and Claude Desktop. Only the config file path differs between tools.
No. The MCP server works on Linear's free tier. The free plan supports up to 250 active issues, which is enough for solo developers and small teams. Paid plans add features like cycles, roadmaps, and custom workflows, but the core issue operations the MCP server uses work on all tiers.
For most developers, linear-mcp-server (jerhadf) is the simplest option. It installs with npx, covers issue search, creation, and updates, and works with all major AI coding tools. If you need project management, cycles, roadmaps, or document access, use @tacticlaunch/mcp-linear instead. It covers the full Linear API surface but requires a global npm install.
Yes, but you need to tell it what to include. Claude Code can read your current file, grab the relevant code snippet, and pass it as the issue description through the create_issue tool. It will not do this automatically. You prompt it with something like "create a Linear bug for the null check missing on line 42" and it builds the issue with the file path and code context.
