Fusion MCP先生
OpsCraft平台的MCP服务器。一个仓库,多个服务器——每个模块都有自己的MCP入口点,所以用户只加载他们需要的工具。
| 服务器 | 文件 | 用途 |
|---|
| 派遣 | dispatch_server.py | 董事会/项目管理——项目、运维、任务、AI Runner |
| 发射器 | emitter_server.py | 博客/CMS——帖子、类别、订阅者、发布 |
| 锻造 | forge_server.py | 工作流引擎——模板、实例、Signal Web表单 |
共享Keycloak身份验证存在 auth.py --所有服务器都从中导入。
设置
先决条件
- 紫外线 (Python包运行器)
- 运行OpsCraft服务(本地或远程)
克隆
git clone git@github.com:OpsCraftHub/mr-fusion-mcp.git
克劳德代码
添加到您的项目 .mcp.json:
{
"mcpServers": {
"dispatch": {
"command": "uv",
"args": [
"run",
"--with", "mcp[cli]>=1.26.0",
"--with", "httpx>=0.27.0",
"--python", "3.12",
"/path/to/mr-fusion-mcp/dispatch_server.py"
],
"env": {
"BOARD_URL": "https://mr-fusion.opscraft.cc/api/v1"
}
},
"emitter": {
"command": "uv",
"args": [
"run",
"--with", "mcp[cli]>=1.26.0",
"--with", "httpx>=0.27.0",
"--python", "3.12",
"/path/to/mr-fusion-mcp/emitter_server.py"
],
"env": {
"CMS_URL": "https://mr-fusion.opscraft.cc/api/cms"
}
},
"forge": {
"command": "uv",
"args": [
"run",
"--with", "mcp[cli]>=1.26.0",
"--with", "httpx>=0.27.0",
"--python", "3.12",
"/path/to/mr-fusion-mcp/forge_server.py"
],
"env": {
"BOARD_URL": "https://mr-fusion.opscraft.cc/api/board",
"OUTBOX_URL": "https://mr-fusion.opscraft.cc/api/outbox"
}
}
}
}
克劳德桌面版
中的配置相同 ~/Library/Application Support/Claude/claude_desktop_config.json.
环境变量
派遣(dispatch_server.py)
| 变量 | 默认值 | 描述 |
|---|
BOARD_URL | https://mr-fusion.opscraft.cc/api/v1 | 板API基础URL |
BOARD_TOKEN | -- | 静态JWT回退(Keycloak不需要) |
发射器(emitter_server.py)
| 变量 | 默认值 | 描述 |
|---|
CMS_URL | http://localhost:8009/api/v1 | CMS API基础URL |
锻造(forge_server.py)
| 变量 | 默认值 | 描述 |
|---|
BOARD_URL | https://mr-fusion.opscraft.cc/api/board | 板API基础URL |
OUTBOX_URL | https://mr-fusion.opscraft.cc/api/outbox | 信号(发件箱)API基本URL |
BOARD_TOKEN | -- | 静态JWT回退(Keycloak不需要) |
Keycloak(所有服务器)
| 变量 | 默认值 | 描述 |
|---|
KEYCLOAK_URL | -- | Keycloak基本URL(启用自动身份验证) |
KEYCLOAK_REALM | opscraft | 领域名称 |
KEYCLOAK_CLIENT_ID | mr-fusion-frontend | OIDC客户端ID |
KEYCLOAK_USERNAME | -- | 服务帐户用户名 |
KEYCLOAK_PASSWORD | -- | 服务帐户密码 |
在 dev模式 不需要身份验证。在 生产,设置Keycloak变量——服务器会自动处理令牌刷新。
调度工具
阅读
| 工具 | 说明 |
|---|
list_projects | 列出所有项目 |
get_board | 完整的看板——所有列和数据包 |
list_ops | 列出项目中的运维(可交付成果) |
list_tasks | 列出带有过滤器的数据包(状态、受让人、操作) |
get_task | 包含活动日志的完整数据包详细信息 |
get_summary | 高层项目总结 |
get_progress | 每个操作的客户安全进度报告 |
list_members | 列出具有ID和角色的项目团队成员 |
写
| 工具 | 说明 |
|---|
create_project | 创建新项目 |
create_task | 创建数据包(可选为草稿) |
move_task | 将数据包移动到新的工作流状态 |
groom_and_ready | 打扮并前进准备 |
submit_for_review | 转到带摘要的回顾 |
complete_task | 附结束语 |
add_comment | 对数据包发表评论 |
assign_task | 为数据包分配一名团队成员 |
assign_to_op | 将数据包分配给操作 |
create_op | 创建新操作 |
approve_op | 批准操作——基线范围 |
finalise_op | 当所有数据包都完成时,发送操作 |
更新
| 工具 | 说明 |
|---|
update_task | 更新标题、描述、优先级、估计 |
update_op | 更新操作详细信息和日期 |
update_project | 更新项目名称、描述、存储库 |
block_task / unblock_task | 阻止/取消阻止数据包 |
set_scope_flag | 标记范围在数据包上蔓延 |
merge_task | 将一包吸收到另一包中 |
set_tag | 设置键:数据包上的值标签 |
reject_draft / approve_drafts | 起草审查工作流程 |
delegate_criterion | 将接受标准委托给用户 |
AI跑步者
| 工具 | 说明 |
|---|
get_ai_settings / update_ai_settings | 管理AI Runner配置 |
get_ai_usage | 查看代币支出和预算 |
accept_suggestion / dismiss_suggestion | 处理AI受让人的建议 |
trigger_reclassify / trigger_regroom | 重新运行AI管道 |
trigger_reenrich / trigger_rebootstrap | 重新扫描存储库和上下文 |
工作流智能
| 工具 | 说明 |
|---|
pick_next_task | 推荐下一步要处理的最佳任务 |
standup_summary | 生成每日站立报告 |
sprint_review | 带有指标的完整冲刺回顾 |
scan_local_workspace | 扫描本地仓库以获取技术栈 |
sync_workspace_to_lp | 将回购信息上传到Dispatch |
格子(文件)
| 工具 | 说明 |
|---|
create_document / read_document / update_document | CRUD文件 |
link_document / list_linked_documents | 将文档链接到董事会实体 |
search_documents | 按标题搜索文档 |
发射器工具
| 工具 | 说明 |
|---|
create_blog_post | 创建博客文章草稿 |
list_blog_posts | 列出带有可选状态过滤器的帖子 |
get_blog_post | 阅读完整帖子内容 |
update_blog_post | 更新帖子字段 |
delete_blog_post | 删除草稿帖子 |
publish_blog_post | 发布草稿 |
unpublish_blog_post | 恢复草稿 |
publish_blog_newsletter | 发布+推送到Signal(电子邮件) |
list_blog_categories | 列出所有类别 |
create_blog_category | 创建类别 |
upload_post_image | 将图片从URL上传到帖子 |
list_blog_subscribers | 列出时事通讯订阅者 |
锻造工具
模板
| 工具 | 说明 |
|---|
list_workflow_templates | 列出项目上的模板 |
create_workflow_template | 使用步骤创建可重用的工作流模板 |
update_workflow_template | 更新模板名称、步骤、字段 |
delete_workflow_template | 删除模板 |
实例
| 工具 | 说明 |
|---|
create_workflow_instance | 从模板启动实时工作流(操作+任务+Web表单) |
信号网络表单
| 工具 | 说明 |
|---|
create_webform | 创建数据收集表单 |
list_webforms | 列出提交次数的表单 |
示例用法
连接后,只需与Claude交谈:
“给我看看黑板”
“创建高优先级票证:使用Prometheus设置监控”
“现在封锁了什么?”
“给我一份进度报告”
“写一篇关于我们新功能的博客文章”
“发布草稿并将其作为时事通讯发送”
“创建包含5个步骤的销售流程模板”
“为Acme Corp启动新的客户入职流程”
“列出我的工作流模板”