MCP HubMCP Hub
jerhadf

linear-mcp-server

by: jerhadf

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

257created 03/12/2024
Visit
Integration
LLM

📌Overview

Purpose: To facilitate integration with the Linear API for issue tracking, enabling Large Language Models (LLMs) to interact seamlessly with Linear issues.

Overview: The Linear MCP Server serves as a bridge between the Model Context Protocol (MCP) and the Linear API, allowing users to manage and interact with issues within Linear effectively. It enhances the user experience by enabling commands and tools that simplify task management.

Key Features:

  • Issue Creation (linear_create_issue): Allows users to create new issues in Linear, specifying essential information like title and team while optionally adding description, priority, and status. This feature supports proper task initiation within teams.

  • Issue Management (linear_update_issue): Users can update existing issues by providing the issue ID and any new details. This ensures that issue records remain current and accurate as work progresses.

  • Flexible Issue Searching (linear_search_issues): This feature enables users to search for issues with various filters (e.g., status, assignee, priority), making it easy to locate specific tasks based on customized criteria.

  • User-Specific Issue Retrieval (linear_get_user_issues): Users can access issues assigned to a particular user, enhancing personal task visibility and management.

  • Commenting on Issues (linear_add_comment): Users can add comments to issues, fostering communication and collaboration throughout the issue resolution process.


Linear MCP Server

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 issue

    • 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

Resources

  • linear-issue:///{issueId} - View individual issue 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

Here are some example prompts to use with Claude Desktop to interact with Linear:

  1. "Show me all my high-priority issues" → execute the search_issues tool and/or use user resource 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 status.

  4. "Give me a summary of recent updates on the issues for mobile app development" → use search_issues to identify relevant issues, then fetch issue details and show recent activity and comments.

  5. "What's the current workload for the mobile team?" → combine team resource and search_issues to analyze issue distribution and priorities across the mobile team.

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, allowing free use, modification, and distribution subject to its terms. See the LICENSE file in the project repository for details.