Metadata-Version: 2.4
Name: codecanvas-mcp
Version: 0.1.1
Summary: Precision static-analysis MCP server for Python: call graphs, control flow, and change impact
Project-URL: Repository, https://github.com/donggyun112/codecanvas
Project-URL: Issues, https://github.com/donggyun112/codecanvas/issues
Requires-Python: >=3.10
Requires-Dist: libcst>=1.0.0
Requires-Dist: mcp>=1.0.0
Provides-Extra: dev
Requires-Dist: fastapi; extra == 'dev'
Requires-Dist: httpx>=0.24.0; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: uvicorn; extra == 'dev'
Provides-Extra: server
Requires-Dist: fastapi; extra == 'server'
Requires-Dist: httpx>=0.24.0; extra == 'server'
Requires-Dist: uvicorn; extra == 'server'
Description-Content-Type: text/markdown

# codecanvas-mcp

Precision static-analysis MCP server for Python codebases. Gives coding
agents ground-truth answers about call graphs, control flow, and change
impact — instead of grepping and guessing.

## Tools

- `list_entrypoints` — API routes, scripts, and function entrypoints
- `who_calls` / `call_tree` — reverse and forward call graph, N hops
- `what_does` — signature, docstring, db/http/raise effects, risk
- `function_flow` — de-noised control-flow outline of a function
- `reaching_conditions` — the guard conditions behind every return/raise
- `analyze_impact` — changed functions and affected endpoints for a diff or git ref

## Usage

```bash
claude mcp add codecanvas -- uvx codecanvas-mcp
```

Or in any MCP client config:

```json
{ "mcpServers": { "codecanvas": { "command": "uvx", "args": ["codecanvas-mcp"] } } }
```

Pass `project_path` on the first tool call; it is remembered for the rest
of the session.

## Extras

The base install is analysis-only. `pip install "codecanvas-mcp[server]"`
adds the FastAPI web server and runtime tracer used by the
[CodeCanvas VS Code extension](https://github.com/donggyun112/codecanvas).
