Linear
About
Track and manage issues via Linear's project management API.
Details
- Author
- jerhadf
- Repository
- jerhadf/linear-mcp-server
- GitHub stars
- 256
- Downloads
- 704
- License
- MIT License
- Transport
- SSE
- Categories
- Productivity, Other, Project Management, Developer Tools, Design, Workplace, AI, Search, API, Automation
- Tags
- #visualization
Jump to
- Create, update, and search Linear issues programmatically.
- View issue, team, user, organization, and viewer resources.
- Filter issues by query, team, status, assignee, labels, and priority.
- Add comments to issues with optional custom username and avatar.
- Supports markdown in issue descriptions and comments.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
LinearCommand (node, npx, python, etc.)npxArguments-
Argument 1
-y -
Argument 2
linear-mcp-server
Environment-
LINEAR_API_KEY
your_linear_api_key_here
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
To install the Linear MCP server for Claude Desktop automatically via Smithery:
npx @smithery/cli install linear-mcp-server --client claude
1. Create or get a Linear API key for your team: https://linear.app/YOUR-TEAM/settings/api
2. Add server config to Claude Desktop:
- MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"linear": {
"command": "npx",
"args": [
"-y",
"linear-mcp-server"
],
"env": {
"LINEAR_API_KEY": "your_linear_api_key_here"
}
}
}
}
Some example prompts you can use with Claude Desktop to interact with Linear:
1. "Show me all my high-priority issues" → execute the search_issues tool and/or linear-user:///{userId}/assigned to find issues assigned to you with priority 1
2. "Based on what I've told you about this bug already, make a bug report for the authentication system" → use create_issue to create a new high-priority issue with appropriate details and status tracking
3. "Find all in progress frontend tasks" → use search_issues to locate frontend-related issues with in progress task
4. "Give me a summary of recent updates on the issues for mobile app development" → use search_issues to identify the relevant issue(s), then linear-issue:///{issueId} fetch the issue details and show recent activity and comments
5. "What's the current workload for the mobile team?" → combine linear-team:///{teamId}/issues and search_issues to analyze issue distribution and priorities across the mobile team
linear_create_issue
Create a new Linear issue. Required inputs: title (string), teamId (string). Optional inputs: description (string), priority (number, 0-4), status (string).
linear_update_issue
Update an existing issue. Required input: id (string). Optional inputs: title (string), description (string), priority (number, 0-4), status (string).
linear_search_issues
Search for issues with flexible filtering. Optional inputs: query (string), teamId (string), status (string), assigneeId (string), labels (string[]), priority (number), limit (number, default: 10).
linear_get_user_issues
Get issues assigned to a user. Optional inputs: userId (string), includeArchived (boolean), limit (number, default: 50).
linear_add_comment
Add a comment to an issue. Required inputs: issueId (string), body (string). Optional inputs: createAsUser (string), displayIconUrl (string).
1. linear_create_issue: Create a new Linear issues
- Required inputs:
- title (string): Issue title
- teamId (string): Team ID to create issue in
- Optional inputs:
- description (string): Issue description (markdown supported)
- priority (number, 0-4): Priority level (1=urgent, 4=low)
- status (string): Initial status name
2. linear_update_issue: Update existing issues
- Required inputs:
- id (string): Issue ID to update
- Optional inputs:
- title (string): New title
- description (string): New description
- priority (number, 0-4): New priority
- status (string): New status name
3. linear_search_issues: Search issues with flexible filtering
- Optional inputs:
- query (string): Text to search in title/description
- teamId (string): Filter by team
- status (string): Filter by status
- assigneeId (string): Filter by assignee
- labels (string[]): Filter by labels
- priority (number): Filter by priority
- limit (number, default: 10): Max results
4. linear_get_user_issues: Get issues assigned to a user
- Optional inputs:
- userId (string): User ID (omit for authenticated user)
- includeArchived (boolean): Include archived issues
- limit (number, default: 50): Max results
5. linear_add_comment: Add comments to issues
- Required inputs:
- issueId (string): Issue ID to comment on
- body (string): Comment text (markdown supported)
- Optional inputs:
- createAsUser (string): Custom username
- displayIconUrl (string): Custom avatar URL
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"linear": {
"env": {
"LINEAR_API_KEY": "your_linear_api_key_here"
},
"args": [
"-y",
"linear-mcp-server"
],
"command": "npx"
}
}
}
Linux
{
"env": {
"LINEAR_API_KEY": "your_linear_api_key_here"
},
"args": [
"-y",
"linear-mcp-server"
],
"command": "npx"
}
Macos
{
"env": {
"LINEAR_API_KEY": "your_linear_api_key_here"
},
"args": [
"-y",
"linear-mcp-server"
],
"command": "npx"
}
Windows
{
"env": {
"LINEAR_API_KEY": "your_linear_api_key_here"
},
"args": [
"/c",
"npx",
"-y",
"linear-mcp-server"
],
"command": "cmd"
}
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





