关于 SHIP
SHIP 是一个 MCP 服务,可将 Linear、Jira 或 GitHub 问题交给分阶段协作的 AI 编码 Agent 团队。它协调规划、实现、评审和测试,并创建 GitHub 拉取请求;助手可查看进度与执行凭证。
主要功能
- 01分配跟踪器问题或创建任务
- 02协调规划、构建、评审和测试角色
- 03发送指令并跟踪任务阶段
- 04查看评审、测试结果、日志和产物
- 05管理拉取请求与定时任务
适用场景
- 01将跟踪器问题交由团队完成实现和评审
- 02检查任务的测试凭证与 Agent 活动
- 03在批准拉取请求前暂停、恢复或指导工作
MCP 相关
向助手提供启动和管理任务、检查运行记录与产物及管理项目设置的工具。它还提供用于配置编码 Agent 所用 MCP 服务的工具。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.letsship.ai/mcpclaude mcp add --transport http ship https://mcp.letsship.ai/mcp{"mcpServers":{"ship":{"type":"http","url":"https://mcp.letsship.ai/mcp"}}}在 Cursor 中打开{"servers":{"ship":{"type":"http","url":"https://mcp.letsship.ai/mcp"}}}在 VS Code 中打开{"mcpServers":{"ship":{"type":"http","url":"https://mcp.letsship.ai/mcp"}}}{"mcpServers":{"ship":{"serverUrl":"https://mcp.letsship.ai/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://mcp.letsship.ai/mcp需要授权工具
71此工具无需参数。
详细介绍
SHIP MCP 服务
将 Linear、Jira 或 GitHub 问题分配给 AI 编码 Agent 团队。它的编码 Agent 会规划并实现每项更改、进行代码审查和测试,并在你的 GitHub 仓库中创建拉取请求。借助此 MCP 服务,你的助手可以创建任务、跟踪任务、发送指令并查看每次运行的证明。
SHIP 以无头 AI 软件工厂的形式运行 Agent 式 SDLC。你可以通过编码 Agent 或 AI 助手操作整个任务。启动任务、发送指令、查看代码审查和测试报告,并批准拉取请求。规划者、构建者、审查者和测试者各自负责一个阶段,而 CI 则是各阶段之间的关卡。每个角色都会运行你选择的编码 Agent 和模型:Claude Code、Codex、OpenCode、Kilo Code 或 pi 编码 Agent。
端点
https://mcp.letsship.ai/mcp
传输方式为 Streamable HTTP。该服务是无状态的,因此客户端可以随时重新连接,不会丢失任何内容。
登录
OAuth 2.1。 支持 MCP 授权的客户端会自动发现登录方式。如果请求需要令牌但没有有效令牌,服务会通过 401 响应,并附带 WWW-Authenticate 标头。
该标头指向 https://mcp.letsship.ai/.well-known/oauth-protected-resource/mcp。SHIP 支持动态客户端注册和客户端 ID 元数据文档,因此你无需预先注册客户端。你可以在 SHIP 控制台中批准登录。
个人访问令牌。 不支持 OAuth 的客户端可发送 Authorization: Bearer pat_...。请在 https://letsship.ai/settings/tokens 创建令牌。将令牌绑定到一个项目,这样它就只能访问该项目。
安装
Claude Code
claude mcp add --transport http ship https://mcp.letsship.ai/mcp
Claude 和 ChatGPT。 添加自定义连接器,URL 为 https://mcp.letsship.ai/mcp。应用提示时登录。
Cursor。 使用上方按钮,或将以下内容添加到 .cursor/mcp.json:
{
"mcpServers": {
"ship": {
"url": "https://mcp.letsship.ai/mcp"
}
}
}
VS Code。 使用上方按钮,或将以下内容添加到 .vscode/mcp.json:
{
"servers": {
"ship": {
"type": "http",
"url": "https://mcp.letsship.ai/mcp"
}
}
}
Codex。 将以下内容添加到 ~/.codex/config.toml:
[mcp_servers.ship]
url = "https://mcp.letsship.ai/mcp"
Grok。 打开 grok.com/connectors。选择 New Connector,然后选择 Custom。粘贴 URL https://mcp.letsship.ai/mcp,然后登录。
xAI API。 将该 URL 作为远程 MCP 工具传入,并在 headers 中提供令牌:
{
"type": "mcp",
"server_url": "https://mcp.letsship.ai/mcp",
"server_label": "ship",
"headers": {
"Authorization": "Bearer pat_your_token_here"
}
}
仅支持 stdio 的客户端可通过 mcp-remote 连接:
{
"mcpServers": {
"ship": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.letsship.ai/mcp"
]
}
}
}
使用令牌。 将标头添加到上方任意 HTTP 配置项中:
{
"mcpServers": {
"ship": {
"url": "https://mcp.letsship.ai/mcp",
"headers": {
"Authorization": "Bearer pat_your_token_here"
}
}
}
}
工具
每个工具都会声明 readOnlyHint、destructiveHint 和 openWorldHint。借助这些提示,客户端可以立即运行只读工具。对于会删除或替换内容,或打开付款页面的工具,客户端也可以在运行前征求你的同意。令牌的作用域决定了每个工具可以执行的操作;如果请求被拒绝,拒绝信息会指出令牌缺少的作用域。
重要
start_mission、create_mission和run_scheduled_task会启动任务,每次启动任务会消耗 1 个额度。向正在运行的任务发送消息免费。
任务
| 工具 | 类型 | 功能 |
|---|---|---|
start_mission | 访问 SHIP 外部 | 将跟踪器中已有的问题交给 Agent 团队。默认情况下,任务从 Planner 开始;如果有计划,则从 Builder 开始;如果有未关闭的拉取请求,则从 Reviewer 或 Tester 开始 |
create_mission | 访问 SHIP 外部 | 对于尚无问题的工作,在一次调用中创建问题并启动任务 |
send_mission_instruction | 访问 SHIP 外部 | 告知正在运行的任务需要更改什么,或为接下来运行的 Agent 记录备注 |
inspect_mission | 读取 | 任务的完整记录:各阶段、判定结果、来源信息和会话日志 |
list_missions | 读取 | 项目中的任务,以及每个任务当前的工作内容 |
get_mission | 读取 | 单个任务的信息:阶段、审查和测试结果、拉取请求、Agent 运行记录,以及包含证明的运行记录。使用 view: "full" 时,还会显示事件和各阶段的结果 |
pause_mission | 写入 | 在任务进入下一阶段前暂停。当前正在运行的阶段会完成 |
resume_mission | 访问 SHIP 外部 | 继续已暂停的任务。当检查点暂停任务时,此操作会批准该阶段的结果 |
stop_mission | 删除 | 停止任务及其所有 Agent 运行。拉取请求会保持开启 |
approve_mission_ceiling | 访问 SHIP 外部 | 允许任务在达到额度上限并停止后继续运行。任务随后会消耗更多额度 |
merge_mission | 删除 | 使用仓库的合并方式合并任务的拉取请求。如果发生合并冲突,SHIP 会启动 Builder 来修复冲突,之后再进行合并 |
decline_mission | 删除 | 关闭任务的拉取请求,不进行合并 |
set_agents_override | 替换 | 更改单个任务中某个角色使用的 harness、模型、提示词或检查点。此覆盖设置优先于 ship.yml,但不会更改该文件 |
get_agents_override | 读取 | 读取当前应用于任务的覆盖设置 |
clear_agents_override | 删除 | 移除覆盖设置,让任务重新使用项目配置 |
set_mission_auto_merge | 访问 SHIP 外部 | 为单个任务开启或关闭自动合并。对于该任务,此设置会取代项目的自动合并设置 |
archive_mission | 写入 | 将任务从看板和 list_missions 中隐藏。只有所有者或管理员可以归档任务 |
unarchive_mission | 写入 | 在看板上重新显示已归档的任务 |
set_mission_disposition | 写入 | 记录任务结束的原因,例如测试或被其他任务取代的工作,也可以清除此值。交付统计数据会使用此值 |
项目和证明
| 工具 | 类型 | 功能 |
|---|---|---|
list_projects | 读取 | 令牌可以访问的项目 |
get_project | 读取 | 单个项目的配置和连接 |
update_project | 访问 SHIP 外部 | 更改项目的名称、状态、自动合并、问题代码、默认沙盒或连接 |
list_artifacts | 读取 | 运行生成的证明,例如测试跟踪记录和屏幕截图 |
get_artifact | 读取 | 单个工件及其打开链接 |
定时任务
| 工具 | 类型 | 作用 |
|---|---|---|
list_scheduled_tasks | 读取 | 项目按计划运行的任务 |
get_scheduled_task | 读取 | 一项定时任务及其计划和提示词 |
create_scheduled_task | 写入 | 添加一项按计划运行的任务 |
update_scheduled_task | 替换 | 更改定时任务的计划或提示词,或将其停用 |
run_scheduled_task | 访问 SHIP 之外 | 立即运行一项定时任务,不受其计划限制 |
list_scheduled_task_runs | 读取 | 过往运行的情况及其成本 |
list_scheduled_task_templates | 读取 | 可复制以创建定时任务的模板 |
delete_scheduled_task | 移除 | 删除定时任务及其运行历史记录。该任务已启动的任务会继续运行 |
面向 Agent 的 MCP 服务
| 工具 | 类型 | 作用 |
|---|---|---|
list_mcp_servers | 读取 | 项目的 MCP 文件中声明的服务及其绑定和状态 |
list_mcp_bindings | 读取 | 组织各项目中的绑定,便于查看每项凭据的使用位置 |
bind_mcp_server | 替换 | 为一项服务选择 Agent、传输方式、已批准的工具和凭据 |
unbind_mcp_server | 移除 | 移除绑定并删除其凭据 |
refresh_mcp_server_tools | 移除 | 读取服务当前的工具列表,以便批准工具 |
start_mcp_server_oauth | 访问 SHIP 之外 | 获取远程服务的登录链接,供用户在浏览器中打开 |
set_mcp_config_path | 写入 | 为项目设置其他 MCP 文件,例如 .cursor/mcp.json |
Agent 运行
| 工具 | 类型 | 作用 |
|---|---|---|
list_agent_runs | 读取 | 按任务、角色或状态查看正在运行和已完成的 Agent 运行 |
get_agent_run | 读取 | 查看某次运行的详情和资源用量 |
get_agent_run_logs | 读取 | 查看 Agent 在一次运行中的操作 |
watch_agent_run | 读取 | 等待一次运行并跟踪其事件,直到运行结束或其任务进入另一阶段 |
stop_agent_run | 移除 | 在 Agent 完成前停止一次运行中的 Agent |
预览环境
| 工具 | 类型 | 作用 |
|---|---|---|
list_environments | 读取 | SHIP 为开放的拉取请求部署的预览环境 |
get_environment | 读取 | 一个预览环境及其 URL |
destroy_environment | 移除 | 提前移除预览环境 |
额度与通知
| 工具 | 类型 | 作用 |
|---|---|---|
get_billing | 读取 | 额度余额、每项任务的额度上限以及近期用量。发送任务前请先查看 |
list_billing_ledger | 读取 | 额度的去向,最新记录排在前面 |
list_credit_offers | 读取 | 额度包和月度方案及其价格 |
start_credit_checkout | 访问 SHIP 之外 | 打开支付页面,以购买额度包、月度方案或为方案增加额度,并返回其 URL |
update_team_subscription | 移除 | 更改下次续订时的月度方案,或在已付费月份结束时取消方案 |
request_more_credits | 访问 SHIP 之外 | 申请更多额度。回复会说明谁提出了申请 |
get_notices | 读取 | 工作区中需要关注的事项,例如需要重新连接的跟踪器 |
dismiss_notice | 写入 | 关闭可关闭的通知,例如余额不足提醒 |
自定义沙箱
| 工具 | 类型 | 说明 |
|---|---|---|
list_sandbox_templates | 读取 | 你所在组织的沙箱,以及每个沙箱的活动版本和最新构建 |
list_sandbox_starters | 读取 | 可作为起点的 Python、Java、Go、Rust 和 Ruby 沙箱定义 |
save_sandbox_template | 写入 | 创建或修改沙箱。修改会创建新版本并启动其构建 |
list_sandbox_template_versions | 读取 | 沙箱保存的所有版本,并标记活动版本 |
activate_sandbox_template_version | 写入 | 将某个版本设为任务从下次运行起使用的版本 |
build_sandbox_template | 写入 | 立即构建活动版本 |
get_sandbox_build_log | 读取 | 一页构建日志 |
list_sandbox_registries | 读取 | 沙箱安装依赖时使用的私有包注册表。绝不会返回密钥 |
save_sandbox_registry | 替换 | 存储或替换注册表凭据。凭据绝不会进入沙箱 |
get_sandbox_capacity | 读取 | 你的任务可同时运行多少个 Agent,以及组织的上限 |
delete_sandbox_template | 移除 | 删除沙箱。如果某个 Agent 或项目默认设置正在使用该沙箱,API 会拒绝删除 |
delete_sandbox_registry | 移除 | 移除私有注册表的凭据 |
平台运营人员
| 工具 | 类型 | 说明 |
|---|---|---|
list_orgs | 读取 | 平台上的所有组织。只有 SHIP 运营人员令牌可以调用 |
身份
| 工具 | 类型 | 说明 |
|---|---|---|
whoami | 读取 | 令牌对应的主体及令牌的作用域 |
get_setup_progress | 读取 | 工作区目前已完成的设置以及下一步操作,与控制台的设置清单一致 |
healthz | 读取 | API 的状态、环境和版本 |
示例:提交修复并回复评审意见
- 调用
list_projects获取项目 ID。 - 调用
create_mission提交问题并启动任务。请将验收标准写成复选框,因为 Tester 会据此测试工作成果。 - Agent 会规划并实现更改,然后发起拉取请求。接着它们会等待 CI、评审更改、部署预览并进行测试。这需要几十分钟,你的助手无需等待。
- 调用
inspect_mission查看阶段和评审结论。如有不同意见,可调用send_mission_instruction并设置kind: "follow_up"。随后 Builder 会再次处理拉取请求并遵循你的指示。
如需发送反馈,请使用 send_mission_instruction。不要再次调用 start_mission,因为重新启动不会传递消息。
故障排除
| 现象 | 处理方法 |
|---|---|
出现 401,且没有登录窗口 | 你的客户端不支持 MCP OAuth。请在 Authorization 标头中发送个人访问令牌。 |
| 工具因作用域名称而拒绝调用 | 令牌不具备该作用域。请创建具有该作用域的令牌,或向所有者申请允许此操作的角色。 |
create_mission 因 credits_exhausted 拒绝调用 | 工作区的额度已用完。get_billing 可查看余额。 |
工具列表为空,或每次调用工具都会收到 401 | 客户端未完成登录。请从客户端的 MCP 菜单重新登录,或移除并重新添加服务。 |
whoami 显示了另一个项目 | 该令牌绑定到了那个项目。请使用目标项目的令牌。 |
为编码 Agent 提供的技能
SHIP 技能会教编码 Agent 如何从终端将工作交给 SHIP。安装方法请参见 letsship/skills,或运行 npx skills add https://letsship.ai。
了解更多
- 从问题到经过验证的拉取请求:什么是 Agentic SDLC
- 什么是 AI 软件工厂,以及如何构建一个
- SWE-in-a-team:包含 260 项任务的编码 Agent 基准测试
- 以无头模式运行 pi 编码 Agent
- 提交由编码 Agent 编写的拉取请求,以供审核和测试
链接
- 文档:https://letsship.ai/docs/mcp
- 注册表条目:
ai.letsship/ship,位于 https://registry.modelcontextprotocol.io - A2A Agent:https://letsship.ai/docs/a2a
- 隐私:https://letsship.ai/privacy - 条款:https://letsship.ai/terms
- 支持:https://letsship.ai/support
- 安全报告:support [at] letsship.ai
许可证
此仓库中的文件遵循 MIT 许可证。SHIP 服务遵循 SHIP 条款。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
