Full blown implementation of the Linear SDK to support comprehensive Linear management of projects, initiatives, issues, users, teams and states.
A Model Context Protocol (MCP) server for Linear, providing AI assistants with access to Linear's project management capabilities.
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:
linear://issues
and linear://issues/{id}
linear://teams
and linear://teams/{id}
linear://projects
and linear://projects/{id}
linear://users
and linear://users/{id}
linear://initiatives
and linear://initiatives/{id}
linear://roadmaps
and linear://roadmaps/{id}
linear://milestones
and linear://milestones/{id}
linear://documents
and linear://documents/{id}
linear://integrations
and linear://integrations/{id}
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 servicesThe server provides tools for:
Issue Management
Project Management
Initiative Management
Search Capabilities
The server provides prompt templates for:
Issue Related
Project Related
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