MCP.so
ログイン

GitCafe MCP Server

@GitCafe

基本情報

トランスポート

streamable-http

認証方式

OAuth

カテゴリ

開発者ツール

作者

GitCafe

GitCafe MCP Server について

GitCafe 公式のホスト型 MCP サーバーは、AI クライアントに GitCafe の Git ホスティングへのアクセスを提供します。公開リポジトリはサインインなしで読み取れ、OAuth で接続すると、承認したリポジトリと権限の範囲内でプライベートリポジトリと、issue、pull request、レビュー、マージ用の書き込み系ツールが使えます。

接続情報

https://git.cafe/mcp

セットアップ

claude mcp add gitcafe --transport http https://git.cafe/mcp

GitCafe MCP Server のツール

23

Read who this connection is signed in as and what it may reach: your actor identity and, for an OAuth connection, the repositories and permissions the user approved and when it expires. Returns null when the credential names no user. Call it first to learn which repositories the other tools can reach: every repository the user can access, or the ones they selected (adding one to a selection needs the user to connect again).

List the repositories this connection can read, oldest first, one page at a time, narrowed by owner, topic or name prefix (filters combine). Signed in, it lists the approved repositories; without sign-in it lists public repositories only, needs owner or topic, and q is not available. Pass an item's owner and name to the other tools.

Read one repository: its identity, description, topics, visibility, default branch, fork parent, version and timestamps. Use it to find the default branch before list_refs, list_tree or read_file, and the id before create_pull_request.

List a repository's branches or its tags, sorted by name, one page at a time, optionally narrowed by a name substring. Each ref carries the commit it points to and, for an annotated tag, its signature check. Pass a ref's name as ref to list_tree, read_file or search_code, or its target commit's oid as oid to pin later reads to one commit.

List the entries of one directory of a repository, not recursively, at a branch, tag or commit, one page at a time; later pages stay on the same commit. Each entry says whether it is a file, directory, submodule or symbolic link. Omit path for the root; pass a tree's path back to descend and a blob's path to read_file.

Read one file of a repository at a branch, tag or commit, a window of lines at a time. A text file comes with its line window and nextLine to continue; a binary file comes with null content. A window holds at most maxLines lines and 64 KiB; a file over 1 MiB cannot be read. Take path from list_tree or search_code.

Search the text files of a repository at a branch, tag or commit for a literal string, optionally within one file or directory. Matches come one per matching line, in file and line order, with context lines; truncated says when maxMatches or a size limit cut them short, so narrow by path or raise maxMatches. Pass a match's path and lineNumber to read_file.

List a repository's issues, newest first, one page at a time, optionally narrowed by workflow state or by words in the title or description; total counts every match. Pass an issue's number as issue to issue_read, update_issue and add_comment, and reuse the label, assignee and milestone IDs it shows when creating issues.

Read one issue, one facet per call. detail (the default): the issue, with its version and what you may do to it. comments: one page of its comments, oldest first, with the IDs and versions update_comment takes. Take the issue number from list_issues or a create_issue receipt.

List a repository's pull requests, oldest first, one page at a time, optionally narrowed by lifecycle state or by text in the title. Each item carries the number, head commit and version the other pull request tools take. For a pull request's description, merge readiness, reviews, commits, files or comments call pull_request_read.

Read one pull request, one facet per call. detail: the pull request, with its version, headOid, mergeRoute and what you may do to it. status: merge readiness and checks, with the version, headOid and baseOid merge_pull_request needs. reviews, commits, files, comments: one page each; files carries the version and paths get_pull_request_diff takes, comments the IDs and versions add_comment and update_comment take. merge_status: a merge operation's outcome; poll an accepted merge with backoff, as accepted is not completed. Take the number from list_pull_requests or a create_pull_request receipt.

Read the patch of chosen changed files of a pull request, pinned to the version the files were listed at. Each file comes with its hunks and line origins; a binary or too-large file has no hunks, and hunksOmitted marks a file whose hunks did not fit the response, so request fewer paths. Take paths and expectedVersion from pull_request_read facet files; the line numbers are what add_comment target pull_inline anchors to.

Create an issue in a repository with a title and, optionally, a description, priority, due date, workflow state, labels, assignees and a milestone. Returns the new issue's number and the version its next write takes. Take label, assignee and milestone IDs from the issues list_issues or issue_read return, and your own actorId from get_me. There is no idempotency key: on an unknown outcome, list_issues before trying again rather than retrying automatically.

