siGit について
siGitは開発者やAIエージェント向けのsigit.si用コマンドラインクライアントで、MCPモードでリポジトリ操作を提供します。CLIの認証情報を再利用し、現在のGitチェックアウトから対象リポジトリを判定できます。
主な機能
- 01リポジトリの閲覧と作成
- 02PRとissueの管理
- 03コード検索
- 04stdio経由のMCPツール提供
- 05ツールセットの選択と読み取り専用モード
活用シーン
- 01現在のリポジトリのオープンなPRをエージェントに一覧表示させる
- 02ターミナルからissueを調査してコードを検索する
- 03エージェントを読み取り専用のリポジトリツールに限定する
MCP 対応
`si mcp`はリポジトリ、issue、PR、コード関連のコマンドをstdio経由でMCPツールとして公開し、`si auth login`のトークンを再利用します。sigit.siはHTTP接続用のリモートMCPサーバーも提供します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://sigit.si/api/v1/mcpclaude mcp add --transport http si-sigit-sigit https://sigit.si/api/v1/mcp{"mcpServers":{"si-sigit-sigit":{"type":"http","url":"https://sigit.si/api/v1/mcp"}}}Cursor で開く{"servers":{"si-sigit-sigit":{"type":"http","url":"https://sigit.si/api/v1/mcp"}}}VS Code で開く{"mcpServers":{"si-sigit-sigit":{"type":"http","url":"https://sigit.si/api/v1/mcp"}}}{"mcpServers":{"si-sigit-sigit":{"serverUrl":"https://sigit.si/api/v1/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
sigit-si-cli
si は sigit.si のコマンドラインインターフェースです。ターミナルからサインインし、リポジトリを管理し、プルリクエストをレビューし、イシューをトリアージし、コードを検索して、Cloud Sessions を操作できます。sigit.si の gh に相当します。
インストール
cargo install --path crates/cli
これにより、si という名前のバイナリがインストールされます。
使用方法
si auth login # sign in with your sigit.si account
si repo list # your repositories
si repo create my-project --private
# Inside a repo checkout, si infers OWNER/NAME from the sigit.si git remote —
# --repo is only needed when you're not standing in one.
si pr list
si pr view 42
si pr create --title "Fix the thing" --base main
si issue list --state open
si issue create --title "Bug: ..." --body "Steps to reproduce..."
si code search "TODO" --ref main
si code view README.md
si session new --title "Refactor auth"
si billing show
si browse # open the current repo on sigit.si
si api repos # raw escape hatch for any endpoint
読み取りコマンドでは、--json を指定すると、機械で読み取り可能な形式で出力されます。
MCP サーバーとして
si mcp は、これらと同じコマンドを stdio 経由の MCP ツールとして AI エージェントに提供します。
{
"mcpServers": {
"sigit": { "command": "si", "args": ["mcp"] }
}
}
認証は不要です。サーバーは si auth login で保存されたトークンを再利用します。エディターにチェックアウト済みのディレクトリを指定すると、リポジトリツールは現在の作業ディレクトリのリポジトリをデフォルトで使用するため、エージェントはリポジトリ名を指定せずに「オープン中のプルリクエストを一覧表示して」と指示できます。同様に、create_pull_request はチェックアウト済みブランチをデフォルトで head として使用します。
エージェントがすべてのツールを必要としない場合は、ツールリストを絞り込めます。
si mcp --read-only # drop every tool that writes
si mcp --toolsets repo,issue,pr,code # or SIGIT_TOOLSETS=repo,issue
ツールセットは account、repo、issue、pr、code、hook、session、billing です。sigit.si は /api/v1/mcp にリモート MCP サーバーもホストしており、バイナリを起動するより HTTP 経由で接続したいクライアントが利用できます。
環境
si --environment dev repo list # a local sigit.si server (localhost:3000)
SIGIT_HOST=staging.example.com si repo list
認証情報は環境ごとに ~/.sigit/token(または ~/.sigit-dev/token)に保存されます。SIGIT_TOKEN を設定すると保存済みトークンが上書きされます。これは、CI が対話型ログインなしで認証する方法です。
ワークスペースの構成
crates/sigit-si-api— sigit.si の JSON API を利用する、単独で使える型付き Rust クライアントです。CLI の依存関係(clap、dialoguer、…)はなく、デスクトップアプリを含め、sigit.si と通信するあらゆる Rust プロジェクトで使用できます。crates/cli—siバイナリです。コマンドの解析、ターミナルへの出力、git リモートの解決、認証情報の保存を担い、sigit-si-apiを基盤として構築されています。
sigit.si では、イシュー、プルリクエスト、コード検索用の REST エンドポイントはまだ提供されていません。これらは、AI エージェントが使用するものと同じ MCP(Model Context Protocol)JSON-RPC エンドポイント経由で提供されます。sigit-si-api は内部でこのトランスポートを使用しますが、呼び出し側からは見えません。
MCP レジストリへの掲載
このリポジトリは、同じツールへの接続方法ごとに 1 つずつ、公式 MCP Registry に 2 つのエントリーを公開します。これにより、レジストリ対応クライアントはどちらもワンクリックで追加できます。
| 掲載名 | ファイル | 内容 |
|---|---|---|
si.sigit/cli | server.json | この CLI です。si mcp を stdio 経由で実行する cargo パッケージの掲載情報です。 |
si.sigit/sigit | server-sigit.json | sigit.si/api/v1/mcp にあるホスト型サーバーです。リモート Streamable-HTTP の掲載情報です。sigit-si-api が通信するエンドポイントであり、公式サーバーの siGit Code に組み込まれています。 |
このリポジトリから配布するのは CLI なので、CLI は server.json を保持します。また、このファイル名は mcp-publisher のデフォルトです。関連する掲載情報にはそれぞれの末端名を付けているため、どのエントリーを公開するファイルかが分かります。
どちらも release-mcp-registry.yml ワークフローを通じて公開されます。また、どちらも GitHub OIDC ではなく、sigit.si の DNS TXT レコードによって名前空間の所有権を証明するため、1 つの認証情報で両方を公開できます。パッケージの掲載情報には、もう 1 つ条件があります。レジストリは crates.io からクレートを取得し、README に mcp-name: si.sigit/cli マーカーがあるか確認します。そのため、このマーカーはこのファイルに記載されています。クレートのバージョンは不変なので、マーカーなしでリリースすると掲載できず、修正には新しいバージョンが必要です。内部セットアップ手順とリリース手順書はサーバーのリポジトリ(非公開の sigit-si リポジトリ)にあります。
開発
make build # cargo build --workspace
make test # cargo test --workspace
make lint # cargo clippy --workspace --all-targets -- -D warnings
make fmt # cargo fmt --all
make check # fmt + lint + test
免責事項
すべての em dash は Seto Elkahfi が記述しています。
ライセンス
Apache-2.0
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。