项目简介
TeamCity MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的后端应用,旨在帮助开发者通过AI编码助手(如Claude Code, Cursor, Windsurf)直接与JetBrains TeamCity CI/CD服务器进行交互。它将TeamCity的各项操作封装为标准化的MCP工具,使AI能够便捷地调用这些功能,从而实现CI/CD工作流的自动化管理和上下文感知。
主要功能点
- 两种操作模式:
- 开发模式 (Dev Mode): 提供安全的CI/CD操作,包括触发构建、监控构建状态、获取构建日志、调查测试失败、列出项目和配置等。
- 完整模式 (Full Mode): 包含开发模式的所有功能,并额外支持完整的基础设施管理,如创建和克隆构建配置、管理构建步骤和触发器、配置VCS根和代理、设置新项目以及修改基础设施设置等。
- 核心能力: 触发和监控构建,获取日志,检查测试失败。
- 安全认证: 使用Token进行TeamCity认证,日志中敏感信息会被匿名化。
- 现代化架构: 简洁、直接的实现,启动快速,开销极小。
- 清晰的代码库: 模块边界明确,易于维护。
安装步骤
- 先决条件:
- Node.js 版本 '>= 20.10.0'
- 可访问 REST API 的 TeamCity 服务器 '2020.1+'
- TeamCity 认证 Token
- 克隆仓库:
git clone https://github.com/Daghis/teamcity-mcp.git cd teamcity-mcp - 安装依赖:
npm install - 配置环境变量:
- 复制 '.env.example' 文件为 '.env':
cp .env.example .env - 编辑 '.env' 文件,填入您的 TeamCity URL 和 Token:
TEAMCITY_URL="https://teamcity.example.com" TEAMCITY_TOKEN="<your_teamcity_auth_token>" MCP_MODE=dev # 可选:dev 或 full,默认为 dev
- 复制 '.env.example' 文件为 '.env':
- 运行服务器(开发模式):
您也可以通过 'npx' 直接运行:npm run dev# 使用当前目录的 .env 文件 npx -y @daghis/teamcity-mcp # 或内联环境变量 TEAMCITY_URL="https://teamcity.example.com" \ TEAMCITY_TOKEN="tc_<your_token>" \ MCP_MODE=dev \ npx -y @daghis/teamcity-mcp
服务器配置
MCP客户端需要配置MCP服务器的启动命令及其参数才能建立连接。TeamCity MCP服务器通过标准输入/输出 (Stdio) 传输协议进行通信。
以下是适用于MCP客户端的配置示例(假设客户端支持JSON格式的服务器配置):
{ "name": "teamcity", "command": "npx", "args": ["-y", "@daghis/teamcity-mcp"], "env": { "TEAMCITY_URL": "https://teamcity.example.com", "TEAMCITY_TOKEN": "tc_<your_teamcity_auth_token>", "MCP_MODE": "dev" }, "comment": "连接到TeamCity CI/CD服务器,提供AI助手所需的CI/CD操作工具。", "description": "此MCP服务器将TeamCity的功能暴露为AI工具。通过配置TEAMCITY_URL和TEAMCITY_TOKEN,AI助手可以直接触发构建、监控状态、管理配置等。MCP_MODE决定服务器的操作权限(dev为只读安全模式,full为完整管理模式)。" }
- 'name': MCP客户端中显示的服务名称,例如 'teamcity'。
- 'command': 启动MCP服务器的可执行命令,这里是 'npx'。
- 'args': 传递给 'command' 的参数列表,用于启动TeamCity MCP服务器,例如 '["-y", "@daghis/teamcity-mcp"]'。
- 'env': 环境变量配置,MCP服务器将从这里读取TeamCity连接信息和操作模式:
- 'TEAMCITY_URL': 您的TeamCity服务器的完整URL,例如 'https://teamcity.example.com'。
- 'TEAMCITY_TOKEN': 用于访问TeamCity REST API的认证Token(推荐使用具有足够权限的个人访问Token)。
- 'MCP_MODE': 指定服务器的运行模式,可以是 'dev' (开发/安全模式,仅限查询和触发) 或 'full' (完整管理模式,包括配置修改等)。
- 'comment': 对此MCP服务器的简短描述,帮助用户理解其用途。
- 'description': 更详细的描述,解释服务器提供的功能和配置项的含义。
基本使用方法
一旦将TeamCity MCP服务器与您的AI编码助手集成(例如通过 'claude mcp add' 命令),您就可以直接在AI助手中使用自然语言调用TeamCity操作:
- 构建操作:
- "Build the frontend on feature branch" (在功能分支上构建前端)
- "Deploy staging with the latest build" (使用最新构建部署到Staging环境)
- 状态查询:
- "Why did last night's tests fail?" (为什么昨晚的测试失败了?)
- "What is the status of build config 'MyProject_BackendBuild'?" (构建配置 'MyProject_BackendBuild' 的状态是什么?)
- 配置管理 (仅完整模式):
- "Create a new build config for the mobile app" (为移动应用创建一个新的构建配置)
- "Add a new VCS root for 'frontend-repo' in project 'MyProject'" (在项目 'MyProject' 中为 'frontend-repo' 添加一个新的VCS根)
信息
分类
开发者工具