Change one issue, one action per call: edit its title, description, priority, due date or open workflow state; close it as completed or canceled; or reopen it. Returns the version the next write takes. Take the number and current version from issue_read, list_issues or the last receipt; the write fails if the issue changed since. An edit overwrites the previous values, which are not kept; title, description and open/closed changes also reach a linked GitHub issue. Labels, assignees and milestones cannot be changed with these tools.

Post one comment, by target: on an issue; in a pull request's conversation; inline on a file or lines of a pull request's diff, anchored to an exact commit; or as a reply in an existing pull request thread, which inherits the thread's anchor. Returns the comment's id and version for update_comment, and for a pull request comment its threadId. For an inline comment take path and the commit (headOid for the right side and file comments, comparisonBaseOid for the left side) from pull_request_read facet files; for a reply take replyTo from facet comments. There is no idempotency key: on an unknown outcome, read the comments before trying again rather than retrying automatically.

Change one comment, one action per call: edit the body of an issue or pull request comment, or resolve or unresolve a pull request thread. Returns the version the next write takes. Take the comment ID and current version from issue_read or pull_request_read facet comments or the last receipt; the write fails if the comment changed since. To resolve or unresolve, pass the thread's root comment (its threadId) and that root's version. An edit overwrites the old text, which is not kept; resolution stays in GitCafe and is not written to GitHub. Comments cannot be hidden or deleted with these tools.

Merge a pull request into its target branch with an explicit strategy, at the exact head, base and version you reviewed. Returns a merge operation: accepted is admitted but not merged yet, completed is merged, failed is not merged. Take headOid, baseOid and expectedVersion from pull_request_read facet status, and which strategies are allowed from its merge verdict; follow an accepted operation with facet merge_status, with backoff. A merge cannot be undone with these tools. On an unknown outcome, retry with the same requestId and input, never with a new key; a different input under the same requestId is rejected.

Commit file edits to a branch on the server, without a clone or push: write files (full content), delete, rename or change their mode, in one commit on the branch's exact current commit. Returns the job: succeeded with the new commit, failed when nothing was committed, or another state when the outcome is not confirmed. Take expectedOid from list_refs and blob OIDs for expected from read_file; pin every path you read and rewrite with expected, so a concurrent change fails the commit instead of being overwritten. On failed, read again and rebuild the edits; on an unconfirmed outcome, retry with the same requestId and input, never with a new key. Push rules apply as for a git push; protected branches may refuse it. Content is limited by this endpoint's request size; push larger changes with git.

Read a repository's CI, one facet per call. runs: one page of Buildkite runs, newest first, narrowed by commit or state. run: one run by runId. checks: one page of the checks on a commit, with a summary over all of them. jobs: one page of a run's jobs. log: the end of a job's log. Runs, run and checks read what GitCafe recorded, including GitHub checks on a linked repository; jobs and log read Buildkite live and need the repository owner to have shared logs. Take the commit from pull_request_read (headOid) or list_refs, runId from a run or check, and jobId from facet jobs. Long text fields are cut to fit, and truncatedFields names them. CI cannot be started, rerun or cancelled with these tools.

Open a pull request that merges a source branch of this repository or a fork into a target branch, with a title and optional description. Returns the new pull request's number and the version its next write takes. Take sourceRepo from get_repository (the fork's id, or this repository's) and the branch names from list_refs; the source branch must already be pushed with git or the Cafe CLI, as these tools cannot push. With a stable submissionKey, retrying after an unknown outcome returns the original pull request instead of a duplicate; without one, list_pull_requests before trying again rather than retrying automatically.

Change one pull request, one action per call: edit its title, description or target branch; close it without merging (which also clears draft); reopen it; mark it as a draft; or mark it ready for review. Returns the version the next write takes. Take the number and current version from pull_request_read, list_pull_requests or the last receipt; the write fails if the pull request changed since. An edit overwrites the previous values, which are not kept; title, description and state changes also reach a linked GitHub pull request. Merging is merge_pull_request; reviewers, labels and assignees cannot be changed with these tools.

Submit a review of a pull request at an exact commit and version: approve, request changes, or comment without a decision, with an optional overall body. Returns the review with its id, verdict and commit. Take commitOid (headOid) and expectedVersion from pull_request_read facet detail or status; the review fails if the pull request changed since, so read again and resubmit at the new head. To publish a draft review you saved in the GitCafe web UI, with its inline comments, pass its id and version as draft with the same verdict, body and commit it was saved with; these tools cannot create or read drafts. Approving or requesting changes on your own pull request is refused, and a submitted review cannot be withdrawn with these tools. On an unknown outcome, retry with the same requestId and input, which returns the original review; a different input under the same requestId is rejected.

