TS

linear-mcp

by cline/linear-mcp

1 views

a private MCP server for accessing Linear

nodejstypescriptAPI Integration

Linear MCP Server

An MCP server for interacting with Linear's API. This server provides a set of tools for managing Linear issues, projects, and teams through Cline.

Setup Guide

1. Environment Setup

  1. Clone the repository
  2. Install dependencies:
    npm install
    
  3. Copy .env.example to .env:
    cp .env.example .env
    

2. Authentication

The server supports two authentication methods:

API Key (Recommended)

  1. Go to Linear Settings
  2. Navigate to the "Security & access" section
  3. Find the "Personal API keys" section
  4. Click "New API key"
  5. Give the key a descriptive label (e.g. "Cline MCP")
  6. Copy the generated token immediately
  7. Add the token to your .env file:
    LINEAR_API_KEY=your_api_key
    

OAuth Flow (Alternative) NOT IMPLEMENTED

  1. Create an OAuth application at https://linear.app/settings/api/applications
  2. Configure OAuth environment variables in .env:
    LINEAR_CLIENT_ID=your_oauth_client_id
    LINEAR_CLIENT_SECRET=your_oauth_client_secret
    LINEAR_REDIRECT_URI=http://localhost:3000/callback
    

3. Running the Server

  1. Build the server:
    npm run build
    
  2. Start the server:
    npm start
    

4. Cline Integration

  1. Open your Cline MCP settings file:

    • macOS: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
    • Windows: %APPDATA%/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
    • Linux: ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  2. Add the Linear MCP server configuration:

    {
      "mcpServers": {
        "linear": {
          "command": "node",
          "args": ["/path/to/linear-mcp/build/index.js"],
          "env": {
            "LINEAR_API_KEY": "your_personal_access_token"
          },
          "disabled": false,
          "autoApprove": []
        }
      }
    }
    

Available Actions

The server currently supports the following operations:

Issue Management

  • โœ… Create issues with full field support (title, description, team, project, etc.)
  • โœ… Update existing issues (priority, description, etc.)
  • โœ… Delete issues (single or bulk deletion)
  • โœ… Search issues with filtering
  • โœ… Associate issues with projects
  • โœ… Create parent/child issue relationships

Project Management

  • โœ… Create projects with associated issues
  • โœ… Get project information
  • โœ… Associate issues with projects

Team Management

  • โœ… Get team information (with states and workflow details)
  • โœ… Access team states and labels

Authentication

  • โœ… API Key authentication
  • โœ… Secure token storage

Batch Operations

  • โœ… Bulk issue creation
  • โœ… Bulk issue deletion

Bulk Updates (In Testing)

  • ๐Ÿšง Bulk issue updates (parallel processing implemented, needs testing)

Features in Development

The following features are currently being worked on:

Issue Management

  • ๐Ÿšง Comment functionality (add/edit comments, threading)
  • ๐Ÿšง Complex search filters
  • ๐Ÿšง Pagination support for large result sets

Metadata Operations

  • ๐Ÿšง Label management (create/update/assign)
  • ๐Ÿšง Cycle/milestone management

Project Management

  • ๐Ÿšง Project template support
  • ๐Ÿšง Advanced project operations

Authentication

  • ๐Ÿšง OAuth flow with automatic token refresh

Performance & Security

  • ๐Ÿšง Rate limiting
  • ๐Ÿšง Detailed logging
  • ๐Ÿšง Load testing and optimization

Development

# Install dependencies
npm install

# Run tests
npm test

# Run integration tests (requires LINEAR_API_KEY)
npm run test:integration

# Build the server
npm run build

# Start the server
npm start

Integration Testing

Integration tests verify that authentication and API calls work correctly:

  1. Set up authentication (API Key recommended for testing)
  2. Run integration tests:
    npm run test:integration
    

For OAuth testing:

  1. Configure OAuth credentials in .env
  2. Remove .skip from OAuth tests in src/__tests__/auth.integration.test.ts
  3. Run integration tests

Install

{
  "mcpServers": {
    "linear-mcp": {
      "command": "node",
      "args": [
        "/path/to/linear-mcp/build/index.js"
      ]
    }
  }
}
For more configuration details, refer to the content on the left

Related

Related projects feature coming soon

Will recommend related projects based on sub-categories