Octopilot模型上下文协议服务器

Octopilot MCP服务器为AI代理提供检测、生成、构建和连接新仓库的端到端功能,支持Octopilot CI/CD工具链。

  • by octopilot
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 octopilot/octopilot-mcp

使用说明

八飞行员mcp

模型上下文协议(MCP)服务器 阿替匹洛 --使AI代理能够使用Octopilot CI/CD工具链检测、生成、构建和连接端到端的新存储库。

它的作用

工具 说明
detect_project_contexts 解析 skaffold.yaml → 管道上下文JSON(语言、版本、矩阵)
generate_skaffold_yaml 生成一个 skaffold.yaml 对于给定的工件
generate_ci_workflow 满 .github/workflows/ci.yml 使用标准octopilost管道
onboard_repository 一次电话入职:检测→ 生成文件→ 返回下一步
run_op_build 快跑 op build 通过本地二进制或 ghcr.io/octopilot/op 集装箱
list_actions 捆绑注册表中的所有Octopilot GitHub操作
get_action_details 完整规格、输入、示例、一个动作的陷阱

op promote-image 故意不暴露。 形象推广之间 环境在操作上很敏感,必须只通过GitHub Actions运行 工作流程(包括审计跟踪、OIDC凭据和环境保护规则)。 使用 generate_ci_workflow 生成安全处理晋升的工作流程。

选项A——托管(零安装)

直接连接到公共服务器 https://mcp.octopilot.app — 不需要克隆,不需要Python,不需要pip。

# Cursor
fastmcp install cursor https://mcp.octopilot.app --name octopilot

# Claude Desktop
fastmcp install claude https://mcp.octopilot.app --name octopilot

可用的托管工具 (无状态,无本地依赖关系):

工具 说明
list_actions 浏览Octopilot GitHub操作注册表
get_action_details 完整规格、输入、示例、一个动作的陷阱
generate_skaffold_yaml 生成一个 skaffold.yaml 对于给定的工件
generate_ci_workflow 满 .github/workflows/ci.yml 对于一个项目

需要 detect_project_contexts, onboard_repository,或 run_op_build? 这些工具需要Docker和本地文件系统访问——使用下面的选项B。


选项B——本地安装(全套)

# Clone and install
git clone https://github.com/octopilot/octopilot-mcp
cd octopilot-mcp
uv sync

用法

在IDE中注册(一个命令,FastMCP 3 CLI)

Docker或Colima是唯一的外部依赖。大多数工具都是纯Python; run_op_build 拉 ghcr.io/octopilot/op:latest 自动与 --pull always,所以你总是运行最新版本。

# Cursor
uv run fastmcp install cursor src/octopilot_mcp/server.py --name octopilot

# Claude Desktop
uv run fastmcp install claude src/octopilot_mcp/server.py --name octopilot

开发(热重载)

uv run fastmcp dev src/octopilot_mcp/server.py --reload

从终端检查工具

# List all available tools
uv run fastmcp list src/octopilot_mcp/server.py

# Call a tool directly
uv run fastmcp call src/octopilot_mcp/server.py tool_list_actions

直接作为服务器运行

uv run octopilot-mcp

手动JSON配置(替代 fastmcp install)

{
  "mcpServers": {
    "octopilot": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/octopilot-mcp", "octopilot-mcp"]
    }
  }
}

固定到特定的操作版本(可选):

{
  "mcpServers": {
    "octopilot": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/octopilot-mcp", "octopilot-mcp"],
      "env": { "OP_IMAGE": "ghcr.io/octopilot/op:v1.0.0" }
    }
  }
}

环境变量

变量 默认值 描述
OP_IMAGE ghcr.io/octopilot/op:latest 将针固定到特定的操作释放上,以实现可重复性

代理交互示例

User: Onboard this Rust API project to use Octopilot CI.

Agent: [calls onboard_repository("/path/to/my-api", "ghcr.io/my-org")]
       → Detected: rust (stable) in api/
       → Generated: skaffold.yaml, .github/workflows/ci.yml
       → Next steps: add .pre-commit-config.yaml, push changes

发展

uv sync --all-extras

# Run tests
uv run pytest tests/ -v

# Run with coverage
uv run pytest tests/ --cov=src/octopilot_mcp --cov-report=term-missing

工具模块覆盖目标: ≥95% (actions, detect, generate, op_runner). 看 贡献.md 了解详情。

资源

服务器还为代理上下文公开MCP资源:

  • octopilot://actions --完整操作注册表JSON
  • octopilot://pipeline-context-schema --用于管道上下文的JSON模式
  • octopilot://docs/getting-started --纯文本入职指南
  • octopilot://docs/skaffold-patterns --常见 skaffold.yaml 模式