Send a report about GitCafe itself to the GitCafe team: a tool that failed or misbehaved, a confusing result, or a missing capability. Returns a reference to give the user for any follow-up; the report is not readable with these tools. Give a one-line summary, what you tried and what happened in body, and the tool name, request ID or problem code in context. A bug in the user's own repository is an issue for create_issue, not feedback. There is no idempotency key: on an unknown outcome, tell the user rather than retrying automatically, as a retry files a second report.

概要

GitCafe MCP Server とは?

GitCafe MCP Server は、GitCafe が公式にホストするエンドポイント(https://git.cafe/mcp)で、Claude や ChatGPT などの AI クライアントがリポジトリを読み取り、あなたの承認のもとで issue、pull request、レビューを扱えるようにします。

GitCafe は、スタック型 pull request、GitHub とのオプションの双方向同期、cafe CLI を備えた Git ホスティング兼コードレビューサービスです。GitCafe MCP Server は GitCafe 自身が運営しています。公開リポジトリはサインインなしで読み取れます。OAuth でサインインすると、承認したリポジトリと権限の範囲内で、プライベートリポジトリと書き込み系ツールが使えるようになります。

GitCafe MCP Server の使い方

サーバーは Streamable HTTP トランスポートを使用し、URL は次のとおりです。

https://git.cafe/mcp

読み取り系ツールは公開リポジトリに対して匿名で使えます。書き込み系ツールと get_me はサインインを開始します。クライアントがブラウザを開き、認証済みの GitCafe アカウントでサインインし、最大 50 個のリポジトリを選び、権限を確認して(読み取りはオン、書き込みと管理は初期状態でオフ)、Approve connection を選びます。GitCafe のドキュメントでは、トークンやパスワードをコネクタ設定に貼り付けないよう注意しています。サインインはブラウザのフローで行われます。

Claude Code

claude mcp add --transport http gitcafe https://git.cafe/mcp

プライベートリポジトリや書き込み権限が必要になったら、Claude Code で /mcp を実行してサインインします。

Claude Desktop / claude.ai

Customize → Connectors → Add → Add custom connector を開き、名前と https://git.cafe/mcp を入力します。検出されたサインインと自動登録のオプションはそのままにして、Add → Connect を選び、接続を承認します。GitCafe は、各呼び出しを確認できるようツールを Needs approval のままにしておくことを推奨しています。

Cursor

~/.cursor/mcp.json(またはプロジェクトの .cursor/mcp.json)に追加します。

{
  "mcpServers": {
    "gitcafe": {
      "url": "https://git.cafe/mcp"
    }
  }
}

VS Code

.vscode/mcp.json に追加します。

{
  "servers": {
    "gitcafe": {
      "type": "http",
      "url": "https://git.cafe/mcp"
    }
  }
}

GitCafe は ChatGPT での設定方法も案内しています。開発者モードを有効にし、この URL で MCP アプリを作成して OAuth を選んだままにします。

GitCafe MCP Server の主な機能

  • GitCafe がホストする公式サーバーで、ローカルで何かを動かす必要はありません。
  • 公開リポジトリへの匿名読み取り:コード、ブランチとタグ、issue、pull request、レビュー、CI の結果。
  • OAuth 接続は、選択したリポジトリ(最大 50 個)と付与した権限に限定され、書き込みと管理は初期状態でオフです。
  • pull request の一連の作業:diff の読み取り、行単位のコメント、レビューの提出、スレッドの解決、マージ(マージには pr:merge:write 権限が必要)。
  • issue 管理:作成、編集、クローズ、再オープン、コメント。
  • Buildkite の実行、チェック、ジョブ、ログ末尾による CI の確認。
  • すべての操作にリポジトリのルールが適用され、アプリはコミットのプッシュ、ブランチの作成、CI の開始、リポジトリの削除はできません。
  • 接続の有効期間は 30 日で、Settings → Authorized Apps からいつでも取り消せます。

GitCafe MCP Server のツール

エンドポイントを調べたところ、21 個のツールが返されました。

  • ID とリポジトリ:get_me は接続がどの ID として動作し、何にアクセスできるかを示します。list_repositories と get_repository でリポジトリとそのデフォルトブランチを見つけます。
  • コード:list_refs、list_tree、read_file、search_code で、任意の ref のブランチ、タグ、ディレクトリ、ファイルを参照し、リテラル文字列検索を行います。
  • Issue:list_issues、issue_read、create_issue、update_issue。
  • Pull request:list_pull_requests、pull_request_read、get_pull_request_diff、create_pull_request、update_pull_request、submit_review、merge_pull_request。
  • コメント:add_comment は issue、pull request の会話、diff の行にコメントを投稿します。update_comment はコメントの編集やスレッドの解決を行います。
  • CI:ci_read は Buildkite の実行、チェック、ジョブ、ログを読み取ります。

書き込み系ツールは期待するバージョンを受け取るため、古い状態での書き込みは他人の変更を上書きせずに失敗します。merge_pull_request はマージ完了前に accepted を返すことがあるので、エージェントは completed になるまで状態を確認する必要があります。

GitCafe MCP Server のユースケース

  • 見慣れない公開リポジトリの調査:「このリポジトリのリトライ処理がどこにあるか探して説明して。」
  • pull request のレビュー:「PR 42 の diff を読んで、リスクのある変更に行コメントを付け、テストがなければ変更を依頼して。」
  • issue の整理:「login に言及しているオープンな issue を一覧にして、重複にラベルを付けて。」
  • CI の確認:「この pull request の最新の実行はなぜ失敗した?失敗したジョブのログ末尾を見せて。」
  • スタックのマージ:「PR 18 を現在の head で承認し、チェックが通ったらマージして。」

GitCafe MCP Server のトラブルシューティング

  • プライベートリポジトリが表示されない:匿名アクセスは公開リポジトリのみが対象で、接続も選択したリポジトリだけが対象です。接続後に作成したリポジトリは含まれないため、再接続して追加してください。
  • 1 か月後にツールが動かなくなった:接続の有効期間は 30 日です。クライアントから再接続してください。
  • REST API のトークンが拒否される:REST API と MCP のトークンは別物で、相互に使えません。MCP サーバーには MCP のサインインフローで接続してください。
  • レート制限にかかった:サインイン済みの MCP リクエストはアカウントの API 枠(60 秒あたり 1,000 回、プランに応じて倍増)に計上されます。匿名リクエストはアドレスごとに 1 時間あたり 1,200 回までです。

よくある質問

1

GitCafe MCP Server は公式ですか?

はい。GitCafe が `https://git.cafe/mcp` で運営しており、アカウントのドキュメント「Connect an MCP app」で説明しています。

2

使うにはアカウントが必要ですか?

公開リポジトリには不要で、読み取り系ツールはサインインなしで使えます。プライベートリポジトリ、書き込み系ツール、`get_me` には、OAuth で接続した認証済みの GitCafe アカウントが必要です。

3

GitCafe は無料ですか?

GitCafe には無料プランがあり、パブリックベータ期間中はプライベートリポジトリも無料です。有料プラン(Pro、Team、Enterprise)では、ストレージと API レート制限が拡大されます。

4

エージェントはコードをプッシュできますか?

できません。接続したアプリはブランチやコミットの作成、プッシュ、CI の開始やキャンセル、リポジトリの管理や削除はできません。既存のブランチから pull request を作成し、レビューし、権限があればマージできます。

5

Claude Code、Cursor、VS Code で使えますか?

使えます。標準的な Streamable HTTP エンドポイントなので、各クライアントのリモート MCP 設定に URL を追加し、求められたらブラウザでサインインします。

6

アクセスを取り消すには?

GitCafe の **Settings → Authorized Apps** を開き、該当アプリで **Revoke access** を選びます。接続はすぐに終了します。

7

GitCafe のリモート MCP サーバーとは何ですか?

GitCafe のリモート MCP サーバーは、https://git.cafe/mcp にホストされた Model Context Protocol エンドポイントです。AI アシスタントはローカルに何もインストール・実行することなく接続できます。

8

GitCafe の MCP サーバーにはどう接続しますか?

エンドポイント https://git.cafe/mcp を Claude Code、Cursor、VS Code など任意の MCP 対応クライアントに追加してください。このページのセットアップ手順で各クライアントを一度に設定できます。

9

GitCafe の MCP サーバーは認証が必要ですか?

はい。GitCafe は OAuth を使用します。初回接続時に MCP クライアントがブラウザを開いてサインイン・認可を行い、以降はその認証情報を再利用します。

10

GitCafe の MCP サーバーはどのトランスポートを使用しますか?

GitCafe は streamable-http エンドポイントを公開しており、これはリモート MCP サーバーで広く使われ、主要な MCP クライアントがサポートするトランスポートです。

コメント