GitHub - anoncam/linear-mcp: A Linear MCP implementation that handles all Linear resource types. (original) (raw)
Linear MCP Server
A Model Context Protocol (MCP) server for Linear, providing AI assistants with access to Linear's project management capabilities.
Features
- 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
Setup
Prerequisites
- Node.js 18 or later
- A Linear API key
Installation
- Clone the repository:
git clone https://github.com/yourusername/linear-mcp.git
cd linear-mcp - Install dependencies:
- Create a
.env
file with your Linear API key:
LINEAR_API_KEY=your_linear_api_key_here
- Build the project:
Usage
Command-line (stdio)
To run the server with stdio transport (for use with CLI tools that support MCP):
Or:
HTTP Server (for remote connections)
To run the server as an HTTP service with Server-Sent Events (SSE):
This will start an HTTP server on port 3000 (configurable via PORT environment variable).
Development Mode
To run in development mode with automatic reloading:
Claude Desktop Integration
To use this server with Claude Desktop:
- Build the project:
- 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.
Resources
The server provides access to all major Linear entities as resources:
Core 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}
Additional Resources
- 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
Specialized Resources
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
Tools
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
Prompts
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
Testing
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.
Environment Variables
LINEAR_API_KEY
(required): Your Linear API keySERVER_PORT
(optional): Port for HTTP server (default: 3000)LOG_LEVEL
(optional): Logging level (default: info)
License
MIT