Linear MCP Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Allows access to Linear's issue tracking system, enabling users to create, update, search, and delete issues, add comments, retrieve projects and team information, manage labels, and track parent/child relationships among issues.

リニアMCPサーバー

標準化されたインターフェースを通じて Linear の問題追跡システムへのアクセスを提供するモデル コンテキスト プロトコル (MCP) サーバー実装。

特徴

  • ラベルサポートを使用して新しい問題とサブ問題を作成する
  • 線形プロジェクトのリストを取得する
  • プロジェクトの更新を取得する
  • ヘルスステータスを含む新しいプロジェクト更新を作成する
  • 既存の問題を完全なフィールド変更で更新する
  • 検証による問題削除
  • 「me」というキーワードを使用して課題を自分で割り当てる
  • リニアの強力なフィルタリング機能による高度な検索
  • サイクル別に問題をフィルタリング(UUID または番号による現在、次、前、または特定のサイクル)
  • マークダウンサポートを使用して問題にコメントを追加する
  • ID またはキー(オプションの関係あり)で線形問題をクエリする
  • 拡張メタデータを使用したカスタムクエリを使用した問題の検索
  • Linearの公式SDKを使用した型安全な操作
  • 包括的なエラー処理
  • レート制限の処理
  • クリーンなデータ変換
  • チーム継承による親子関係の追跡
  • ラベル管理と同期

前提条件

  • Bunランタイム (v1.0.0 以上)
  • APIアクセス可能なリニアアカウント

環境変数

LINEAR_API_KEY=your_api_key # Your Linear API token

インストールとセットアップ

1. リポジトリをクローンします。

git clone [repository-url] cd linear-mcp

2. 依存関係をインストールしてビルドします。

bun install bun run build

3. MCP サーバーを構成します。

適切な構成ファイルを編集します。

macOS:

  • Cline: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  • Claude デスクトップ: ~/Library/Application Support/Claude/claude_desktop_config.json

ウィンドウズ:

  • クライン: %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
  • クロード デスクトップ: %APPDATA%\Claude Desktop\claude_desktop_config.json

リナックス:

  • クライン: ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  • Claude Desktop:残念ながらまだ存在しません

mcpServersオブジェクトの下に次の構成を追加します。

{ "mcpServers": { "linear": { "command": "node", "args": ["/absolute/path/to/linear-mcp/build/index.js"], "env": { "LINEAR_API_KEY": "your_api_key" } } } }

4. MCP サーバーを再起動します。

ClineのMCP設定で、MCPサーバーを再起動します。Claude Desktopを再起動して、新しいMCPサーバーをロードします。

発達

開発サーバーを実行します:

bun run dev

プロジェクトのビルド:

bun run build

利用可能なMCPツール

すべてのツールの詳細な使用例については、 USAGE.md を参照してください。

問題作成

新しい Linear の問題またはサブ問題を作成します。

入力スキーマ:

{ "teamId": "string", "title": "string", "description": "string", "parentId": "string", "status": "string", "priority": "number", "assigneeId": "string | 'me'", "labelIds": ["string"] }

更新問題

既存の Linear の問題を更新します。

入力スキーマ:

