
Linear MCP (multi-workspace, PAT auth)
Connects Claude to Linear's project tracking API using Personal Access Tokens instead of OAuth, solving the official server's session persistence issues and enabling true multi-workspace routing from a single MCP instance. Exposes 57 tools covering teams, issues, projects, cycles, webhooks, notifications, attachments, and full-text search across all entity types. Enforces source attribution at the substrate layer by requiring canonical keys in issue descriptions and blocking duplicate creates through automatic deduplication checks. Destructive operations like webhook deletion use a draft-then-confirm flow with one-hour expiry. Ships with three prompts for triage, project status drafting, and inbox sweeps. Reach for this when you manage issues across multiple Linear workspaces and want PAT-based auth that survives client restarts without re-dancing through OAuth callbacks.
- tools
- 25
- auth
- Secret needed
- transport
- STDIO
- env var
- 1
- last updated
- May 24, 2026
Tools
25 toolsPublic tool metadata for what this MCP can expose to an agent.
list_commentsList comments for a specific Linear issue1 params
List comments for a specific Linear issue
issueIdstringcreate_commentCreate a comment on a specific Linear issue3 params
Create a comment on a specific Linear issue
bodystringissueIdstringparentIdstringlist_cyclesRetrieve cycles for a specific Linear team2 params
Retrieve cycles for a specific Linear team
teamIdstringtypestringcurrent · previous · nextget_documentRetrieve a Linear document by ID or slug1 params
Retrieve a Linear document by ID or slug
idstringlist_documentsList documents in the user's Linear workspace11 params
List documents in the user's Linear workspace
afterstringbeforestringcreatedAtstringcreatorIdstringincludeArchivedbooleaninitiativeIdstringlimitnumberorderBystringcreatedAt · updatedAtdefault: updatedAtprojectIdstringquerystringupdatedAtstringcreate_documentCreate a new document in Linear5 params
Create a new document in Linear
colorstringcontentstringiconstringprojectstringtitlestringupdate_documentUpdate an existing Linear document6 params
Update an existing Linear document
colorstringcontentstringiconstringidstringprojectstringtitlestringget_issueRetrieve detailed information about an issue by ID, including attachments and git branch name2 params
Retrieve detailed information about an issue by ID, including attachments and git branch name
idstringincludeRelationsbooleanlist_issuesList issues in the user's Linear workspace. For my issues, use "me" as the assignee.16 params
List issues in the user's Linear workspace. For my issues, use "me" as the assignee.
afterstringassigneestringbeforestringcreatedAtstringcyclestringdelegatestringincludeArchivedbooleanlabelstringlimitnumberorderBystringcreatedAt · updatedAtdefault: updatedAtparentIdstringprojectstringquerystringstatestringteamstringupdatedAtstringcreate_issueCreate a new Linear issue18 params
Create a new Linear issue
assigneestringblockedByarrayblocksarraycyclestringdelegatestringdescriptionstringdueDatestringduplicateOfstringlabelsarraylinksarraymilestonestringparentIdstringprioritynumberprojectstringrelatedToarraystatestringteamstringtitlestringupdate_issueUpdate an existing Linear issue19 params
Update an existing Linear issue
assigneestringblockedByarrayblocksarraycyclestringdelegatestringdescriptionstringdueDatestringduplicateOfstringestimatenumberidstringlabelsarraylinksarraymilestonestringparentIdstringprioritynumberprojectstringrelatedToarraystatestringtitlestringlist_issue_statusesList available issue statuses in a Linear team1 params
List available issue statuses in a Linear team
teamstringget_issue_statusRetrieve detailed information about an issue status in Linear by name or ID3 params
Retrieve detailed information about an issue status in Linear by name or ID
idstringnamestringteamstringlist_issue_labelsList available issue labels in a Linear workspace or team6 params
List available issue labels in a Linear workspace or team
afterstringbeforestringlimitnumbernamestringorderBystringcreatedAt · updatedAtdefault: updatedAtteamstringcreate_issue_labelCreate a new Linear issue label6 params
Create a new Linear issue label
colorstringdescriptionstringisGroupbooleannamestringparentIdstringteamIdstringlist_projectsList projects in the user's Linear workspace12 params
List projects in the user's Linear workspace
afterstringbeforestringcreatedAtstringincludeArchivedbooleaninitiativestringlimitnumbermemberstringorderBystringcreatedAt · updatedAtdefault: updatedAtquerystringstatestringteamstringupdatedAtstringget_projectRetrieve details of a specific project in Linear1 params
Retrieve details of a specific project in Linear
querystringcreate_projectCreate a new project in Linear13 params
Create a new project in Linear
colorstringdescriptionstringiconstringinitiativestringlabelsarrayleadstringnamestringpriorityintegerstartDatestringstatestringsummarystringtargetDatestringteamstringupdate_projectUpdate an existing Linear project13 params
Update an existing Linear project
colorstringdescriptionstringiconstringidstringinitiativesarraylabelsarrayleadstringnamestringpriorityintegerstartDatestringstatestringsummarystringtargetDatestringlist_project_labelsList available project labels in the Linear workspace5 params
List available project labels in the Linear workspace
afterstringbeforestringlimitnumbernamestringorderBystringcreatedAt · updatedAtdefault: updatedAtlist_teamsList teams in the user's Linear workspace8 params
List teams in the user's Linear workspace
afterstringbeforestringcreatedAtstringincludeArchivedbooleanlimitnumberorderBystringcreatedAt · updatedAtdefault: updatedAtquerystringupdatedAtstringget_teamRetrieve details of a specific Linear team1 params
Retrieve details of a specific Linear team
querystringlist_usersRetrieve users in the Linear workspace2 params
Retrieve users in the Linear workspace
querystringteamstringget_userRetrieve details of a specific Linear user1 params
Retrieve details of a specific Linear user
querystringsearch_documentationSearch Linear's documentation to learn about features and usage2 params
Search Linear's documentation to learn about features and usage
pagenumberquerystringSponsors
Configuration
LINEAR_PAT*secretPersonal API Key from linear.app/settings/account/security
Readme
linear-mcp
Multi-workspace Linear MCP server with Personal API Key auth. Drop-in replacement for the official OAuth-only Linear MCP at mcp.linear.app/mcp.
Why this exists. The official Linear MCP is OAuth-only and single-workspace per instance. PAT auth plus persistent token storage plus multi-workspace routing kills three failure modes:
- The OAuth flow is brittle across MCP client session boundaries — auth state expires when a session resumes mid-flow.
- The localhost callback fails in some setups, forcing fragile paste-back flows.
- One MCP instance per workspace doubles config + OAuth dances.
This server replaces both with one entry. One install, N workspaces, never an OAuth dance again.
Install
From PyPI
pipx install adelaidasofia-linear-mcp
From source
git clone https://github.com/adelaidasofia/linear-mcp ~/.claude/linear-mcp
cd ~/.claude/linear-mcp
pip install -e .
Claude Desktop one-click
Download the latest .mcpb from Releases and double-click.
Configure
Details
- Repository
- github.com/adelaidasofia/linear-mcp
- Category
- Developer Tools
- Package
adelaidasofia-linear-mcp- Transport
- STDIO
- Auth
- Required
- Registry
- MCP registry, active
More from adelaidasofia
- FastMCP server for surgical queries against a vault knowledge graph (NetworkX no2
- FastMCP server for Apollo1
- FastMCP server for Substack — publish Notes and posts, pull analytics, manage dr1
- macOS-only MCP server that exposes iMessage chat1
- Multi-account MCP for Gmail, Calendar, Drive, Docs, and Sheets — 61 tools, token1
- WhatsApp MCP
- Multi-workspace Slack MCP server with draft+confirm safety, vault auto-export, a1
- FastMCP seed raise pipeline tracker — syncs from Obsidian CRM, generates meeting
- FastMCP server for Obsidian wikilink suggestions from a pre-computed knowledge g
- Local-first personal finance MCP
- lu
- One MCP, many parsers
- Self-hosted GitHub MCP server
- FastMCP server for bidirectional sync between personal and team Obsidian vaults
- FastMCP server that pages on-call via 100+ notification channels (Apprise wrappe
- MCP server for RescueTime productivity data