CodeArts MCP
Provides integration with Huawei Cloud CodeArts, enabling management of requirements, code repositories, pipelines, checks, test plans, deployments, builds, and artifacts.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@CodeArts MCPlist my CodeArts repositories"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
CodeArts MCP
面向华为云 CodeArts 中国站的统一 MCP Server,将 8 个产品模块封装为标准化 MCP 工具集,支持本地 stdio 与团队共享 http 两种接入模式。
特性亮点
8 模块统一封装 — Req / Repo / Pipeline / Check / TestPlan / Deploy / Build / Artifact 一站式覆盖
双模式接入 — stdio 适合个人本地使用,http + session 适合团队共享部署
会话隔离 — 共享模式下每个用户使用自己的 AK/SK,互不干扰
加密持久化 — 凭证经 AES-256-GCM 加密落盘,服务重启后可恢复会话
Cookie / Token 双恢复 — 客户端保留 Cookie 或固定 auth_token 均可无缝重连
CLI 兼容 — 复用同一批 MCP 工具 handler,支持本地 AK/SK 直调和远程 HTTP
/mcp/<family>调用速率限制 — 写操作内置 per-session 限流,防止误操作风暴
缓存加速 — 高频读工具带共享缓存与 in-flight dedupe,命中后毫秒级响应
Related MCP server: poly-git-mcp
技术栈
类别 | 技术 | 版本 |
运行时 | Node.js | 22 (Alpine) |
语言 | TypeScript | 5.8+ |
MCP 协议 | @modelcontextprotocol/sdk | 1.12+ |
数据校验 | Zod | 3.24+ |
测试 | Vitest | 4.1+ |
构建 | tsc + esbuild | — |
代码规范 | ESLint | 9.0+ |
容器 | Docker + Docker Compose | — |
反向代理 | Nginx | — |
架构概览
stdio 模式
graph LR
A[MCP Client] -->|stdio| B[MCP Server]
B -->|API| C[CodeArts APIs]http 模式
graph LR
A[MCP Client] -->|HTTP/S| B[Nginx]
B -->|proxy| C[HTTP Server :3000]
C --> D[MCP Server]
D -->|API| E[CodeArts APIs]内部结构
graph TB
subgraph MCP Server
A[Auth / Session] --> B[Product Tools]
B --> B1[Req]
B --> B2[Repo]
B --> B3[Pipeline]
B --> B4[Check]
B --> B5[TestPlan]
B --> B6[Deploy]
B --> B7[Build]
B --> B8[Artifact]
C[Cache] --> B
D[Rate Limiter] --> B
end快速开始
1. 启动共享服务
cp .env.example .env
# 编辑 .env,至少填写 MCP_AUTH_MASTER_KEY
docker compose up -d --build或宿主机直跑:
npm install && npm run build
node dist/src/server/index.js2. 客户端添加服务
{
"mcpServers": {
"req": {
"type": "http",
"url": "http://your-server-ip/mcp/req"
},
"repo": {
"type": "http",
"url": "http://your-server-ip/mcp/repo"
},
"pipeline": {
"type": "http",
"url": "http://your-server-ip/mcp/pipeline"
},
"check": {
"type": "http",
"url": "http://your-server-ip/mcp/check"
},
"testplan": {
"type": "http",
"url": "http://your-server-ip/mcp/testplan"
},
"deploy": {
"type": "http",
"url": "http://your-server-ip/mcp/deploy"
},
"build": {
"type": "http",
"url": "http://your-server-ip/mcp/build"
},
"artifact": {
"type": "http",
"url": "http://your-server-ip/mcp/artifact"
}
}
}当前已部署的共享服务按 8 个产品模块拆分接入,可以直接使用下面这份配置:
{
"mcpServers": {
"req": {
"disabled": false,
"timeout": 60,
"type": "streamableHttp",
"url": "http://39.106.183.205/mcp/req"
},
"repo": {
"disabled": false,
"timeout": 60,
"type": "streamableHttp",
"url": "http://39.106.183.205/mcp/repo"
},
"pipeline": {
"disabled": false,
"timeout": 60,
"type": "streamableHttp",
"url": "http://39.106.183.205/mcp/pipeline"
},
"check": {
"disabled": false,
"timeout": 60,
"type": "streamableHttp",
"url": "http://39.106.183.205/mcp/check"
},
"testplan": {
"disabled": false,
"timeout": 60,
"type": "streamableHttp",
"url": "http://39.106.183.205/mcp/testplan"
},
"deploy": {
"disabled": false,
"timeout": 60,
"type": "streamableHttp",
"url": "http://39.106.183.205/mcp/deploy"
},
"build": {
"disabled": false,
"timeout": 60,
"type": "streamableHttp",
"url": "http://39.106.183.205/mcp/build"
},
"artifact": {
"disabled": false,
"timeout": 60,
"type": "streamableHttp",
"url": "http://39.106.183.205/mcp/artifact"
}
}
}当前共享 HTTP MCP 只保留按产品拆开的 8 个子路径:
/mcp/req/mcp/repo/mcp/pipeline/mcp/check/mcp/testplan/mcp/deploy/mcp/build/mcp/artifact
这些子路径共用同一套鉴权持久化、Cookie 和 auth_token;也就是说,可以先在任意一个入口调用 auth_configure_session,再在另一个入口通过 Cookie 或 Bearer token 复用凭证。需要注意的是,mcp-session-id 仍然是按路径隔离的,/mcp/req 的 session 不能直接拿去请求 /mcp/repo。
若客户端不保留 Cookie,请使用 Authorization: Bearer <auth_token> 复用凭证。不要把 token 放到 URL query;URL 容易进入代理日志、浏览器历史和监控系统。
Authorization: Bearer replace-with-auth-token3. 首次鉴权
连接后调用 auth_configure_session:
{
"access_key": "your-ak",
"secret_key": "your-sk",
"region": "cn-north-4"
}4. 验证连通
以下四个读工具能正常返回即表示接通成功:
验证工具 | 所属模块 |
| Req |
| Repo |
| Pipeline |
| Build |
部署方式
部署方式对比
特性 | Docker Compose | PM2 + Nginx | 本地 stdio |
适用场景 | 团队共享(推荐) | 团队共享(无 Docker) | 个人本地 |
隔离性 | 容器隔离 | 进程级隔离 | 无隔离 |
HTTPS | docker-compose.ssl.yml | Nginx 配置 | 不适用 |
会话持久化 | 支持 | 支持 | 不适用 |
运维复杂度 | 低 | 中 | 最低 |
水平扩展 | 可配合负载均衡 | 可配合负载均衡 | 不适用 |
健康检查 | 内置 /health | 需手动配置 | 不适用 |
Docker Compose 部署(推荐)
# HTTP
docker compose up -d --build
# HTTPS(需先准备证书,见 deploy/nginx/ssl/)
docker compose -f docker-compose.ssl.yml up -d --build必需环境变量:
MCP_TRANSPORT=http
MCP_HTTP_PORT=3000
MCP_HTTP_HOST=0.0.0.0
MCP_SERVER_NAME=codearts-mcp
MCP_SERVER_VERSION=0.1.0
MCP_AUTH_MASTER_KEY=replace-with-a-long-random-secret
MCP_AUTH_DATA_PATH=.codearts-mcp/auth-store.jsonPM2 部署
使用项目提供的部署脚本:
# 初始化
bash deploy/bootstrap-shared.sh
# 部署前自检
bash deploy/preflight-shared.sh
# 启动/停止/重启
bash deploy/manage-shared-pm2.sh start|stop|restart脚本 | 用途 |
| 初始化环境与目录结构 |
| 部署前自检 |
| PM2 进程管理 |
| 运维工具集 |
| Docker Compose 管理 |
本地 stdio
MCP_TRANSPORT=stdio
HUAWEICLOUD_AK=your-ak
HUAWEICLOUD_SK=your-sk
HUAWEICLOUD_REGION=cn-north-4
MCP_SERVER_NAME=codearts-mcp
MCP_SERVER_VERSION=0.1.0客户端启动命令:
node dist/src/server/index.jsCLI 怎么用
CLI 就是“用命令行调用 MCP 工具”。它有两种用法:
你要做什么 | 用哪种模式 | 凭证从哪里来 |
在自己电脑或 CI 里直接调用 CodeArts | 本地模式 | 本机环境变量里的 |
调用已经部署好的团队共享 MCP 服务 | 远程模式 | 共享服务返回的 |
1. 本地模式:不需要启动服务
先设置 AK/SK:
$env:HUAWEICLOUD_AK="your-ak"
$env:HUAWEICLOUD_SK="your-sk"
$env:HUAWEICLOUD_REGION="cn-north-4"
$env:MCP_SERVER_NAME="codearts-mcp"
$env:MCP_SERVER_VERSION="0.1.0"然后调用:
npm run cli -- tools --format table
npm run cli -- call req_list_projects --input '{"page":1,"page_size":20}' --format table2. 远程模式:调用产品级 /mcp/<family>
npm run cli -- call req_list_projects `
--transport http `
--endpoint https://your-domain.example/mcp/req `
--token replace-with-auth-token `
--input '{"page":1}' `
--format table3. 常用命令
命令 | 用途 |
| 查看有哪些工具 |
| 查看某个工具需要哪些参数 |
| 调用工具 |
| 从 JSON 文件读取参数 |
| 生成 PowerShell 自动补全脚本 |
更多 profile、补全、文件输入示例见 CLI Usage。
API 文档入口
文档 | 用途 |
命令行调用 MCP 工具:本地模式、远程模式、profile、表格输出和补全 | |
HTTP 端点、MCP JSON-RPC、鉴权会话、请求响应和接入示例 | |
完整 MCP 功能 API 总目录;完整参数表、字段对应和 JSON Schema 按模块拆分到明细页 | |
8 个 CodeArts 服务的 MCP API 总览、基础 URL、工具清单和 live 边界 | |
Req 深度 API 文档,包含 Scrum、需求池、IPD、写入 gate 和 smoke 样本缺口 | |
按模块解释每个服务能做什么、适合什么场景 | |
各模块读写规模、live 状态和关键缺口 |
模块现状总表
8product modules2334product tools2session/auth tools for sharedhttpmode2336total MCP tools in sharedhttpmode
工具读写分布:读操作 177 (63.7%) / 写操作 101 (36.3%)
Module | Tools | Live status | Current breakdown |
Req | 363 | Partial | Expanded Req surface with current-user info/role and user-feature reads, project bug/summary/statistics/metric reads, project domain reads, work-item-tree count/list, work-item tag/index-count reads, project work-item history reads, child work-item reads, work-hours/work-hour-type reads, issue image upload/download, attachment upload/download/delete, associated wiki reads, plan work-item management, plan image update, plan-context work item creation, work-item template/copy writes, project-template update/delete writes, project due-days-after/workhour-config reads, status-name check, status/status-attribute/status-detail/workflow-config/template/template-config/custom-field/status-rule-flag/status-config/optional-status-config/tracker-handler and project-public-config reads plus field/cache reads and board work-item reads; see |
Repo | 459 | Partial |
|
Pipeline | 257 | Partial |
|
Check | 135 | Partial |
|
TestPlan | 762 | Partial |
|
Deploy | 110 | Partial | Expanded v4 surface with partial live closure; see |
Build | 167 | Validated | Expanded metadata read surface with live smoke coverage |
Artifact | 81 | Partial |
|
Live 状态说明:
状态 | 含义 |
Validated | 所有工具已通过真实 AK/SK 联调验证 |
Partial | 部分工具已验证,其余可用但受租户样本或区域发布限制 |
环境变量参考
必需变量
变量 | 说明 | 默认值 |
| 传输模式: | — |
| 服务名称 | — |
| 服务版本 | — |
| 会话加密主密钥(http 模式必需) | — |
可选变量
变量 | 说明 | 默认值 |
| HTTP 监听端口 |
|
| HTTP 监听地址;本地默认只监听回环地址,共享/容器部署需显式设为 |
|
| 允许携带 | — |
| 限制当前实例只暴露指定产品族;可填 | — |
| 产品写入每个 action/session 的限流次数 |
|
| 产品写入限流窗口 |
|
| 鉴权写入每个 session 的限流次数 |
|
| 鉴权写入限流窗口 |
|
| 加密凭证持久化路径 |
|
| HTTPS 环境下设置 Cookie Secure 标志 |
|
| CLI 默认调用模式: |
|
| CLI 远程 HTTP MCP 入口 | — |
| CLI 远程调用使用的 Bearer token | — |
| CLI 默认 profile 名称 | — |
| CLI profile 配置文件路径 |
|
| CLI 默认输出格式: |
|
| 默认 AK(stdio 模式) | — |
| 默认 SK(stdio 模式) | — |
| 默认区域(stdio 模式) | — |
产品 URL 覆盖(cn-north-4 默认值)
标准区域会根据 region 自动推导,通常无需手动填写。以下为 cn-north-4 默认映射:
变量 | 默认值 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
常用命令
命令 | 说明 |
| 开发模式启动(stdio) |
| 开发模式启动(http) |
| 列出 CLI 可调用工具 |
| 输出某个工具的输入/输出 JSON Schema |
| CLI 直接调用 MCP 工具并输出 JSON |
| 生成 PowerShell、Bash 或 Zsh 补全脚本 |
| TypeScript 编译 |
| 本地完整检查:lint、类型、ToolManifest、文档同步、测试、构建 |
| 运行测试 |
| 快速测试(无隔离) |
| 隔离模式测试 |
| 代码规范检查 |
| 输出模块统计 |
| 检查 ToolManifest 与实际 stdio/http 工具注册是否一致 |
| 检查 README/Wiki 统计块是否漂移 |
| 同步自动统计区块到文档 |
| 对共享 HTTP 入口做多轮连通性与延迟采样 |
Windows 本机 Node/npm 包装脚本:
powershell -ExecutionPolicy Bypass -File .\scripts\npmw.ps1 run check
powershell -ExecutionPolicy Bypass -File .\scripts\npmw.ps1 run test:live
powershell -ExecutionPolicy Bypass -File .\scripts\nodew.ps1 .\dist\src\server\cli.js tools
.\scripts\nodew.cmd -e "console.log(process.version)"
.\scripts\npmw.cmd -v
.\scripts\npxw.cmd vitest --version如果你想让当前 PowerShell 会话直接可用 tsx、vitest、eslint 这类本地二进制,先执行:
. .\scripts\use-local-node.ps1如果你想直接打开一个已经切好本机 Node/npm 的新 PowerShell,执行:
.\scripts\dev-shell.cmd只做环境探测时可以运行:
npm run env:node说明:
这两个脚本会优先使用本机
npm.cmd/node.exe,避免误落到不可用的内置运行时。可通过
CODEARTS_MCP_NPM_CMD、CODEARTS_MCP_NODE_EXE显式覆盖路径。
安全特性
特性 | 说明 |
会话隔离 | 共享模式下每个用户独立会话,AK/SK 互不可见 |
加密持久化 | 凭证使用 AES-256-GCM 加密,密钥由 MCP_AUTH_MASTER_KEY 派生 |
Cookie / Token 恢复 | 支持 Cookie 自动重连或 auth_token 固定重连,无需重复输入凭证 |
HTTPS 支持 | 通过 docker-compose.ssl.yml 或 Nginx 配置启用,生产环境建议启用 MCP_AUTH_COOKIE_SECURE |
写操作速率限制 | 内置 per-session 限流,防止误操作或自动化脚本产生写风暴 |
凭证清除 | 调用 auth_clear_session 可立即撤销当前用户的持久化凭证 |
运维注意:MCP_AUTH_MASTER_KEY 和 MCP_AUTH_DATA_PATH 必须稳定保存,否则服务重启后无法恢复已有会话。
项目结构
codearts-mcp/
├── src/
│ ├── server/ # 服务入口、工具注册、会话管理
│ ├── products/ # 8 个产品模块(artifact/build/check/deploy/pipeline/repo/req/testplan)
│ ├── core/ # 通用能力(auth/cache/config/errors/http/pagination)
│ └── contracts/ # 共享类型与校验 schema
├── deploy/ # 部署脚本与 Nginx 配置
├── tests/ # 测试用例(与 src 镜像目录结构)
├── Dockerfile # 两阶段构建,node:22-alpine,暴露 3000,健康检查 /health
├── docker-compose.yml # HTTP 模式
├── docker-compose.ssl.yml # HTTPS 模式
├── ecosystem.config.cjs # PM2 配置
└── vitest.config.ts # 测试配置故障排查
现象 | 可能原因 | 解决方案 |
| 服务未启动或端口未暴露 | 检查 |
| AK/SK 错误或区域不支持 | 确认 AK/SK 有效且 region 填写正确(如 cn-north-4) |
Cookie 重连后仍需重新鉴权 | MCP_AUTH_MASTER_KEY 变更或数据文件丢失 | 确认 MASTER_KEY 和 AUTH_DATA_PATH 在重启间保持不变 |
写操作被限流 | 触发 per-session 速率限制 | 等待限流窗口重置,或减少并发写操作 |
某模块工具返回区域不可用 | 该产品尚未在当前区域发布 | 检查模块 Live 状态;参考区域 URL 默认映射 |
| stdio 模式下环境变量缺失 | 确认 HUAWEICLOUD_AK/SK/REGION 已设置 |
HTTPS 下 Cookie 不生效 | 未设置 MCP_AUTH_COOKIE_SECURE | 启用 HTTPS 后设置 |
Docker 构建失败 | Node 版本或依赖不匹配 | 确认 Dockerfile 基础镜像为 node:22-alpine;执行 |
进阶文档入口
入门与部署
docs/wiki/Home.md— 项目总览docs/wiki/Getting-Started.md— 详细上手指南docs/wiki/Team-Deployment.md— 团队部署方案docs/wiki/Testing-and-Live-Ops.md— 测试与线上运维docs/wiki/Troubleshooting.md— 故障排查手册
架构与能力
docs/product-overview.md— 产品概览docs/service-profile.md— 服务画像docs/wiki/Architecture-Deep-Dive.md— 架构深潜docs/wiki/Capability-Matrix.md— 能力矩阵docs/wiki/Module-Live-Readiness.md— 模块 Live 就绪状态
API 对齐
docs/wiki/Official-API-Alignment.md— 官方 API 对齐总览docs/wiki/Official-PDF-MCP-Coverage-Summary.md— PDF 覆盖摘要docs/wiki/Official-Category-Coverage-Matrix.md— 分类覆盖矩阵docs/wiki/Official-Endpoint-Mapping-Req-Repo-Pipeline.md— Req/Repo/Pipeline 端点映射docs/wiki/Official-Endpoint-Mapping-Check-Build-Deploy-Artifact-TestPlan.md— Check/Build/Deploy/Artifact/TestPlan 端点映射
模块验证
docs/wiki/Req-Live-Validated.mddocs/wiki/Check-Live-Validated.mddocs/wiki/Build-Live-Validated.mddocs/wiki/Deploy-Live-Validated.mddocs/wiki/Artifact-Live-Validated.mddocs/wiki/TestPlan-Live-Validated.md
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityBmaintenanceA unified MCP server with composable tools for GitHub operations, file management, shell execution, kanban boards, Discord messaging, and package management. Features role-based security, HTTP/stdio transports, and a web-based development UI.Last updated
- Flicense-qualityCmaintenanceUnified MCP server for Git forge management across GitHub, GitLab, Gitea, and Bitbucket, enabling repository, issue, PR, and CI/CD operations via CLI tools and APIs.Last updated
- Flicense-qualityDmaintenanceMulti-cloud MCP server that exposes cloud AI models as tools for AI CLI agents, supporting streaming, conversation history, parallel multi-model queries, and dynamic model discovery.Last updated2
- Alicense-qualityBmaintenanceProvides MCP servers for managing Huawei Cloud ECS, CodeArts Pipeline, and CTS audit logs with unified JWT authentication and role-based access control.Last updated4MIT
Related MCP Connectors
MCP server for Appcircle mobile CI/CD platform.
A MCP server built for developers enabling Git based project management with project and personal…
MCP server for interacting with the Supabase platform
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/David-piex/codearts-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server