Integrate LLMs with Linear Issues
A deprecated MCP server for Linear issue tracking with five tools for creating, updating, searching, and commenting on issues.
Maintainer of this project? Claim this page to edit the listing.
1.0.0Add to Favorites
Why it matters
Enable Large Language Models to interact with the Linear task tracking system. This allows LLMs to search, create, update, and comment on Linear issues, streamlining project management and development workflows.
Outcomes
What it gets done
Create new Linear issues with specified details
Update existing Linear issues (title, description, status, priority)
Search Linear issues using flexible filtering options
Add comments to Linear issues with markdown support
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/vb-linear | bash Capabilities
Tools your agent gets
Create a new Linear issue with title, team ID, and optional description, priority, and status
Update existing issues with new title, description, priority, or status
Search issues with flexible filtering by query, team, status, assignee, labels, priority, and limit
Get issues assigned to a specific user or the authenticated user
Add comments to issues with markdown support and optional user/avatar
Overview
Linear MCP Server
A now-deprecated MCP server for Linear issue tracking, exposing tools to create, update, search, and comment on issues plus resources for viewing issue, team, and user context. The source flags this server as deprecated and recommends Linear's official remote MCP server for new use; historically fit conversational issue creation, search, and status summaries.
What it does
This is a Model Context Protocol server for the Linear API, giving an LLM like Claude Desktop direct integration with Linear's issue tracking system. It exposes five tools: linear_create_issue creates a new issue given a required title and teamId, with optional description (markdown supported), priority (0-4, where 1 is urgent and 4 is low), and initial status. linear_update_issue updates an existing issue by id, optionally changing title, description, priority, or status. linear_search_issues searches with flexible filters - text query, team, status, assignee, labels, priority - and a configurable result limit (default 10). linear_get_user_issues retrieves issues assigned to a user (defaulting to the authenticated user), with an option to include archived issues and a default limit of 50. linear_add_comment adds a markdown-supported comment to an issue, optionally posted under a custom username and avatar. Alongside these tools, it exposes five MCP resources for direct viewing: individual issue details, a team's issues, a user's assigned issues, organization info, and the current viewer's context.
When to use - and when NOT to
This server is deprecated and no longer maintained - the source explicitly recommends switching to Linear's official remote MCP server instead. It should not be adopted for new integrations; existing users should migrate to the official server. Where it was used, it fit conversational workflows like asking Claude to show high-priority assigned issues, draft a bug report from a described problem, find in-progress frontend tasks, summarize recent activity on a set of issues, or gauge a team's current workload by combining the team-issues resource with search filters.
Capabilities
Beyond the five tools and five resources, the server supports both automatic installation (via Smithery's CLI for Claude Desktop) and manual installation through a Claude Desktop config file, authenticated with a Linear API key generated from a team's Linear settings page. The example prompts in the source show tool composition patterns - for instance, resolving "give me a summary of recent updates for mobile app issues" by first running search_issues to locate the relevant issue, then fetching linear-issue:///{issueId} for its detail and comment history.
How to install
Automatic installation via Smithery:
npx @smithery/cli install linear-mcp-server --client claude
Manual installation requires a Linear API key and adding the server to Claude Desktop's config (claude_desktop_config.json on macOS), running it via npx -y linear-mcp-server with the key passed as the LINEAR_API_KEY environment variable. For local development, dependencies are installed with npm install, the API key is set in a .env file, and the server is built with npm run build (or npm run watch for auto-rebuild during development). The project is MIT licensed.
Who it's for
Teams that were already running Linear and wanted Claude to create, update, search, and comment on issues conversationally - though the source's own deprecation notice means new adopters should look to Linear's official remote MCP server rather than this one.
Source README
Linear MCP Server
IMPORTANT NOTE: This MCP Server is now deprecated and is no longer being maintained. I recommend you use the official Linear remote MCP server here: https://linear.app/changelog/2025-05-01-mcp (https://mcp.linear.app/sse)
A Model Context Protocol server for the Linear API.
This server provides integration with Linear's issue tracking system through MCP, allowing LLMs to interact with Linear issues.
Installation
Automatic Installation
To install the Linear MCP server for Claude Desktop automatically via Smithery:
npx @smithery/cli install linear-mcp-server --client claude
Manual Installation
Create or get a Linear API key for your team: https://linear.app/YOUR-TEAM/settings/api
Add server config to Claude Desktop:
- MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- MacOS:
{
"mcpServers": {
"linear": {
"command": "npx",
"args": [
"-y",
"linear-mcp-server"
],
"env": {
"LINEAR_API_KEY": "your_linear_api_key_here"
}
}
}
}
Components
Tools
linear_create_issue: Create a new Linear issues- Required inputs:
title(string): Issue titleteamId(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
- Required inputs:
linear_update_issue: Update existing issues- Required inputs:
id(string): Issue ID to update
- Optional inputs:
title(string): New titledescription(string): New descriptionpriority(number, 0-4): New prioritystatus(string): New status name
- Required inputs:
linear_search_issues: Search issues with flexible filtering- Optional inputs:
query(string): Text to search in title/descriptionteamId(string): Filter by teamstatus(string): Filter by statusassigneeId(string): Filter by assigneelabels(string[]): Filter by labelspriority(number): Filter by prioritylimit(number, default: 10): Max results
- Optional inputs:
linear_get_user_issues: Get issues assigned to a user- Optional inputs:
userId(string): User ID (omit for authenticated user)includeArchived(boolean): Include archived issueslimit(number, default: 50): Max results
- Optional inputs:
linear_add_comment: Add comments to issues- Required inputs:
issueId(string): Issue ID to comment onbody(string): Comment text (markdown supported)
- Optional inputs:
createAsUser(string): Custom usernamedisplayIconUrl(string): Custom avatar URL
- Required inputs:
Resources
linear-issue:///{issueId}- View individual issue detailslinear-team:///{teamId}/issues- View team issueslinear-user:///{userId}/assigned- View user's assigned issueslinear-organization:- View organization infolinear-viewer:- View current user context
Usage examples
Some example prompts you can use with Claude Desktop to interact with Linear:
"Show me all my high-priority issues" → execute the
search_issuestool and/orlinear-user:///{userId}/assignedto find issues assigned to you with priority 1"Based on what I've told you about this bug already, make a bug report for the authentication system" → use
create_issueto create a new high-priority issue with appropriate details and status tracking"Find all in progress frontend tasks" → use
search_issuesto locate frontend-related issues with in progress task"Give me a summary of recent updates on the issues for mobile app development" → use
search_issuesto identify the relevant issue(s), thenlinear-issue:///{issueId}fetch the issue details and show recent activity and comments"What's the current workload for the mobile team?" → combine
linear-team:///{teamId}/issuesandsearch_issuesto analyze issue distribution and priorities across the mobile team
Development
- Install dependencies:
npm install
- Configure Linear API key in
.env:
LINEAR_API_KEY=your_api_key_here
- Build the server:
npm run build
For development with auto-rebuild:
npm run watch
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.