Linear MCP Server

Linear MCP server enables AI models to interact with Linear's project management system, providing capabilities for issue tracking, project management, team collaboration, and workflow automation.

Official LinearRemote MCP

Overview

The Linear MCP Server is the official Model Context Protocol server from Linear that enables AI assistants to access and manage Linear issues, projects, and comments through a standardized interface. It's centrally hosted and managed by Linear, following the authenticated remote MCP specification.

Official Server:

Developed and maintained by Linear

Key Features

🎯

Issue Management

Create, search, and update Linear issues with full support for priorities, statuses, and assignments

🔍

Advanced Search

Flexible queries with text search, team filters, status, assignees, labels, and priority filtering

🔐

OAuth 2.1 Authentication

Secure authentication with dynamic client registration and centrally managed credentials

☁️

Centrally Hosted

No local server management—Linear hosts and maintains the MCP server for you

Available Tools

Quick Reference

ToolPurposeCategory
create_issueCreate new Linear issueIssues
update_issueModify existing issueIssues
search_issuesSearch issues with filtersIssues
get_user_issuesGet issues for specific userIssues
add_commentAdd comment to issueComments
create_projectCreate new projectProjects
update_projectModify project detailsProjects
search_projectsSearch projectsProjects

Expanding Tools:

Linear is actively adding more tools and functionality to the MCP server. Check the official documentation for the latest capabilities.

Detailed Usage

create_issue

Create a new issue in Linear with title, description, team assignment, and optional priority and status.

use_mcp_tool({
  server_name: "linear",
  tool_name: "create_issue",
  arguments: {
    title: "Fix login page responsiveness",
    teamId: "TEAM-123",
    description: "The login page breaks on mobile devices",
    priority: 1, // 0 (none) to 4 (urgent)
    statusId: "in-progress"
  }
});

Priority scale: 0 = None, 1 = Low, 2 = Medium, 3 = High, 4 = Urgent

update_issue

Update an existing issue by ID with new title, description, priority, or status.

use_mcp_tool({
  server_name: "linear",
  tool_name: "update_issue",
  arguments: {
    issueId: "ISS-123",
    title: "Updated: Fix login page responsiveness on iOS",
    priority: 3,
    statusId: "in-review"
  }
});
search_issues

Execute flexible queries with text search, team filters, status filters, assignee filters, label matching, and priority filtering.

use_mcp_tool({
  server_name: "linear",
  tool_name: "search_issues",
  arguments: {
    query: "login bug",
    teamId: "TEAM-123",
    status: "in-progress",
    priority: 3,
    limit: 10
  }
});

Results default to 10 items maximum. Use pagination for larger result sets.

get_user_issues

Retrieve issues assigned to a specific user or the authenticated user.

// Get issues for authenticated user
use_mcp_tool({
  server_name: "linear",
  tool_name: "get_user_issues",
  arguments: {
    includeArchived: false,
    limit: 20
  }
});

// Get issues for specific user
use_mcp_tool({
  server_name: "linear",
  tool_name: "get_user_issues",
  arguments: {
    userId: "USER-456",
    includeArchived: true
  }
});
add_comment

Post comments to issues with markdown support for rich formatting and links.

use_mcp_tool({
  server_name: "linear",
  tool_name: "add_comment",
  arguments: {
    issueId: "ISS-123",
    body: "Fixed in PR #456. Ready for review.",
    displayIconUrl: "https://example.com/avatar.png"
  }
});

Supports markdown formatting for rich text, code blocks, and links.

create_project

Create new projects in Linear to organize related issues and initiatives.

use_mcp_tool({
  server_name: "linear",
  tool_name: "create_project",
  arguments: {
    name: "Q1 2025 Mobile Redesign",
    description: "Complete mobile app UI/UX refresh",
    teamIds: ["TEAM-123"],
    targetDate: "2025-03-31"
  }
});
update_project

Modify existing project details including name, description, and target dates.

use_mcp_tool({
  server_name: "linear",
  tool_name: "update_project",
  arguments: {
    projectId: "PROJ-789",
    name: "Q1 2025 Mobile Redesign - Updated",
    targetDate: "2025-04-15"
  }
});
search_projects

Search for projects across your Linear workspace with filtering options.

use_mcp_tool({
  server_name: "linear",
  tool_name: "search_projects",
  arguments: {
    query: "mobile redesign",
    includeArchived: false,
    limit: 10
  }
});

Installation

Prerequisites

  • Claude Desktop (Free or Pro)
  • Linear account with API access
  • Node.js installed

Configuration

Edit your Claude Desktop config file at ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "linear": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.linear.app/mcp"]
    }
  }
}

Automatic Authentication:

After restarting Claude Desktop, you'll be prompted to authenticate with Linear via OAuth when you first use a Linear tool.

For Claude Team/Enterprise (Web)

  1. Navigate to SettingsIntegrationsAdd more
  2. Enter the following:
    • Name: Linear
    • URL: https://mcp.linear.app/mcp
  3. Complete the OAuth flow to authenticate

Available Resources

The Linear MCP server provides resource URIs for direct context access:

  • Individual Issue Details: Direct access to specific issue data
  • Team Issue Collections: View all issues for a team
  • User Assignment Lists: Get issues assigned to users
  • Organization Information: Access workspace and organization data
  • Current Viewer Context: Information about the authenticated user

Common Use Cases

Bug Tracking

Create and track bugs with priority filtering:

"Create a high-priority bug report in Linear for the login issue on iOS,
assign it to the mobile team, and add details from the error logs"

Sprint Planning

Search and organize issues for sprint planning:

"Show me all high-priority issues assigned to the frontend team
that are currently in backlog status"

Team Workload Analysis

Analyze team capacity and assignments:

"Get all issues assigned to Sarah and summarize them by project
to see her current workload"

Troubleshooting

Internal Server Error

If you encounter internal server errors, clear saved authentication and restart:

rm -rf ~/.mcp-auth

Also ensure you're using a recent version of Node.js (v18+).

WSL/Windows Issues

If experiencing issues on Windows/WSL, use the SSE transport instead:

{
  "mcpServers": {
    "linear": {
      "command": "wsl",
      "args": ["npx", "-y", "mcp-remote", "https://mcp.linear.app/sse", "--transport", "sse-only"]
    }
  }
}

Authentication Timeout

If OAuth authentication times out:

  1. Ensure your browser allows popups from Linear
  2. Check that you have proper network connectivity
  3. Try using a restricted API key for read-only access instead

Advanced Configuration

Using API Keys

For read-only access or automation, you can use Linear API keys:

{
  "mcpServers": {
    "linear": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.linear.app/mcp"],
      "env": {
        "LINEAR_API_KEY": "lin_api_your_key_here"
      }
    }
  }
}

Custom OAuth Application

For integrating with existing OAuth applications, pass tokens directly:

Authorization: Bearer <your_oauth_token>

Sources