mcp-server-linear
Provides tools for interacting with Linear's API, enabling AI agents to manage issues, projects, comments, and other resources programmatically through the Linear platform.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-server-linear list all open issues for team Alpha"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-server-linear
Model Context Protocol (MCP) server for interacting with the Linear API. This server provides tools and resources for accessing and manipulating Linear issues, projects, and other data through a standardized MCP interface.
Overview
The mcp-server-linear project serves as a bridge between client applications (particularly AI assistants and other tools) and Linear, providing a standardized interface for accessing and manipulating Linear resources.
Key features:
Standardized access to Linear resources (issues, projects, initiatives, teams)
Full CRUD operations for issues and comments
Advanced issue filtering and search capabilities
Consistent error handling and response formats
Integration with AI assistants through MCP protocol
Related MCP server: Linear MCP Server
Configuration
Linear API Authentication
This server supports two authentication methods:
Option 1: API Key Authentication
You can set up the LINEAR_API_KEY environment variable:
Go to Linear Settings > API
Under "Personal API keys", click "Create key"
Give your key a name (e.g., "MCP Server")
Copy the generated API key
Set the environment variable when running the server
Option 2: OAuth Authentication
Alternatively, you can use OAuth authentication by setting the following environment variables:
Create an OAuth application at Linear Settings > API > Applications
Configure your application and obtain the client ID and client secret
Set the following environment variables:
LINEAR_OAUTH_CLIENT_ID=your_oauth_client_id
LINEAR_OAUTH_CLIENT_SECRET=your_oauth_client_secretIf both authentication methods are configured, OAuth authentication will be prioritized.
Alternatively, you can set the environment variables in your shell profile or use a tool like dotenv.
Usage
Starting the Server
You can run the MCP server directly using npx without installing it globally:
LINEAR_API_KEY=your_api_key_here npx -y @mkusaka/mcp-server-linearIntegration with MCP Clients
This MCP server can be integrated with various AI assistants and MCP-compatible clients:
Anthropic Claude Integration
You can use this MCP server with Anthropic Claude through various clients:
Cline (VS Code Extension)
Cline is a VS Code extension that allows you to use MCP servers with Claude AI:
Open your Cline MCP settings file:
macOS:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.jsonWindows:
%APPDATA%/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.jsonLinux:
~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
Add the Linear MCP server configuration:
{
"mcpServers": {
"linear": {
"command": "npx",
"args": ["-y", "@mkusaka/mcp-server-linear"],
"env": {
"LINEAR_API_KEY": "your_linear_api_key"
// or when using OAuth authentication
// "LINEAR_OAUTH_CLIENT_ID": "your_oauth_client_id",
// "LINEAR_OAUTH_CLIENT_SECRET": "your_oauth_client_secret"
},
"disabled": false,
"autoApprove": []
}
}
}Cursor
Add the following to your Cursor configuration file (~/.cursor/config.json):
{
"mcpServers": {
"linear": {
"command": "npx",
"args": ["-y", "@mkusaka/mcp-server-linear"],
"env": {
"LINEAR_API_KEY": "your_linear_api_key"
// or when using OAuth authentication
// "LINEAR_OAUTH_CLIENT_ID": "your_oauth_client_id",
// "LINEAR_OAUTH_CLIENT_SECRET": "your_oauth_client_secret"
},
"disabled": false,
"autoApprove": []
}
}
}Available Tools
This MCP server provides the following tools:
Issue Management
create_issue- Create a new issue in Linearupdate_issue- Update an existing issuedelete_issue- Delete an existing issueupdate_issue_labels- Update the labels of an issueupdate_issue_priority- Update the priority of an issueupdate_issue_estimate- Update the estimate of an issueupdate_issue_state- Update the state of an issuesearch_issues- Search for issues with advanced filtering options
Comment Management
create_comment- Create a new comment on an issueupdate_comment- Update an existing commentdelete_comment- Delete an existing commentget_issue_comments- Get comments for a specific issue
Resource Access
projects- Get all projects in Linearproject- Get a single project by IDissue- Get a single issue by IDproject_statuses- Get all project statusesproject_issues- Get all issues in a projectissue_labels- Get all issue labelsissue_states- Get all available issue statesget_viewer- Get current user information including teamsupdate_project_state- Update the state of a project
Architecture
This server follows the Model Context Protocol (MCP) architecture to provide a standardized way to access Linear resources. Key architectural decisions include:
Resource Organization: Resources are organized by domain in separate files
Error Handling: Consistent error handling across all resources
Response Format: Consistent JSON response format
For more detailed information about the architecture, see adr.md.
Development
# Run tests
pnpm test
# Build the project
pnpm run build
# Watch for changes
pnpm run watch
# Run with inspector
pnpm run debugFor development and testing, you can use the MCP Inspector to interact with the server:
# Install the MCP Inspector globally
pnpm install -g @modelcontextprotocol/inspector
# Run the server with the inspector
LINEAR_API_KEY=your_api_key_here mcp-inspector /path/to/mcp-server-linear/dist/index.js
# Or using npx
LINEAR_API_KEY=your_api_key_here npx -y @modelcontextprotocol/inspector @mkusaka/mcp-server-linearCommand Line Options
# Enable logging (logs to linear-mcp.log by default)
pnpm run start -- --debug
# Enable logging with custom log file path
pnpm run start -- --debug --log-file custom-path.logContributing
Contributions are welcome! See adr.md for architecture decisions and project structure.
License
MIT
Available Tools
21 toolscreate_commentB
Create a new comment in Linear
Inputs: body (required), issueId (required).
create_issueB
Create a new issue in Linear
Inputs: title (required), teamId (required), labels, estimate, +5 more.
delete_commentC
Delete an existing comment in Linear
Inputs: commentId (required).
delete_issueB
Delete an existing issue in Linear
Inputs: issueId (required).
get_issue_commentsB
Get comments for a specific issue in Linear
Inputs: issueId (required).
get_viewerA
Get current user information including teams
Inputs: no named parameters.
issueC
Get a single issue in Linear
Inputs: issueId (required), includeParent, includeChildren, includeComments.
issue_labelsA
Get all issue labels in Linear
Inputs: no named parameters.
issue_statesA
Get all available issue states (workflow states) in Linear
Inputs: no named parameters.
projectB
Get a single project in Linear
Inputs: projectId (required).
project_issuesC
Get all issues in a project in Linear
Inputs: projectId (required).
projectsA
Get all projects in Linear
Inputs: no named parameters.
project_statusesA
Get all available project statuses in Linear
Inputs: no named parameters.
search_issuesC
Search for issues with advanced filtering options
Inputs: after, first, filter, orderBy, +1 more.
update_commentA
Update an existing comment in Linear
Inputs: body (required), commentId (required).
update_issueB
Update an existing issue in Linear
Inputs: issueId (required), title, projectId, description.
update_issue_estimateB
Update the estimate of an existing issue in Linear
Inputs: issueId (required), estimate.
update_issue_labelsB
Update the labels of an existing issue in Linear
Inputs: issueId (required), labels.
update_issue_priorityB
Update the priority of an existing issue in Linear
Inputs: issueId (required), priority.
update_issue_stateB
Update the state of an existing issue in Linear
Inputs: issueId (required), stateId (required).
update_project_stateB
Update the state of an existing project in Linear
Inputs: statusId (required), projectId (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 21 tools
Every tool has a distinct purpose focusing on issues, comments, projects, or viewer info. No overlaps exist; each action-resource pair is unique.
All tools follow a consistent verb_noun pattern in snake_case (e.g., create_issue, update_issue_priority). No mixing of styles.
21 tools is on the higher side but still within a manageable range for a comprehensive project management server. Each tool seems justified.
CRUD is complete for issues and comments, but project creation/deletion is missing. Also lacking team management tools, leaving notable gaps.
Maintenance
Related MCP Connectors
Issues, projects, cycles, and roadmaps via the official Linear hosted MCP server.
Linear MCP — wraps the Linear GraphQL API (OAuth)
The official Planning Center MCP server for interacting with your ministry's data.
MCP server for interacting with the Supabase platform
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceAn MCP server for managing Linear issues, projects, teams, and milestones through the Model Context Protocol. It enables users to create, update, and list workspace resources including issue statuses, comments, and user details.24 npmISC
- AlicenseNot gradedqualityFmaintenanceMCP server for Linear that allows creating issues, adding comments, and listing issues and teams.4 npm4MIT
- AlicenseBqualityDmaintenanceAn MCP server that integrates with Linear's API, enabling users to manage issues, projects, teams, and comments through natural language. It supports creating, updating, deleting, and searching issues, as well as project and team management.252,467 npmMIT
- AlicenseNot gradedqualityDmaintenanceMCP server providing tools to manage Linear projects and issues, including creation, listing, viewing details, and deletion, as well as team and user info retrieval.317 npmMIT