Skip to content

A server that integrates Linear's project management system with the Model Context Protocol (MCP) to allow LLMs to interact with Linear.

License

Notifications You must be signed in to change notification settings

DVG/linear-mcp-server

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linear MCP Server

npm version smithery badge

A Model Context Protocol server for the Linear API.

This server provides integration with Linear's issue tracking system through MCP, allowing LLMs to interact with Linear issues.

Installation

Automatic Installation

To install the Linear MCP server for Claude Desktop automatically via Smithery:

npx @smithery/cli install linear-mcp-server --client claude

Manual Installation

  1. Create or get a Linear API key for your team: https://linear.app/YOUR-TEAM/settings/api

  2. Add server config to Claude Desktop:

    • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "linear": {
      "command": "npx",
      "args": [
        "-y",
        "linear-mcp-server"
      ],
      "env": {
        "LINEAR_API_KEY": "your_linear_api_key_here"
      }
    }
  }
}

Components

Tools

  1. linear_create_issue: Create a new Linear issues

    • Required inputs:
      • title (string): Issue title
      • teamId (string): Team ID to create issue in
    • Optional inputs:
      • description (string): Issue description (markdown supported)
      • priority (number, 0-4): Priority level (1=urgent, 4=low)
      • status (string): Initial status name
  2. linear_update_issue: Update existing issues

    • Required inputs:
      • id (string): Issue ID to update
    • Optional inputs:
      • title (string): New title
      • description (string): New description
      • priority (number, 0-4): New priority
      • status (string): New status name
  3. linear_search_issues: Search issues with flexible filtering

    • Optional inputs:
      • query (string): Text to search in title/description
      • teamId (string): Filter by team
      • status (string): Filter by status
      • assigneeId (string): Filter by assignee
      • labels (string[]): Filter by labels
      • priority (number): Filter by priority
      • limit (number, default: 10): Max results
  4. linear_get_user_issues: Get issues assigned to a user

    • Optional inputs:
      • userId (string): User ID (omit for authenticated user)
      • includeArchived (boolean): Include archived issues
      • limit (number, default: 50): Max results
  5. linear_add_comment: Add comments to issues

    • Required inputs:
      • issueId (string): Issue ID to comment on
      • body (string): Comment text (markdown supported)
    • Optional inputs:
      • createAsUser (string): Custom username
      • displayIconUrl (string): Custom avatar URL
  6. linear_create_project: Create a new Linear project

    • Required inputs:
      • name (string): Project name
      • teamId (string): Team ID to create project in
    • Optional inputs:
      • description (string): Project description (markdown supported)
      • icon (string): Project icon (emoji)
      • color (string): Project color (hex code)
      • state (string): Initial project state ID
  7. linear_update_project: Update existing projects

    • Required inputs:
      • id (string): Project ID to update
    • Optional inputs:
      • name (string): New project name
      • description (string): New project description
      • icon (string): New project icon (emoji)
      • color (string): New project color (hex code)
      • state (string): New project state ID
  8. linear_list_projects: List projects with filtering

    • Optional inputs:
      • teamId (string): Filter by team ID
      • includeArchived (boolean): Include archived projects
      • limit (number, default: 50): Max results
  9. linear_set_project_content: Set rich markdown content for a project

    • Required inputs:
      • id (string): Project ID
      • content (string): Rich markdown content for the project description

Resources

  • linear-issue:///{issueId} - View individual issue details
  • linear-project:///{projectId} - View individual project details
  • linear-team:///{teamId}/issues - View team issues
  • linear-user:///{userId}/assigned - View user's assigned issues
  • linear-organization: - View organization info
  • linear-viewer: - View current user context

Usage examples

Some example prompts you can use with Claude Desktop to interact with Linear:

  1. "Show me all my high-priority issues" → execute the search_issues tool and/or linear-user:///{userId}/assigned to find issues assigned to you with priority 1

  2. "Based on what I've told you about this bug already, make a bug report for the authentication system" → use create_issue to create a new high-priority issue with appropriate details and status tracking

  3. "Find all in progress frontend tasks" → use search_issues to locate frontend-related issues with in progress task

  4. "Give me a summary of recent updates on the issues for mobile app development" → use search_issues to identify the relevant issue(s), then linear-issue:///{issueId} fetch the issue details and show recent activity and comments

  5. "What's the current workload for the mobile team?" → combine linear-team:///{teamId}/issues and search_issues to analyze issue distribution and priorities across the mobile team

  6. "Create a new project for our Q3 marketing campaign" → use linear_create_project to create a new project with appropriate details and team assignment

  7. "Update the documentation for our API project with the latest authentication flow" → use linear_set_project_content to update a project's rich markdown content with detailed documentation

  8. "Show me all active projects for the engineering team" → use linear_list_projects to list all projects filtered by team

  9. "Change the icon and color of our onboarding project to make it more visible" → use linear_update_project to update a project's visual attributes

Development

  1. Install dependencies:
npm install
  1. Configure Linear API key in .env:
LINEAR_API_KEY=your_api_key_here
  1. Build the server:
npm run build

For development with auto-rebuild:

npm run watch

License

This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.

About

A server that integrates Linear's project management system with the Model Context Protocol (MCP) to allow LLMs to interact with Linear.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%