mcpField
C
codebahn

codebahn

远程服务
github.com/codebahn版本控制06 天前更新
代码仓库

关于 codebahn

Codebahn CLI 是 Codebahn 托管 Git 平台的命令行客户端,面向开发者和团队管理代码仓库、Issue、PR 与 CI。它还可登录 Codebahn 内置的 MCP 服务,让 AI 编码 Agent 访问这些资源。

主要功能

  1. 01管理仓库、分支、提交和差异
  2. 02创建与处理 Issue 和 PR
  3. 03触发 CI 工作流并查看日志
  4. 04管理发布、Webhook 和分支保护
  5. 05通过浏览器 OAuth 登录
  6. 06自动验证更新包签名和校验和

适用场景

  1. 01在命令行审查并合并 PR
  2. 02从终端创建 Issue 或仓库
  3. 03触发 CI 工作流并排查运行日志
  4. 04让 AI 编码 Agent 操作 Codebahn 项目

MCP 相关

Codebahn 提供托管的 MCP 服务,供 AI 编码 Agent 访问仓库、Issue、PR 和 CI。可在 MCP 客户端配置 `https://codebahn.net/mcp`,并通过 OAuth 完成身份验证。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://codebahn.net/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

Codebahn CLI

Codebahn 是私有的 GitHub 替代方案:为开发者和团队提供快速的 Git 和 CI。你的代码由你存储和托管。不会被扫描、用于训练或跟踪。瑞典公司,基础设施仅设于欧盟,所有子处理商均在欧盟注册成立。基于 Forgejo 构建,迁移轻松。

Codebahn 的命令行界面。

codebahn auth login
codebahn pr list
codebahn issue create --title "ship it"
codebahn ci dispatch --workflow ci.yml

单个二进制文件。OAuth 登录。无需配置文件。

安装

Linux 和 macOS
curl -fsSL https://releases.codebahn.net/cli/install.sh | sh

此脚本会检测你的平台,下载最新的二进制文件,验证其 SHA256 校验和,并安装到 ~/.local/bin。使用 INSTALL_DIR 更改安装位置:

curl -fsSL https://releases.codebahn.net/cli/install.sh | INSTALL_DIR=/usr/local/bin sh
Windows
irm https://releases.codebahn.net/cli/install.ps1 | iex

此脚本会下载最新的二进制文件,验证其 SHA256 校验和及 GPG 签名(如果已安装 gpg),安装到 %LOCALAPPDATA%\Programs\codebahn,并将其添加到 PATH。 使用 $env:INSTALL_DIR 更改安装位置。安装后请重启 终端。

从源代码安装

从源代码安装(注意:从源代码构建的版本会跳过自动更新):

go install github.com/codebahn/codebahn-cli/cmd/codebahn@latest
更新

CLI 每 24 小时检查一次新版本,并在有可用更新时显示通知。 就地更新:

codebahn update

此命令会从 releases.codebahn.net 下载新二进制文件,验证其 GPG 签名和 SHA256 校验和,然后替换自身。无需外部工具。

仅检查而不安装:codebahn update --check。 要关闭定期检查:设置 CODEBAHN_NO_UPDATE_CHECK=1,或在配置文件中添加 "check_updates": false(Windows 上的配置文件为 ~/.config/codebahn/config.json, 或 %APPDATA%\codebahn\config.json)。

身份验证

通过浏览器登录。令牌会保存到 ~/.config/codebahn/config.json(Windows 上为 %APPDATA%\codebahn\config.json)。

codebahn auth login
codebahn auth status

在 CI 中,请改为设置 CODEBAHN_TOKEN。

命令

分组内容
repo创建、列出、读取文件、分支、提交、差异、比较引用
issue创建、列出、评论、标签、里程碑
pr创建、列出、合并、差异、提交、评审
ci触发工作流、列出运行记录、读取日志、机密/变量
release发布、附件、标签
webhook管理 Webhook
protection管理分支保护
search代码、仓库、议题

在 Git 仓库中运行时,--owner 和 --repo 会根据远程仓库自动检测。

