A Model Context Protocol (MCP) server for Linear, providing AI assistants with access to Linear's project management capabilities.
- Resources: Access issues, projects, teams, users, roadmaps, documents, initiatives, and more
- Tools: Create and update issues, manage projects, search, link projects to initiatives
- Prompts: Templates for issue creation, bug reports, feature requests, and more
- Node.js 18 or later
- A Linear API key
-
Clone the repository:
git clone https://github.com/yourusername/linear-mcp.git cd linear-mcp
-
Install dependencies:
npm install
-
Create a
.env
file with your Linear API key:LINEAR_API_KEY=your_linear_api_key_here
-
Build the project:
npm run build
To run the server with stdio transport (for use with CLI tools that support MCP):
npm start
Or:
node dist/index.js stdio
To run the server as an HTTP service with Server-Sent Events (SSE):
node dist/index.js http
This will start an HTTP server on port 3000 (configurable via PORT environment variable).
To run in development mode with automatic reloading:
npm run dev
To use this server with Claude Desktop:
-
Build the project:
npm run build
-
In Claude Desktop, go to Settings → Advanced → MCP Configuration.
-
Add the following configuration (adjust paths to match your installation):
{ "mcpServers": { "linear": { "command": "node", "args": [ "/path/to/linear-mcp/dist/index.js" ], "env": { "LINEAR_API_KEY": "your_linear_api_key_here" } } } }
-
Save the configuration and restart Claude Desktop.
Alternatively, you can copy the provided claude-desktop-config.json
file and modify the paths to match your installation.
The server provides access to all major Linear entities as resources:
- Issues:
linear://issues
andlinear://issues/{id}
- Teams:
linear://teams
andlinear://teams/{id}
- Projects:
linear://projects
andlinear://projects/{id}
- Users:
linear://users
andlinear://users/{id}
- Initiatives:
linear://initiatives
andlinear://initiatives/{id}
- Roadmaps:
linear://roadmaps
andlinear://roadmaps/{id}
- Milestones:
linear://milestones
andlinear://milestones/{id}
- Documents:
linear://documents
andlinear://documents/{id}
- Integrations:
linear://integrations
andlinear://integrations/{id}
- Organization:
linear://organization
linear://teams/{teamId}/issues
- Issues for a specific teamlinear://users/{userId}/issues
- Issues assigned to a specific userlinear://projects/{projectId}/issues
- Issues in a specific projectlinear://teams/{teamId}/states
- Workflow states for a teamlinear://teams/{teamId}/labels
- Labels for a teamlinear://teams/{teamId}/cycles
- Cycles for a teamlinear://teams/{teamId}/members
- Members of a teamlinear://teams/{teamId}/documents
- Documents for a teamlinear://projects/{projectId}/documents
- Documents for a projectlinear://projects/{projectId}/initiative
- Initiative associated with a projectlinear://initiatives/{initiativeId}/projects
- Projects associated with an initiativelinear://milestones/{milestoneId}/projects
- Projects for a milestonelinear://organization/subscription
- Organization subscription detailslinear://organization/auth-services
- Organization authentication serviceslinear://integration-services
- Available integration services
The server provides tools for:
-
Issue Management
- Creating new issues
- Updating existing issues
- Adding comments to issues
-
Project Management
- Creating new projects
- Updating existing projects
- Adding issues to projects
-
Initiative Management
- Creating initiatives
- Linking projects to initiatives
- Unlinking projects from initiatives
-
Search Capabilities
- Comprehensive search across Linear entities
- Finding issues with specific criteria
The server provides prompt templates for:
-
Issue Related
- Creating new issues
- Creating bug reports
- Creating feature requests
-
Project Related
- Creating new projects
- Planning projects with issues
- Creating project status updates
Test with the MCP Inspector:
npx @modelcontextprotocol/inspector stdio -- npm start
Or, if running in HTTP mode, open the MCP Inspector in your browser and connect to your server's URL.
LINEAR_API_KEY
(required): Your Linear API keySERVER_PORT
(optional): Port for HTTP server (default: 3000)LOG_LEVEL
(optional): Logging level (default: info)
MIT