Linear MCP server

Integrates with Linear's issue tracking system, enabling creation, updating, and searching of issues, as well as managing comments and user assignments for project management tasks.
Back to servers
Setup instructions
Provider
geropl
Release date
Feb 28, 2025
Language
Go
Stats
10 stars

This MCP server for Linear enables integration with the Linear task management API, providing tools to create, update, search issues, add comments, and more through the Model Context Protocol.

Installation

Pre-built Binaries

# Download linux binary for the latest release
RELEASE=$(curl -s https://api.github.com/repos/geropl/linear-mcp-go/releases/latest)
DOWNLOAD_URL=$(echo $RELEASE | jq -r '.assets[] | select(.name | contains("linux")) | .browser_download_url')
curl -L -o ./linear-mcp-go $DOWNLOAD_URL
chmod +x ./linear-mcp-go

Setting Up for AI Assistants

# Set your Linear API key as an environment variable
# Note: Ona does not require this for setup
export LINEAR_API_KEY=your_linear_api_key

# Basic setup (Cline is the default tool)
./linear-mcp-go setup

# Setup with write access enabled
./linear-mcp-go setup --write-access

# Setup with auto-approval for read-only tools
./linear-mcp-go setup --auto-approve=allow-read-only

Usage

Basic Commands

Check the server version:

./linear-mcp-go version

Run the server:

# Run in read-only mode (default)
export LINEAR_API_KEY=your_linear_api_key
./linear-mcp-go serve

# Run with write access enabled
./linear-mcp-go serve --write-access

Available Tools

Read-Only Tools

These tools are available in default mode:

linear_search_issues

Search for Linear issues using various criteria:

{
  "query": "login page",
  "teamId": "TEAM123",
  "status": "In Progress",
  "limit": 5
}
linear_get_user_issues

Get issues assigned to a user:

{
  "userId": "USER123",
  "limit": 10
}
linear_get_issue

Retrieve a specific issue:

{
  "issueId": "TEAM-123"
}
linear_get_teams

List all teams or filter by name:

{
  "name": "Engineering"
}

Write-Access Tools

These tools require the --write-access flag:

linear_create_issue

Create new issues, including sub-issues:

{
  "title": "Implement login form validation",
  "team": "ENG",
  "description": "Add client-side validation for the login form",
  "priority": "high",
  "makeSubissueOf": "ENG-42",
  "labels": "bug,frontend"
}
linear_update_issue

Update an existing issue:

{
  "id": "ENG-123",
  "title": "Updated title",
  "status": "In Progress"
}
linear_add_comment

Add a comment to an issue:

{
  "issue": "ENG-123",
  "body": "This issue needs more details"
}

Add a reply to an existing comment:

{
  "issue": "ENG-123",
  "body": "I agree with your suggestion",
  "thread": "https://linear.app/.../issue/ENG-123/...#comment-abc123"
}
linear_reply_to_comment

Reply directly to a comment (automatically determines the issue):

{
  "thread": "https://linear.app/.../issue/ENG-123/...#comment-abc123",
  "body": "Thanks for your feedback"
}
linear_get_issue_comments

Get comments for an issue:

{
  "issue": "ENG-123",
  "limit": 10
}

Get replies to a specific comment:

{
  "issue": "ENG-123",
  "thread": "comment-abc123",
  "limit": 5
}
linear_update_issue_comment

Update an existing comment:

{
  "comment": "comment-abc123",
  "body": "Updated comment text"
}

Auto-Approval Options

When setting up the server with the --auto-approve flag, you can specify:

  • --auto-approve=allow-read-only: Auto-approve all read-only tools
  • --auto-approve=tool1,tool2,...: Auto-approve specific tools (comma-separated)

Server Modes

  • Read-only mode (default): Only allows querying and viewing data
  • Write-access mode: Enables creating and updating issues and comments

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "linear" '{"command":"./linear-mcp-go","args":["serve"]}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "linear": {
            "command": "./linear-mcp-go",
            "args": [
                "serve"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

{
    "mcpServers": {
        "linear": {
            "command": "./linear-mcp-go",
            "args": [
                "serve"
            ]
        }
    }
}

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later