mcpField
L
Linear MCP Server

Linear MCP Server

ローカル
github.com/geroplバージョン管理1267 週間前に更新

Linear MCP Server について

AI クライアントから Linear API を操作する Go 製 MCP サーバーです。Issue とチームの操作を提供し、既定では読み取り専用で、オプションにより書き込みツールを有効にできます。リクエストにはレート制限があります。

主な機能

  1. 01Issue の作成、更新、検索
  2. 02ユーザーに割り当てられた Issue の取得
  3. 03Issue へのコメント追加
  4. 04チーム情報の取得
  5. 05API リクエストのレート制限

活用シーン

  1. 01AI クライアントから Linear の Issue を検索・絞り込み
  2. 02ユーザーが担当する Issue の取得
  3. 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 ページで入手できます。

  1. お使いのプラットフォームに適したバイナリをダウンロードします
  2. 実行可能にします(Linux/macOS):
chmod +x linear-mcp-go-*
  1. 「使用方法」セクションの説明に従ってバイナリを実行します
自動インストール
# 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

使用方法

サーバーの実行
  1. Linear API キーを環境変数として設定します:
export LINEAR_API_KEY=your_linear_api_key
  1. サーバーを実行します:
# 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

このコマンドは次の処理を行います:

  1. Linear MCP バイナリがすでにインストールされているか確認します
  2. 必要に応じて、現在のバイナリをインストールディレクトリにコピーします
  3. Linear MCP サーバーを使用するように AI アシスタントを設定します
  4. 指定されたツールの自動承認を設定します(要求された場合)

--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_issue
  • linear_update_issue
  • linear_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(必須):課題 ID
  • title:新しいタイトル
  • 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(必須):コメントを追加するイシューの ID
  • body(必須):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 を使用しています。

  1. main ブランチへのすべてのプッシュとプルリクエストは、自動的にテストされます
  2. v*(例:v1.0.0)のパターンに一致するタグがプッシュされると、新しいリリースが自動的に作成されます
  3. Linux、macOS、Windows 用のバイナリがビルドされ、リリースに添付されます

新しいリリースを作成するには:

  1. pkg/server/server.go のバージョンを更新します
  2. 変更をコミットします
  3. バージョンに一致するタグを作成してプッシュします:
git tag v1.0.0
git push origin v1.0.0

GitHub Actions のワークフローにより、適切なバイナリを含むリリースが自動的に作成されます。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。