Linear MCP Integration Server について
Linear MCP Integration Serverは、AIモデルをLinearに接続し、課題追跡やプロジェクト管理を可能にします。課題・チームの検索、スプリントやサイクルの管理、課題更新、一括ステータス変更に対応します。
主な機能
- 01Linearの課題作成
- 02課題の検索と絞り込み
- 03スプリント課題の表示
- 04チーム検索
- 05課題詳細の取得
- 06サイクル管理とステータス一括変更
活用シーン
- 01タスク説明から課題を作成
- 02チーム、状態、担当者で課題を検索
- 03現在のスプリント作業を確認
- 04複数課題の状態を一括更新
MCP 対応
課題、チーム、スプリント、サイクル操作など、Linearの課題追跡とプロジェクト管理ツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Linear MCP 統合サーバー
このサーバーは、Model Context Protocol(MCP)を通じて Linear の統合機能を提供します。AI モデルが Linear と連携して、課題の追跡やプロジェクト管理を行えます。
機能
このサーバーは、MCP インターフェースを通じて次のツールを提供します。
linear_create_issue
次のパラメーターを指定して、新しい Linear の課題を作成します。
title(必須):課題のタイトルteamId(必須):課題を作成するチームの IDdescription(任意):課題の説明(Markdown に対応)priority(任意):優先度(0~4)status(任意):初期ステータス名
linear_search_issues
柔軟なフィルタリングとページネーションに対応して、Linear の課題を検索します。
query(任意):タイトル/説明を対象に検索するテキストteamId(任意):チームで絞り込みstatus(任意):ステータスで絞り込みassigneeId(任意):担当者で絞り込みpriority(任意):優先度(0~4)limit(任意、デフォルト:10):1 ページあたりの最大結果数cursor(任意):次のページを取得するためのページネーションカーソルsortBy(任意、デフォルト:'updated'):並べ替えの基準となるフィールド('created'、'updated'、'priority'、'title')sortDirection(任意、デフォルト:'desc'):並べ替えの順序('asc'、'desc')
linear_sprint_issues
現在のスプリント/イテレーションに含まれるすべての課題を取得します。
teamId(必須):スプリントの課題を取得するチームの ID
linear_search_teams
Linear のチームを検索して取得します。
query(任意):チーム名を対象に検索するテキスト
linear_filter_sprint_issues
現在のスプリントの課題をステータスで絞り込み、現在のユーザーの課題に自動的に限定します。
teamId(必須):スプリントの課題を取得するチームの IDstatus(必須):絞り込むステータス(例:"Pending Prod Release")
linear_get_issue_details
特定の課題について、説明全文、コメント、メタデータを含む詳細情報を取得します。
issueId(必須):詳細を取得する課題の ID(例:"DATA-1284")
linear_bulk_update_status
複数の Linear の課題のステータスを一括で更新します。
issueIds(必須):更新する課題 ID のリスト(例:["ENG-123", "DATA-456"])targetStatus(必須):すべての課題に設定するステータス(例:"In Progress")
linear_manage_cycle
Linear のサイクル(スプリント)を作成、更新したり、情報を取得したりします。
action(必須):実行するアクション:"create"、"update"、"get"、"list" のいずれかteamId(必須):サイクルを管理するチームの IDcycleId(任意、update および get アクションでは必須):サイクル IDname(任意、create では必須):サイクル名startDate(任意、create では必須):ISO 形式の開始日(YYYY-MM-DD)endDate(任意、create では必須):ISO 形式の終了日(YYYY-MM-DD)description(任意):サイクルの説明
開発者向けセットアップ
- Linear の設定 > API セクションから Linear API キーを取得します
- プロジェクトのルートに
.envファイルを作成します。
LINEAR_API_KEY=your_api_key_here
- 依存関係をインストールします。
npm install
- サーバーを起動します。
# Development mode with auto-reload
npm run dev
# Production mode
npm start
# Build TypeScript
npm run build
# Run linter
npm run lint
# Run tests
npm run test
# Inspect MCP server
npm run inspect
技術的な詳細
- TypeScript と Model Context Protocol SDK で構築されています
- API 連携には Linear SDK を使用します
- エラー処理、レート制限、接続管理を備えています
- 設定可能な再試行回数で自動再接続に対応しています
- 接続状態を確認するハートビート監視を実装しています
- デバッグモードでは詳細なログを出力します
- パフォーマンス向上のため、インメモリキャッシュシステムを備えています
- 大量の結果を扱うためのページネーションに対応しています
- 一括操作向けのバッチ処理を実装しています
パフォーマンスと信頼性
このサーバーは、パフォーマンスと信頼性を高める包括的な機能を備えています。
キャッシュシステム
- 頻繁にアクセスされるデータ(チーム、ワークフローの状態)をインメモリにキャッシュします
- キャッシュエントリーの TTL(有効期間)を設定できます
- 期限切れのキャッシュエントリーを自動的にクリーンアップします
- デバッグモードではキャッシュ統計を確認できます
エラー処理
- 設定可能なタイムアウトによる API タイムアウト保護
- 接続が失われた場合の自動再接続の試行
- タイムスタンプとコンテキストを含む詳細なエラーログ
- クリーンアップを伴う適切なシャットダウン処理
- 接続の健全性を監視するハートビート
パフォーマンスの最適化
- 一括操作のためのバッチ処理
- 大規模な結果セットに対応するページネーション
- 同時操作のための Promise.all による並列処理
- API 呼び出しを最小限に抑えた効率的なデータ取得
依存関係
@linear/sdk:Linear API クライアント@modelcontextprotocol/sdk:MCP サーバーの実装zod:実行時の型チェックと検証dotenv:環境変数の管理- TypeScript および関連する開発ツール
依存関係の完全な一覧については、package.json を参照してください。
Smithery へのデプロイ
このサーバーは、付属の設定ファイルを使用して Smithery.ai にデプロイできます。
前提条件
- Smithery.ai アカウント
- Linear API キー
デプロイ手順
- このリポジトリを Smithery に追加するか、既存のサーバーを申請します
- Deployments タブにアクセスします(認証済みのオーナーのみ)
- Linear API キーを使用してデプロイを設定します
- サーバーをデプロイします
設定ファイル
このリポジトリには、Smithery へのデプロイに必要な次の 2 つのファイルが含まれています。
-
Dockerfile:サーバーのビルドプロセスを定義します
- ベースイメージとして Node.js 18 Alpine を使用します
- 依存関係をインストールし、TypeScript コードをビルドします
- サーバーを実行するコマンドを設定します
-
smithery.yaml:サーバーの起動設定を定義します
- サーバーを実行するコマンドを指定します
- 必要な設定パラメーター(Linear API キー)を定義します
- 環境変数の設定を処理します
ローカルでのテスト
MCP Inspector を使用して、Smithery の設定をローカルでテストできます。
# Build the Docker image
docker build -t linear-mcp-server .
# Run the container with your Linear API key
docker run -e LINEAR_API_KEY=your_api_key_here linear-mcp-server
# Or use the MCP Inspector
npm run inspect
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。