mcpField
O
outflow-mcp

outflow-mcp

本地服务
github.com/laurells开发工具015 周前更新

关于 outflow-mcp

outflow-mcp 将 Outflow 工作区的实时架构图提供给 AI 编码 Agent 查询,适用于需要理解代码依赖和变更影响的开发者。它通过 Outflow REST API 工作,不在此服务中复制图分析逻辑。

主要功能

  1. 01查找架构节点与文件
  2. 02查询依赖关系和变更影响
  3. 03查找节点间路径
  4. 04检查架构健康与异味
  5. 05查看最近编码会话摘要

适用场景

  1. 01了解文件依赖哪些组件
  2. 02评估修改文件的影响范围
  3. 03检查编辑是否引入循环依赖
  4. 04回顾最近一次编码会话

MCP 相关

该 MCP 服务通过工作区 API 密钥连接运行中的 Outflow 实例,并将架构图查询工具开放给兼容的 MCP 客户端。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"laurells-outflow": {
"command": "npx",
"args": [
"-y",
"outflow-mcp"
],
"env": {
"OUTFLOW_BASE_URL": "<OUTFLOW_BASE_URL>",
"OUTFLOW_API_KEY": "<OUTFLOW_API_KEY>",
"OUTFLOW_WORKSPACE_ID": "<OUTFLOW_WORKSPACE_ID>"
}
}
}
}
启动命令npx -y outflow-mcp
需要配置的环境变量
OUTFLOW_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+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmoutflow-mcp0.1.1

工具

9

收录的工具列表 · 更新于 3 周前

参数类型必填说明
pathstring是文件路径或部分路径,例如 "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 也会从那里运行。每次发布前,此处的更改都会同步到该仓库。

设置

  1. 为要公开的工作区创建 API 密钥。 在 Outflow 中,前往工作区设置 → API Keys → 创建一个。原始密钥(ofk_...)只会显示一次——请复制保存。
  2. 找到你的工作区 ID——它位于工作区 URL 中(.../workspace/<id>/...)或工作区设置里。
  3. 构建服务:
    cd packages/mcp-server
    npm install
    npm run build
    
  4. 将其添加到 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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。