Linear Issue Management
STDIOMCP server for managing Linear issues, projects, and teams programmatically through API.
MCP server for managing Linear issues, projects, and teams programmatically through API.
Note: This is a custom implementation. For the official Cline Linear MCP server, see cline/linear-mcp.
A Model Context Protocol (MCP) server that provides tools for interacting with Linear's API, enabling AI agents to manage issues, projects, and teams programmatically through the Linear platform.
Issue Management
Team Management
Project Management
Get your Linear API key from Linear's Developer Settings
Run with your API key:
LINEAR_API_KEY=your-api-key npx @ibraheem4/linear-mcp
Or set it in your environment:
export LINEAR_API_KEY=your-api-key npx @ibraheem4/linear-mcp
git clone [repository-url] cd linear-mcp
npm install
npm run build
For local development and debugging, you can use the MCP Inspector:
npm install -g supergateway
run.sh
script:chmod +x run.sh LINEAR_API_KEY=your-api-key ./run.sh
Configure the MCP server in your settings file based on your client:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%/Claude/claude_desktop_config.json
{ "mcpServers": { "linear-mcp": { "command": "node", "args": ["/path/to/linear-mcp/build/index.js"], "env": { "LINEAR_API_KEY": "your-api-key-here" }, "disabled": false, "alwaysAllow": [] } } }
Location: ~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
{ "mcpServers": { "linear-mcp": { "command": "node", "args": ["/path/to/linear-mcp/build/index.js"], "env": { "LINEAR_API_KEY": "your-api-key-here" }, "disabled": false, "alwaysAllow": [] } } }
For Cursor, the server must be run with the full path:
node /Users/ibraheem/Projects/linear-mcp/build/index.js
Creates a new issue in Linear.
{ title: string; // Required: Issue title description?: string; // Optional: Issue description (markdown supported) teamId: string; // Required: Team ID assigneeId?: string; // Optional: Assignee user ID priority?: number; // Optional: Priority (0-4) labels?: string[]; // Optional: Label IDs to apply }
Lists issues with optional filters.
{ teamId?: string; // Optional: Filter by team ID assigneeId?: string; // Optional: Filter by assignee ID status?: string; // Optional: Filter by status first?: number; // Optional: Number of issues to return (default: 50) }
Updates an existing issue.
{ issueId: string; // Required: Issue ID title?: string; // Optional: New title description?: string; // Optional: New description status?: string; // Optional: New status assigneeId?: string; // Optional: New assignee ID priority?: number; // Optional: New priority (0-4) }
Lists all teams in the workspace. No parameters required.
Lists all projects with optional filtering.
{ teamId?: string; // Optional: Filter by team ID first?: number; // Optional: Number of projects to return (default: 50) }
Gets detailed information about a specific issue.
{ issueId: string; // Required: Issue ID }
For development with auto-rebuild:
npm run watch
The server includes comprehensive error handling for:
All errors are properly formatted and returned with descriptive messages.
Built with:
The server uses stdio for communication and implements the Model Context Protocol for seamless integration with AI agents.
MIT