/ Directory / Playground / DepWire
● Official depwire ⚡ Instant

DepWire

by depwire · depwire/depwire

Dependency graph context for AI-assisted refactoring.

DepWire builds a real dependency graph of your codebase and exposes it as MCP tools — 15+ queries like 'who imports this?', 'what does this function call transitively?', and 'what tests exercise this file?'. Designed to give refactoring agents the context they currently lack.

Why use it

Key features

Live Demo

What it looks like in practice

depwire-mcp.replay ▶ ready
0/0

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "depwire-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "depwire"
      ]
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "depwire-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "depwire"
      ]
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "depwire-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "depwire"
      ]
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "depwire-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "depwire"
      ]
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "depwire-mcp",
      "command": "npx",
      "args": [
        "-y",
        "depwire"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "depwire-mcp": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "depwire"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add depwire-mcp -- npx -y depwire

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use DepWire

Rename an exported symbol safely across an unfamiliar codebase

👤 Engineers refactoring legacy code ⏱ ~15 min intermediate

When to use: You don't trust the codebase enough to just grep-and-rename.

Prerequisites
  • Server/skill installed and authenticated — See repo README
Flow
  1. Map the impact
    Show me every file that imports parseConfig from src/config.ts.✓ Copied
    → List of importers grouped by package
  2. Find covering tests
    Which tests exercise src/config.ts? Run them first.✓ Copied
    → Test files + pass/fail status
  3. Refactor
    Rename to loadConfig everywhere. Update tests too.✓ Copied
    → Diff across all importers

Outcome: Rename with confidence — every call site and every test accounted for.

Pitfalls
  • Dynamic imports (require(x)) won't show up in the graph. For dynamic dispatch, double-check with grep. — Dynamic imports (require(x)) won't show up in the graph. For dynamic dispatch, double-check with grep.
Combine with: filesystem · github

Combinations

Pair with other MCPs for X10 leverage

depwire-mcp + filesystem

Pair with filesystem for complementary capabilities

Use this server together with filesystem to complete a multi-step task.✓ Copied
depwire-mcp + github

Pair with github for complementary capabilities

Use this server together with github to complete a multi-step task.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
who_imports file_or_symbol Find the blast radius of a change free
transitive_callers symbol Trace a function's full caller tree free
tests_covering file Find tests to run after touching a file free

Cost & Limits

What this costs to run

API quota
See provider docs for rate limits
Tokens per call
Varies by tool
Monetary
See repo README for pricing details
Tip
Cache tool results and avoid repeated identical calls.

Security

Permissions, secrets, blast radius

Credential storage: Use environment variables; never commit secrets
Data egress: Tool calls go to the provider's API as documented

Troubleshooting

Common errors and fixes

no index built

Run depwire index from the repo root before first use. Re-run after major branch switches.

Verify: who_imports returns results
missing files

Add the language pack (e.g. depwire lang add python) if your repo isn't pure TS.

Verify: depwire status lists the language

Alternatives

DepWire vs others

AlternativeWhen to use it insteadTradeoff
Sourcegraph MCPYou want hosted multi-repo searchEnterprise; depwire is local-first

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills