Linear MCP Server について
AI クライアントから Linear API を操作する Go 製 MCP サーバーです。Issue とチームの操作を提供し、既定では読み取り専用で、オプションにより書き込みツールを有効にできます。リクエストにはレート制限があります。
主な機能
- 01Issue の作成、更新、検索
- 02ユーザーに割り当てられた Issue の取得
- 03Issue へのコメント追加
- 04チーム情報の取得
- 05API リクエストのレート制限
活用シーン
- 01AI クライアントから Linear の Issue を検索・絞り込み
- 02ユーザーが担当する Issue の取得
- 03MCP 経由で Issue の作成・更新やコメント追加
MCP 対応
Linear の Issue とチーム情報を扱うツールを MCP クライアントに公開します。作成、更新、コメントの書き込みツールは既定で無効で、書き込みアクセスを有効にできます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Linear MCP サーバー
Go で記述された Linear 用の Model Context Protocol(MCP)サーバーです。このサーバーは、MCP プロトコルを通じて Linear API と連携するためのツールを提供します。
機能
- Linear の課題の作成、更新、検索
- ユーザーに割り当てられた課題の取得
- 課題へのコメントの追加
- チーム情報の取得
- Linear の API 制限を守るための、レート制限付き API リクエスト
前提条件
- Go 1.23 以降
- Linear API キー
インストール
リリースから
Linux、macOS、Windows 用のビルド済みバイナリは、GitHub Releases ページで入手できます。
- お使いのプラットフォームに適したバイナリをダウンロードします
- 実行可能にします(Linux/macOS):
chmod +x linear-mcp-go-*
- 「使用方法」セクションの説明に従ってバイナリを実行します
自動インストール
# Download linux binary for the latest release
RELEASE=$(curl -s https://api.github.com/repos/geropl/linear-mcp-go/releases/latest)
DOWNLOAD_URL=$(echo $RELEASE | jq -r '.assets[] | select(.name | contains("linux")) | .browser_download_url')
curl -L -o ./linear-mcp-go $DOWNLOAD_URL
chmod +x ./linear-mcp-go
# Setup the mcp server (.gitpod.yml, dotfiles repo, etc.)
./linear-mcp-go setup --tool=cline
使用方法
サーバーの実行
- Linear API キーを環境変数として設定します:
export LINEAR_API_KEY=your_linear_api_key
- サーバーを実行します:
# Run in read-only mode (default)
./linear-mcp-go serve
# Run with write access enabled
./linear-mcp-go serve --write-access
サーバーが起動し、stdin/stdout で MCP リクエストを待ち受けます。
AI アシスタントのセットアップ
setup コマンドを使うと、さまざまな AI アシスタントのインストールと設定を自動化できます:
# Set your Linear API key as an environment variable
export LINEAR_API_KEY=your_linear_api_key
# Set up for Cline (default)
./linear-mcp-go setup
# Set up with write access enabled
./linear-mcp-go setup --write-access
# Set up with auto-approval for read-only tools
./linear-mcp-go setup --auto-approve=allow-read-only
# Set up with specific tools auto-approved
./linear-mcp-go setup --auto-approve=linear_get_issue,linear_search_issues
# Set up with write access and auto-approval for read-only tools
./linear-mcp-go setup --write-access --auto-approve=allow-read-only
# Set up for a different tool (only "cline" supported for now)
./linear-mcp-go setup --tool=cline
このコマンドは次の処理を行います:
- Linear MCP バイナリがすでにインストールされているか確認します
- 必要に応じて、現在のバイナリをインストールディレクトリにコピーします
- Linear MCP サーバーを使用するように AI アシスタントを設定します
- 指定されたツールの自動承認を設定します(要求された場合)
--auto-approve フラグを使うと、Cline の設定で自動承認するツールを指定できます:
--auto-approve=allow-read-only:すべての読み取り専用ツール(linear_search_issues、linear_get_user_issues、linear_get_issue、linear_get_teams)を自動承認します--auto-approve=tool1,tool2,...:カンマ区切りで指定したツールを自動承認します
現在サポートされている AI アシスタント:
- Cline(VSCode 拡張機能)
デフォルトでは、サーバーは読み取り専用モードで実行されるため、次のツールは無効になっています:
linear_create_issuelinear_update_issuelinear_add_comment
これらのツールを有効にするには、--write-access=true フラグを使用します。
利用可能なツール
linear_create_issue
指定した詳細情報を使って新しい Linear の課題を作成します。サブ課題の作成とラベルの割り当てに対応しています。
パラメーター:
title(必須):課題のタイトルteam(必須):チーム識別子(キー、UUID、または名前)description:課題の説明priority:優先度(0~4)status:課題のステータスparentIssue:サブ課題を作成する場合に指定する親課題の ID(任意)labels:割り当てるラベル ID のカンマ区切りリスト(任意)
linear_update_issue
既存の Linear の課題のプロパティを更新します。
パラメーター:
id(必須):課題 IDtitle:新しいタイトルdescription:新しい説明priority:新しい優先度(0~4)status:新しいステータス
linear_search_issues
柔軟な条件を使って Linear の課題を検索します。
パラメーター:
query:タイトルと説明を対象に検索するテキスト(任意)teamId:チーム ID で絞り込みますstatus:ステータス名(例:'In Progress'、'Done')で絞り込みますassigneeId:担当者のユーザー ID で絞り込みますlabels:ラベル名(カンマ区切り)で絞り込みますpriority:優先度(1=緊急、2=高、3=通常、4=低)で絞り込みますestimate:見積もりポイントで絞り込みますincludeArchived:アーカイブ済みの課題を結果に含めます(デフォルト:false)limit:返す結果の最大件数(デフォルト:10)
linear_get_user_issues
特定のユーザー、または認証済みユーザーに割り当てられた課題を取得します。
パラメーター:
userId:ユーザー ID(任意)。指定しない場合は、認証済みユーザーの課題を返しますincludeArchived:アーカイブ済みの課題を結果に含めますlimit:返す課題の最大件数(デフォルト:50)
linear_get_issue
ID を指定して、単一の Linear の課題を取得します。
パラメーター:
issueId(必須):取得する課題の ID
linear_add_comment
既存の Linear イシューにコメントを追加します。
パラメーター:
issueId(必須):コメントを追加するイシューの IDbody(必須):Markdown 形式のコメント本文createAsUser:コメントに表示する任意のカスタムユーザー名displayIconUrl:コメントに表示する任意のアバター URL
linear_get_teams
任意の名前フィルターを指定して Linear チームを取得します。
パラメーター:
name:任意のチーム名フィルター。この文字列を名前に含むチームを返します。
テスト
テストには go-vcr を使用し、https://linear.app/linear-mcp-go-test に対して実行します。
テストの実行
既存の録画データ(カセット)を使用します:
go test -v ./...
テストの再録画:
LINEAR_API_KEY の設定が必要です。
go test -v -record=true ./...
これにより、リモートの状態を変更しないすべてのテストが更新されます。
go test -v -recordWrites=true ./...
これにより、他のテストの結果に影響する可能性があり、追加の手動作業が必要になる場合のあるテストを含め、すべてのテストが再実行されます。
go test -v -golden=true ./...
すべての .golden フィールドを更新します。
リリースプロセス
このプロジェクトでは、テストとリリースの自動化に GitHub Actions を使用しています。
- main ブランチへのすべてのプッシュとプルリクエストは、自動的にテストされます
v*(例:v1.0.0)のパターンに一致するタグがプッシュされると、新しいリリースが自動的に作成されます- Linux、macOS、Windows 用のバイナリがビルドされ、リリースに添付されます
新しいリリースを作成するには:
pkg/server/server.goのバージョンを更新します- 変更をコミットします
- バージョンに一致するタグを作成してプッシュします:
git tag v1.0.0
git push origin v1.0.0
GitHub Actions のワークフローにより、適切なバイナリを含むリリースが自動的に作成されます。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。