Project Context について
Project Context は、リポジトリ単位の課題を扱うローカル MCP サーバーです。Linear、GitHub Issues、GitHub Projects v2、Jira Cloud に対応し、設定と認証情報をホスト内に保管して、プレビュー後に書き込む方式を採用しています。
主な機能
- 01リポジトリに応じたプロバイダー選択
- 02課題とユーザーの検索
- 03プレビュー後の単回書き込み
- 04ホスト内の設定と認証情報
- 05プロバイダー固有の課題関係
活用シーン
- 01現在のリポジトリの課題検索
- 02制御された課題更新の準備
- 03認証情報をソースリポジトリ外に保管
MCP 対応
リポジトリのコンテキスト解決や、課題・ユーザー・コメント・変更の操作に使う、入出力スキーマ付きの11個のツールを MCP クライアントに公開します。書き込みは準備後に一度だけ適用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @sandovalrr/project-context-mcpPROJECT_CONTEXT_CONFIG_DIROptional absolute path to the host-local configuration directoryPROJECT_CONTEXT_STATE_DIROptional absolute path to the host-local runtime state directoryPROJECT_CONTEXT_CWDOptional repository fallback when the MCP client provides no filesystem rootローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
11掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| cwd | string | いいえ | Git の作業ディレクトリ。デフォルトはサーバープロセスの cwd です |
詳細
project-context
project-context は、リポジトリ単位の課題管理を行う、ローカルでプロバイダーに依存しない MCP サーバーです。プロジェクトのマッピングと認証情報をソースリポジトリの外部に保ちながら、エージェントが Linear、GitHub Issues、GitHub Projects v2、Jira Cloud を単一のガード付きインターフェースから利用できるようにします。
このサーバーは現在の Git リポジトリを特定し、設定済みの課題プロバイダーを選択して、認証済みアカウントを検証します。さらに、すべての書き込みをプレビューと一度だけ実行する適用ステップに分けます。プルリクエスト、リリース、リポジトリ管理、Git 認証、コミット署名は意図的に対象外です。
クイックスタート
要件:Linux または macOS 上の Node.js 22 以降。
VERSION=0.1.0
npx -y --package="@sandovalrr/project-context-mcp@$VERSION" project-context setup
npx -y --package="@sandovalrr/project-context-mcp@$VERSION" project-context doctor
最初のコマンドは、既存のファイルを上書きせずに、ホストローカルの安全なスターターファイルを作成します。
~/.agents/config/project-context/projects.yaml
~/.agents/config/project-context/credentials.yaml
~/.agents/config/project-context/templates/
~/.agents/config/project-context/secrets/
~/.local/state/project-context/
examples/ にあるサニタイズ済みのサンプルをコピーして調整し、結果を検証してから、MCP クライアントに project-context-mcp の stdio コマンドを登録します。Codex、Claude、Zed、VS Code の完全な設定については、docs/installation.md を参照してください。
安全性モデル
- ホストローカルの YAML に、リポジトリ、プロバイダー、対象、期待される ID を指定します。コンテキストが不足している、または曖昧な場合、書き込みはフェイルクローズします。
- 認証情報は、ファイル、環境変数、OS のキーチェーン、または argv のみを使用するコマンドから解決されます。YAML 内のリテラルなシークレットは拒否されます。
- プロバイダーへの呼び出しは固定された HTTPS オリジンに制限され、リダイレクトを拒否し、応答サイズとタイムアウトに上限を設けます。また、書き込みを自動的に再試行することはありません。
- Linear の課題操作では、Linear のホスト型 MCP ツールの固定許可リストを使用します。project-context が上流サーバーのより広範なツールカタログをプロキシすることはありません。
- 準備済みの書き込みは 10 分で期限切れになり、AES-256-GCM で暗号化され、一度だけ処理できます。適用結果が不確かな場合は
indeterminateとなり、自動的に再実行されることはありません。 - 変更監査レコードにはメタデータのみが含まれ、モードは
0600で、ローカルでローテーションされます。このプロジェクトはテレメトリーを使用しません。
信頼境界と残存リスクについては docs/threat-model.md を、運用時の動作については docs/routing-and-safety.md を参照してください。
コマンドと MCP ツール
project-context --help
project-context setup --guided
project-context config validate
project-context resolve --cwd /path/to/repository
project-context issue list --status open --status in_progress
project-context issue list --parent linear:ENG-42
project-context issue user search "John Smith"
project-context issue capabilities
project-context issue option search labels security
project-context issue option search cycle current
project-context issue get linear:ENG-42 --include-relations
project-context issue comment list github:#42 --limit 20
project-context issue prepare create --title "Child task" --parent ENG-42
project-context doctor
project-context audit list
project-context skill status
project-context integration manifest --client codex
stdio サーバーは 11 個のツールを公開します。
resolve_project_contextlist_issuessearch_issueslist_userssearch_userssearch_issue_optionsget_issue_capabilitiesget_issuelist_issue_commentsprepare_issue_changeapply_issue_change
各ツールには入力スキーマと出力スキーマがあります。サーバーの起動によって設定以外の副作用が生じることはありません。ホスト設定がない場合、ツールは対処方法を示す構造化エラーを返します。
Linear ではさらに、対象に紐づくサブ課題、期日、見積もり、サイクル、マイルストーン、ブロック/関連/重複の関係、コメントへの返信と編集、アーカイブ済み項目の一覧表示、関係を展開した読み取りに対応しています。SLA フィールド、完全削除、課題以外の Linear 機能は公開されません。
GitHub ではさらに、リポジトリの課題タイプとマイルストーン、ネイティブな親子の課題階層、ブロック依存関係、重複の関係、コメント編集、直接のサブ課題の一覧表示、関係を展開した読み取りに対応しています。GitHub のカスタムフィールドのマッピング、汎用の関連関係、スレッド形式のコメントへの返信、プルリクエスト、リポジトリ管理は公開されません。
integration manifest はデフォルトでプロバイダーに依存しないコマンド定義を出力します。--client codex、claude、zed、または vscode を渡すと、インストール済みパッケージのバージョンに固定された、クライアント固有の貼り付け可能な設定を出力します。自動化でクライアント、形式、設定を含むエンベロープが必要な場合は、--json を追加します。
オプションの project-issues エージェントスキルはパッケージに含まれていますが、npm のライフサイクルによる副作用としてインストールされることはありません。
project-context skill status
project-context skill install
--replace は、ステータスを確認してから使用してください。置き換え時にはタイムスタンプ付きのバックアップが作成されます。
ドキュメント
docs/installation.md:パッケージと MCP クライアントのセットアップ。docs/configuration.md:ホストローカルの YAML と認証情報リゾルバー。docs/architecture.md:コンポーネントとランタイムの境界。docs/provider-behavior.md:プロバイダー固有の動作。docs/releasing.md:ブートストラップ、セマンティックリリース、npm、MCP Registry。CONTRIBUTING.md:開発とレビューの要件。SECURITY.md:サポート対象バージョンと非公開の報告方法。
ライセンスと帰属表示
このプロジェクトはMIT Licenseのもとで利用でき、著作権は2026年 Richard Sandovalに帰属します。ソフトウェアの複製物または実質的な部分には、 著作権表示と許諾表示をそのまま残す必要があります。
このリポジトリを別のプロジェクトの出発点として使用する場合は、次のように 目に見える形で謝辞を記載していただけると幸いです。
Richard Sandovalが作成したproject-contextをベースにしています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。