{ "issueId": "string", "title": "string", "description": "string", "status": "string", // Expects status NAME (e.g., "In Progress"). Must be valid for the issue's team. "priority": "number", // Expects 0 (None) to 4 (Low). "assigneeId": "string | 'me'", "labelIds": ["string"], "cycleId": "string" }

発行を取得

オプションの関係を持つ特定の線形問題に関する詳細情報を取得します。

入力スキーマ:

{ "issueId": "string", "includeRelationships": "boolean" }

検索問題

クエリ文字列と高度なフィルターを使用して、Linear の問題を検索します。Linear の強力なフィルタリング機能をサポートします。

入力スキーマ:

{ "query": "string", "includeRelationships": "boolean", "filter": { "title": { "contains": "string", "eq": "string", ... }, "description": { "contains": "string", "eq": "string", ... }, "priority": { "gte": "number", "lt": "number", ... }, "estimate": { "eq": "number", "in": ["number"], ... }, "dueDate": { "lt": "string", "gt": "string", ... }, "createdAt": { "gt": "P2W", "lt": "2024-01-01", ... }, "updatedAt": { "gt": "P1M", ... }, "completedAt": { "null": true, ... }, "assignee": { "id": { "eq": "string" }, "name": { "contains": "string" } }, "creator": { "id": { "eq": "string" }, "name": { "contains": "string" } }, "team": { "id": { "eq": "string" }, "key": { "eq": "string" } }, "state": { "type": { "eq": "started" }, "name": { "eq": "string" } }, "labels": { "name": { "in": ["string"] }, "every": { "name": { "eq": "string" } } }, "project": { "id": { "eq": "string" }, "name": { "contains": "string" } }, "and": [{ /* filters */ }], "or": [{ /* filters */ }], "assignedTo": "string | 'me'", "createdBy": "string | 'me'" }, "projectId": "string", "projectName": "string" }

サポートされている比較演算子:

  • 文字列フィールド: eqneqinnincontainsstartsWithendsWith (および大文字と小文字を区別しないバリアント)
  • 数値フィールド: eqneqltltegtgteinnin
  • 日付フィールド: eqneqltltegtgte (ISO 8601 期間をサポート)

get_teams

オプションの名前/キー フィルタリングを使用して、Linear チームのリストを取得します。

入力スキーマ:

{ "nameFilter": "string" }

問題を削除

既存の Linear の問題を削除します。

入力スキーマ:

{ "issueId": "string" }

コメントを作成

線形の問題に関する新しいコメントを作成します。

入力スキーマ:

{ "issueId": "string", "body": "string" }

get_projects

オプションの名前フィルタリングとページ区切りを使用して、Linear プロジェクトのリストを取得します。

入力スキーマ:

{ "nameFilter": "string", "includeArchived": "boolean", "first": "number", "after": "string" }

プロジェクトの更新情報を取得する

オプションのフィルタリング パラメータを使用して、指定されたプロジェクト ID のプロジェクト更新を取得します。

入力スキーマ:

{ "projectId": "string", "includeArchived": "boolean", "first": "number", "after": "string", "createdAfter": "string", "createdBefore": "string", "userId": "string | 'me'", "health": "string" }

プロジェクト作成更新

リニア プロジェクトの新しい更新を作成します。

入力スキーマ:

{ "projectId": "string", "body": "string", "health": "onTrack | atRisk | offTrack", "isDiffHidden": "boolean" }

技術的な詳細

  • TypeScript の厳密モードで構築
  • Linearの公式SDK(@linear/sdk)を使用します
  • MCP SDK(@modelcontextprotocol/sdk 1.4.0)を使用します
  • APIトークンによる認証
  • 包括的なエラー処理
  • レート制限に関する考慮事項
  • パフォーマンス向上のためのBunランタイム
  • ESMモジュール全体
  • Viteビルドシステム
  • 型安全な操作
  • データクリーニング機能:
    • 問題言及抽出(ABC-123形式)
    • ユーザーメンション抽出(@ユーザー名形式)
    • Markdownコンテンツのクリーニング
    • AIコンテキスト向けのコンテンツ最適化
  • 自己割り当てサポート:
    • 現在のユーザーの自動解決
    • 作成/更新操作における「me」キーワードのサポート
    • 効率的なユーザーIDキャッシュ
  • 高度な検索機能:
    • LinearのAPIによる包括的なフィルタリング
    • すべてのフィールドコンパレータのサポート
    • 関係フィルタリング
    • 論理演算子(and、or)
    • 相対日付フィルタリング
    • 譲受人/作成者(自分自身を含む)でフィルタリング
    • 特定のユーザーIDのサポート
    • IDまたは名前によるプロジェクトのフィルタリング
    • 効率的なクエリ最適化
  • プロジェクト管理機能:
    • フィルタリングとページ区切りを備えたプロジェクト一覧
    • ヘルスステータスの追跡によるプロジェクト更新の作成
    • フィルタリングオプションによるプロジェクト更新の取得

エラー処理

サーバーは包括的なエラー処理戦略を実装します。

  • ネットワークエラーの検出と適切なメッセージング
  • HTTPステータスコードの処理
  • ステータスコード付きの詳細なエラーメッセージ
  • エラーの詳細がコンソールに記録される
  • すべてのパラメータの入力検証
  • ラベルの検証と同期
  • MCPプロトコルによる安全なエラー伝播
  • レート制限の検出と処理
  • 認証エラー処理
  • 無効なクエリの処理
  • サブ課題のチーム継承検証
  • ユーザー解決の検証
  • 検索フィルターの検証

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENCEファイルを参照してください。

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Linear の問題追跡システムにアクセスするためのモデル コンテキスト プロトコル インターフェイスを提供し、ユーザーが TypeScript の型の安全性と堅牢なエラー処理を使用して問題を照会および検索できるようにします。

  1. Features
    1. Prerequisites
      1. Environment Variables
        1. Installation & Setup
          1. 1. Clone the repository:
          2. 2. Install dependencies and build:
          3. 3. Configure the MCP server:
          4. 4. Restart the MCP server.
        2. Development
          1. Available MCP Tools
            1. create_issue
            2. update_issue
            3. get_issue
            4. search_issues
            5. get_teams
            6. delete_issue
            7. create_comment
            8. get_projects
            9. get_project_updates
            10. create_project_update
          2. Technical Details
            1. Error Handling
              1. LICENCE
                ID: 83wkbjoqvn