Linear MCP Server - UBOS

✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

Linear MCP Server

Note: This is a custom implementation. For the official Cline Linear MCP server, see cline/linear-mcp.

  • Run with your API key:

  • LINEAR_API_KEY=your-api-key npx @ibraheem4/linear-mcp
    

    Or set it in your environment:

    export LINEAR_API_KEY=your-api-key
    npx @ibraheem4/linear-mcp
    

    Development Setup

    1. Clone the repository:
    git clone [repository-url]
    cd linear-mcp
    
    1. Install dependencies:
    npm install
    
    1. Build the project:
    npm run build
    

    Running with Inspector

    For local development and debugging, you can use the MCP Inspector:

    1. Install supergateway:
    npm install -g supergateway
    
    1. Use the included run.sh script:
    chmod +x run.sh
    LINEAR_API_KEY=your-api-key ./run.sh
    
    1. Access the Inspector:
      • Open localhost:1337 in your browser
      • The Inspector connects via Server-Sent Events (SSE)
      • Test and debug tool calls through the Inspector interface

    Configuration

    Configure the MCP server in your settings file based on your client:

    For Claude Desktop

    • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%/Claude/claude_desktop_config.json
    {
      "mcpServers": {
        "linear-mcp": {
          "command": "node",
          "args": ["/path/to/linear-mcp/build/index.js"],
          "env": {
            "LINEAR_API_KEY": "your-api-key-here"
          },
          "disabled": false,
          "alwaysAllow": []
        }
      }
    }
    

    For VS Code Extension (Cline)

    Location: ~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json

    {
      "mcpServers": {
        "linear-mcp": {
          "command": "node",
          "args": ["/path/to/linear-mcp/build/index.js"],
          "env": {
            "LINEAR_API_KEY": "your-api-key-here"
          },
          "disabled": false,
          "alwaysAllow": []
        }
      }
    }
    

    For Cursor (cursor.sh)

    For Cursor, the server must be run with the full path:

    node /Users/ibraheem/Projects/linear-mcp/build/index.js
    

    Available Tools

    create_issue

    Creates a new issue in Linear.

    {
      title: string;          // Required: Issue title
      description?: string;   // Optional: Issue description (markdown supported)
      teamId: string;        // Required: Team ID
      assigneeId?: string;   // Optional: Assignee user ID
      priority?: number;     // Optional: Priority (0-4)
      labels?: string[];     // Optional: Label IDs to apply
    }
    

    list_issues

    Lists issues with optional filters.

    {
      teamId?: string;      // Optional: Filter by team ID
      assigneeId?: string;  // Optional: Filter by assignee ID
      status?: string;      // Optional: Filter by status
      first?: number;       // Optional: Number of issues to return (default: 50)
    }
    

    update_issue

    Updates an existing issue.

    {
      issueId: string;       // Required: Issue ID
      title?: string;        // Optional: New title
      description?: string;  // Optional: New description
      status?: string;      // Optional: New status
      assigneeId?: string;  // Optional: New assignee ID
      priority?: number;    // Optional: New priority (0-4)
      labels?: string[];   // Optional: Label IDs to apply to the issue
    }
    

    list_teams

    Lists all teams in the workspace. No parameters required.

    list_projects

    Lists all projects with optional filtering.

    {
      teamId?: string;     // Optional: Filter by team ID
      first?: number;      // Optional: Number of projects to return (default: 50)
    }
    

    get_issue

    Gets detailed information about a specific issue.

    {
      issueId: string; // Required: Issue ID
    }
    

    Development

    For development with auto-rebuild:

    npm run watch
    

    Error Handling

    The server includes comprehensive error handling for:

    • Invalid API keys
    • Missing required parameters
    • Linear API errors
    • Invalid tool requests

    All errors are properly formatted and returned with descriptive messages.

    Technical Details

    Built with:

    • TypeScript
    • Linear SDK (@linear/sdk v37.0.0)
    • MCP SDK (@modelcontextprotocol/sdk v0.6.0)

    The server uses stdio for communication and implements the Model Context Protocol for seamless integration with AI agents.

    License

    MIT

    Featured Templates

    View More
    AI Assistants
    Talk with Claude 3
    153 1017
    AI Assistants
    AI Chatbot Starter Kit v0.1
    127 547
    Verified Icon
    AI Agents
    AI Chatbot Starter Kit
    1292 5644 5.0
    Customer service
    Service ERP
    125 645

    Start your free trial

    Build your solution today. No credit card required.

    Sign In

    Register

    Reset Password

    Please enter your username or email address, you will receive a link to create a new password via email.