MCP server
Last updated:
Prerequisites
Section titled “Prerequisites”- A Codebahn account
- An MCP-compatible AI assistant (Claude Code, Codex, VS Code with Copilot, or Cursor)
The Codebahn MCP server lets AI assistants work with your repositories, issues, pull requests, and CI through the Model Context Protocol. Manage code, review diffs, search across repos, and trigger builds, in natural language. The hosted endpoint runs on the same infrastructure as the platform. Performance numbers.
https://codebahn.net/mcpConnect
Section titled “Connect”Add the URL to your MCP client. The first request opens an OAuth flow in your browser. Approve it once and you are set. If you use two-factor authentication, the browser asks for it during this sign-in. The token you get afterwards needs no second factor.
Claude Code
Section titled “Claude Code”claude mcp add --transport http codebahn https://codebahn.net/mcpRun /mcp to check status.
codex mcp add codebahn --url https://codebahn.net/mcpVS Code (Copilot)
Section titled “VS Code (Copilot)”Create .vscode/mcp.json in your project root:
{ "servers": { "codebahn": { "type": "http", "url": "https://codebahn.net/mcp" } }}Cursor
Section titled “Cursor”Cursor does not yet support Client ID Metadata Documents, so it cannot use the OAuth flow above. Create a personal access token instead: go to Settings > Applications, generate a token with repository and organization access set to All and each permission category set to Read and Write. That matches what the OAuth flow grants; pick narrower permissions if you only need some of the tools.
Create .cursor/mcp.json in your project root:
{ "mcpServers": { "codebahn": { "url": "https://codebahn.net/mcp", "headers": { "Authorization": "Bearer <your personal access token>" } } }}What you can do
Section titled “What you can do”Once connected, the assistant has full read and write access to everything your account can reach. Ask it things like:
- “List my repositories on Codebahn”
- “Show the open pull requests on acme/backend”
- “What changed in PR #42?”
- “Create an issue titled ‘Fix login redirect’ on acme/frontend”
- “Open a pull request from feat/notifications into main on acme/backend”
- “Review the diff on PR #17 and leave comments”
- “Merge PR #42 with squash”
- “Search for usages of
validateTokenacross all my repos” - “Trigger the CI workflow on main”
- “Show the build logs for the latest failed run”
- “Cancel the in-progress CI run”
- “Create a branch called
feat/notificationsfrom main” - “Set the
DEPLOY_KEYCI secret on acme/backend” - “Cut a release for acme/backend from main”
- “Add a
v1.4.0tag to the current commit on acme/backend”
The server exposes 85 tools across code, branches, issues, pull requests (including reviews), search, CI, releases, and secrets and variables. See the full tool reference for every tool, its parameters, and which ones are destructive.
Manage connections
Section titled “Manage connections”Visit Settings > Applications to see authorized OAuth applications and revoke any of them.
Troubleshooting
Section titled “Troubleshooting”| Error | Fix |
|---|---|
| OAuth popup does not appear | Check that your browser allows popups from codebahn.net. |
| HTTP 401 | Token expired or revoked. Remove and re-add the server to trigger a fresh OAuth flow. |
| HTTP 403 | Your account lacks permission for that operation. Check the repository’s team settings. |
Incompatible auth server | Your MCP client does not support OAuth discovery. Update to the latest version. |
Could not load client metadata from... / invalid_client | Your MCP client must support Client ID Metadata Documents (Claude Code, Codex, and VS Code do). Otherwise, use a personal access token as shown in the Cursor example above. |
| Tool not found | Check the server URL and client config. In Claude Code, /mcp lists connected servers. |

