home / mcp / linear mcp server
A Model Context Protocol (MCP) server for the Linear API
Configuration
View docs{
"mcpServers": {
"magarcia-mcp-server-linearapp": {
"command": "npx",
"args": [
"-y",
"mcp-server-linearapp"
],
"env": {
"LINEAR_API_KEY": "your_linear_api_key_here"
}
}
}
}You can run a dedicated MCP server that connects Linear issues to your LLM workflows. This server lets you manage Linear tasks, retrieve user and project data, create and update issues, add comments, and more through straightforward MCP endpoints, enabling automated and AI-assisted issue handling.
Use an MCP client to interact with the Linear MCP Server by calling its tools to manage issues, projects, teams, milestones, labels, attachments, and relationships. You can retrieve information about the authenticated user, list and inspect teams and projects, create and update issues, add comments, search issues with filters, and relate issues. All actions are performed through clearly named tools such as linear_get_viewer, linear_create_issue, linear_update_issue, linear_search_issues, linear_add_comment, and more. When you issue commands, provide only the required inputs for each tool and optional inputs when you need extra filtering or metadata.
Prerequisites you need installed before running the Linear MCP Server are Node.js and a working internet connection.
Automatic installation via Smithery (quick setup) involves installing the MCP server for Claude Desktop automatically using the client tool.
npx @smithery/cli install mcp-server-linearapp --client claudeObtain a Linear personal API key from Linear settings to enable API access.
Configure Claude Desktop to use the Linear MCP Server. This example shows the configuration for macOS at the standard Claude Desktop path.
{
"mcpServers": {
"linear": {
"command": "npx",
"args": ["-y", "mcp-server-linearapp"],
"env": {
"LINEAR_API_KEY": "your_linear_api_key_here"
}
}
}
}Get information about the authenticated user, returning profile details such as ID, name, email, and active status.
Retrieve issues assigned to a user. Optional inputs include userId, includeArchived, and limit.
Fetch teams associated with a user. Optional inputs include userId, includeArchived, and limit.
Get projects associated with a user. Optional inputs include userId, includeArchived, limit, and status.
List teams in the organization with optional includeArchived and limit.
Retrieve details about a specific team by its teamId, including name, key, members, and settings.
Get issues for a specific team. Optional inputs include includeArchived, limit, status, priority, and assigneeId.
List organization projects with optional teamId, includeArchived, limit, and status filters.
Get detailed information about a specific project, including progress, status, lead, and dates.
Retrieve issues for a specific project. Optional inputs include includeArchived, limit, status, and priority.
Create a new Linear issue with required inputs title and teamId; optional inputs include description, priority, and status.
Update an existing issue by id with optional fields title, description, priority, and status.
Search issues with flexible filters such as query, teamId, status, assigneeId, labels, priority, and limit.
Add a comment to an issue with required inputs issueId and body; optional inputs include createAsUser and displayIconUrl.
List labels in the organization with optional teamId, includeArchived, and limit.
Create a new label in a team with required inputs name and teamId; optional inputs include color and description.
Update an existing label by id with optional fields name, color, and description.
Attach a file or URL to an issue with required inputs issueId, url, and title; optional inputs include subtitle and icon.
Retrieve attachments for a specific issue by issueId.
Create a relationship between two issues with required inputs issueId, relatedIssueId, and type.
Get relationships for an issue by issueId with an optional type filter.
Get milestones for a project with optional projectId, includeArchived, and limit.
Create a milestone with required inputs name, projectId, and targetDate; optional inputs include description and sortOrder.
Update an existing milestone by id with optional fields name, targetDate, description, and status.