关于 outflow-mcp
outflow-mcp 将 Outflow 工作区的实时架构图提供给 AI 编码 Agent 查询,适用于需要理解代码依赖和变更影响的开发者。它通过 Outflow REST API 工作,不在此服务中复制图分析逻辑。
主要功能
- 01查找架构节点与文件
- 02查询依赖关系和变更影响
- 03查找节点间路径
- 04检查架构健康与异味
- 05查看最近编码会话摘要
适用场景
- 01了解文件依赖哪些组件
- 02评估修改文件的影响范围
- 03检查编辑是否引入循环依赖
- 04回顾最近一次编码会话
MCP 相关
该 MCP 服务通过工作区 API 密钥连接运行中的 Outflow 实例,并将架构图查询工具开放给兼容的 MCP 客户端。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y outflow-mcpOUTFLOW_BASE_URLBase URL of your running Outflow instance. Defaults to http://localhost:3000 if omitted.OUTFLOW_API_KEY密钥API key for the workspace to expose. Create one from workspace settings in Outflow (Settings → API Keys) — the raw key (ofk_...) is shown once.OUTFLOW_WORKSPACE_IDID of the workspace to expose. Found in the workspace URL (.../workspace/<id>/...) or workspace settings.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
9收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| path | string | 是 | 文件路径或部分路径,例如 "src/ApiClient.ts" 或 "ApiClient" |
详细介绍
outflow-mcp
一个 MCP(Model Context Protocol)服务,可将实时 Outflow 架构图作为上下文提供给 AI 编码 Agent——Claude Code、Claude Desktop 或任何其他兼容 MCP 的客户端。Agent 可以针对你工作区中真实且实时的架构图询问“此文件依赖什么”“如果我更改这个文件,哪些内容会受到影响”或“我上次批量编辑是否引入了循环依赖”。
它是 Outflow 现有 /api/v1 REST API 和工作区架构图路由的轻量客户端——这里不会重复实现任何架构图逻辑。
此软件包在 Outflow 主 monorepo 中开发,但通过独立的公开镜像发布:https://github.com/laurells/outflow-mcp ——MCP 注册表和爬虫会指向该仓库,
npm publish也会从那里运行。每次发布前,此处的更改都会同步到该仓库。
设置
- 为要公开的工作区创建 API 密钥。 在 Outflow 中,前往工作区设置 → API Keys → 创建一个。原始密钥(
ofk_...)只会显示一次——请复制保存。 - 找到你的工作区 ID——它位于工作区 URL 中(
.../workspace/<id>/...)或工作区设置里。 - 构建服务:
cd packages/mcp-server npm install npm run build - 将其添加到 MCP 客户端配置中。 对于 Claude Code,请将其添加到 MCP 设置中(使用
claude mcp add或相应的配置文件):
如果省略{ "mcpServers": { "outflow": { "command": "node", "args": ["/absolute/path/to/outflow/packages/mcp-server/dist/index.js"], "env": { "OUTFLOW_BASE_URL": "https://your-outflow-domain.com", "OUTFLOW_API_KEY": "ofk_...", "OUTFLOW_WORKSPACE_ID": "your-workspace-id" } } } }OUTFLOW_BASE_URL,本地开发时默认使用http://localhost:3000。
工具
| 工具 | 用途 |
|---|---|
find_node | 此文件是否受跟踪?它的 ID 是什么? |
list_nodes | 有哪些已弃用、健康度较低或属于指定类型的节点? |
get_dependencies | 此文件依赖什么? |
get_impact | 如果我更改此文件,哪些内容会受到影响?(影响范围) |
find_path | 这两个文件之间有什么关联? |
get_architecture_health | 整体健康等级如何?有哪些风险节点? |
find_architecture_smells | 目前有没有循环依赖、上帝节点或死代码? |
get_architecture_graph | 按指定缩放级别提供完整架构图。 |
get_last_session_recap | 我上一次编码会话中发生了什么? |
所有接受 path 的工具都支持部分匹配(例如,"ApiClient" 会匹配 src/ApiClient.ts)——你无需知道 Outflow 内部的 file::/method:: ID 格式。如果部分匹配结果有歧义,工具会返回列出候选项的错误,而不是自行猜测。
说明
- 此软件包是独立的——绝不会打包进
server/或web/,构建时也不依赖它们。它只通过 API 密钥使用 HTTP 与运行中的 Outflow 实例通信,因此无论连接本地实例还是已部署的实例,都同样适用。 get_dependencies/get_impact和find_architecture_smells/find_path会调用工作区架构图路由;在引入此软件包时,这些路由已扩展为支持Authorization: Bearer ofk_...,同时保留原有的 Cookie 会话身份验证——请参阅server/src/graph/pathRouter.ts和smellsRouter.ts。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。