codebahn pr merge --index 42 --style squash
codebahn repo cat --ref main --filePath README.md
codebahn ci logs --run_id 7

逐个提交审查拉取请求:

codebahn pr commits --index 42
codebahn repo show --sha 1a2b3c4 --file_path internal/foo.go
codebahn repo compare --base main --head feat/foo
codebahn repo log --path internal/foo.go --limit 10

每个子命令都支持 --help。

MCP 和 AI Agent

Codebahn 内置了托管式 MCP 服务,可将 AI 编码 Agent 连接到你的仓库、议题、拉取请求和 CI:

https://codebahn.net/mcp

此仓库中的 tools/ 包是 CLI 和 MCP 端点共同使用的单一事实来源。103 个工具,一套类型定义,零偏差。

服务通过 OAuth 进行身份验证,OAuth 发现地址为 /.well-known/oauth-protected-resource。将 URL 添加到你的 MCP 客户端,并在首次使用时于浏览器中批准 OAuth 提示词。

Claude Code
claude mcp add --transport http codebahn https://codebahn.net/mcp
Codex
codex mcp add codebahn --url https://codebahn.net/mcp
VS Code(Copilot)

在项目根目录中创建 .vscode/mcp.json:

{
  "servers": {
    "codebahn": {
      "type": "http",
      "url": "https://codebahn.net/mcp"
    }
  }
}
Cursor

在项目根目录中创建 .cursor/mcp.json:

{
  "mcpServers": {
    "codebahn": {
      "type": "http",
      "url": "https://codebahn.net/mcp"
    }
  }
}

完整文档:codebahn.net/docs/mcp/。

发布基础设施

Codebahn 是一个托管于欧盟的 Git 平台。我们也将这一原则贯彻到自有工具中:CLI 的发布构件托管在我们自己的欧盟基础设施上,而非 GitHub 或任何第三方 CDN。

发布流程:

  1. 源代码托管在 GitHub 上(公开,便于发现)。
  2. 发布新版本时,GitHub Actions 会为 Linux 和 macOS(amd64 和 arm64)交叉编译二进制文件。
  3. 工作流会将二进制文件、SHA256 校验和文件及 GPG 分离签名上传到位于 fr-par(法国巴黎)的 Scaleway Object Storage,并通过 releases.codebahn.net 提供服务。
  4. codebahn update 从 releases.codebahn.net 获取更新,绝不会联系 GitHub。

发布构件托管在我们自己的欧盟基础设施上,因此 CLI 的更新检查始终在欧盟境内进行。源代码托管在 GitHub 上,因为它是开源项目的标准托管平台。GitHub Actions 会编译公开的源代码;构建过程不涉及任何客户数据。

验证发布版本

每个发布版本都包含一个由我们的 GPG 发布密钥签名的 checksums.txt 文件。在执行 codebahn update 时,CLI 会自动验证签名和校验和。

手动验证:

# Import the public key
curl -sS https://codebahn.net/release-signing-key.asc | gpg --import

# Download and verify
curl -O https://releases.codebahn.net/cli/v0.1.0/checksums.txt
curl -O https://releases.codebahn.net/cli/v0.1.0/checksums.txt.asc
gpg --verify checksums.txt.asc checksums.txt

# Check the binary
sha256sum -c checksums.txt --ignore-missing

公钥也嵌入在 CLI 二进制文件中,因此 codebahn update 无需单独获取该密钥。

发布新版本

打标签并推送:

git tag v0.1.0
git push origin v0.1.0

GitHub Actions 工作流会运行测试,使用 GoReleaser 构建(并行交叉编译、GPG 签名),并将所有内容上传到 releases.codebahn.net。latest.json 清单会更新,以便现有安装在 24 小时内获取新版本。

本地发布(绕过 CI):./scripts/release.sh v0.1.0。需要安装 goreleaser、gpg(并配置发布密钥)和 aws CLI,且需配置为使用 Scaleway。

贡献

请参阅 CONTRIBUTING.md。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。