outflow-mcp
An MCP (Model Context Protocol) server that exposes a live Outflow architecturegraph as context for AI coding agents — Claude Code, Claude Desktop, or anyother MCP-compatible client. Lets an agent ask "what does this file dependon", "what breaks if I change this", or "did my last batch of edits introducea circular dependency" against your workspace's real, currently-live graph.
It's a thin client over Outflow's existing /api/v1 REST API and theworkspace graph routes — no graph logicis duplicated here.
This package is developed inside the main Outflow monorepo but publishedfrom a standalone public mirror: https://github.com/laurells/outflow-mcp— that's the repo MCP registries/crawlers point at, and where
npm publishruns from. Changes here get synced there before each release.
Setup
- Create an API key for the workspace you want to expose. In Outflow,go to workspace settings → API Keys → create one. The raw key (
ofk_...)is shown once — copy it. - Find your workspace ID — it's in the workspace URL(
.../workspace/<id>/...) or workspace settings. - Build the server:
cd packages/mcp-server npm install npm run build - Add it to your MCP client config. For Claude Code, add to your MCPsettings (
claude mcp addor the equivalent config file):
For local development,{ "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_URLdefaults tohttp://localhost:3000if omitted.
Tools
| Tool | Use it to ask |
|---|---|
find_node |
Is this file tracked? What's its ID? |
list_nodes |
What's deprecated / low health / a given type? |
get_dependencies |
What does this file rely on? |
get_impact |
What breaks if I change this file? (blast radius) |
find_path |
How are these two files connected? |
get_architecture_health |
What's the overall health grade and at-risk nodes? |
find_architecture_smells |
Any circular deps, god nodes, or dead code right now? |
get_architecture_graph |
Give me the whole graph at a zoom level. |
get_last_session_recap |
What happened in my last coding session? |
All tools that take a path accept a partial match (e.g. "ApiClient" willmatch src/ApiClient.ts) — you never need to know Outflow's internalfile::/method:: ID format. An ambiguous partial match returns an errorlisting the candidates instead of guessing.
Notes
- This package is standalone — it is never bundled into
server/orweb/,and has no build-time dependency on them. It only talks to a runningOutflow instance over HTTP using an API key, so it works equally wellpointed at localhost or a deployed instance. get_dependencies/get_impactandfind_architecture_smells/find_pathcall workspace graph routes that (as of this package's introduction) wereextended to acceptAuthorization: Bearer ofk_...alongside the existingcookie-session auth — seeserver/src/graph/pathRouter.tsandsmellsRouter.ts.