codecanvas-mcp 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. codecanvas_mcp-0.1.0/.gitignore +15 -0
  2. codecanvas_mcp-0.1.0/PKG-INFO +55 -0
  3. codecanvas_mcp-0.1.0/README.md +35 -0
  4. codecanvas_mcp-0.1.0/codecanvas_mcp/__init__.py +2 -0
  5. codecanvas_mcp-0.1.0/codecanvas_mcp/ai/__init__.py +0 -0
  6. codecanvas_mcp-0.1.0/codecanvas_mcp/graph/__init__.py +0 -0
  7. codecanvas_mcp-0.1.0/codecanvas_mcp/graph/ast_execution.py +1559 -0
  8. codecanvas_mcp-0.1.0/codecanvas_mcp/graph/builder.py +2476 -0
  9. codecanvas_mcp-0.1.0/codecanvas_mcp/graph/cfg.py +1033 -0
  10. codecanvas_mcp-0.1.0/codecanvas_mcp/graph/execution.py +234 -0
  11. codecanvas_mcp-0.1.0/codecanvas_mcp/graph/impact.py +408 -0
  12. codecanvas_mcp-0.1.0/codecanvas_mcp/graph/models.py +538 -0
  13. codecanvas_mcp-0.1.0/codecanvas_mcp/mcp/__init__.py +1 -0
  14. codecanvas_mcp-0.1.0/codecanvas_mcp/mcp/answers.py +12 -0
  15. codecanvas_mcp-0.1.0/codecanvas_mcp/mcp/outline.py +258 -0
  16. codecanvas_mcp-0.1.0/codecanvas_mcp/mcp/queries.py +628 -0
  17. codecanvas_mcp-0.1.0/codecanvas_mcp/mcp/server.py +136 -0
  18. codecanvas_mcp-0.1.0/codecanvas_mcp/mcp/session.py +68 -0
  19. codecanvas_mcp-0.1.0/codecanvas_mcp/parser/__init__.py +0 -0
  20. codecanvas_mcp-0.1.0/codecanvas_mcp/parser/call_graph.py +4125 -0
  21. codecanvas_mcp-0.1.0/codecanvas_mcp/parser/entrypoint_extractor.py +283 -0
  22. codecanvas_mcp-0.1.0/codecanvas_mcp/parser/fastapi_extractor.py +824 -0
  23. codecanvas_mcp-0.1.0/codecanvas_mcp/parser/openapi_enricher.py +153 -0
  24. codecanvas_mcp-0.1.0/codecanvas_mcp/server/__init__.py +0 -0
  25. codecanvas_mcp-0.1.0/codecanvas_mcp/server/app.py +432 -0
  26. codecanvas_mcp-0.1.0/codecanvas_mcp/tracer/__init__.py +22 -0
  27. codecanvas_mcp-0.1.0/codecanvas_mcp/tracer/app_discovery.py +152 -0
  28. codecanvas_mcp-0.1.0/codecanvas_mcp/tracer/collector.py +544 -0
  29. codecanvas_mcp-0.1.0/codecanvas_mcp/tracer/mapper.py +249 -0
  30. codecanvas_mcp-0.1.0/codecanvas_mcp/tracer/middleware.py +210 -0
  31. codecanvas_mcp-0.1.0/codecanvas_mcp/tracer/models.py +66 -0
  32. codecanvas_mcp-0.1.0/pyproject.toml +33 -0
@@ -0,0 +1,15 @@
1
+ node_modules/
2
+ dist/
3
+ *.pyc
4
+ __pycache__/
5
+ *.egg-info/
6
+ .venv/
7
+ .env
8
+ *.vsix
9
+ references/
10
+ *.db
11
+ .DS_Store
12
+ webview/src/styles/*.css.map
13
+ extension/media/assets/
14
+ test_flow_output.json
15
+ .codecanvas/
@@ -0,0 +1,55 @@
1
+ Metadata-Version: 2.4
2
+ Name: codecanvas-mcp
3
+ Version: 0.1.0
4
+ Summary: Precision static-analysis MCP server for Python: call graphs, control flow, and change impact
5
+ Project-URL: Repository, https://github.com/donggyun112/codecanvas
6
+ Project-URL: Issues, https://github.com/donggyun112/codecanvas/issues
7
+ Requires-Python: >=3.10
8
+ Requires-Dist: libcst>=1.0.0
9
+ Requires-Dist: mcp>=1.0.0
10
+ Provides-Extra: dev
11
+ Requires-Dist: fastapi; extra == 'dev'
12
+ Requires-Dist: httpx>=0.24.0; extra == 'dev'
13
+ Requires-Dist: pytest; extra == 'dev'
14
+ Requires-Dist: uvicorn; extra == 'dev'
15
+ Provides-Extra: server
16
+ Requires-Dist: fastapi; extra == 'server'
17
+ Requires-Dist: httpx>=0.24.0; extra == 'server'
18
+ Requires-Dist: uvicorn; extra == 'server'
19
+ Description-Content-Type: text/markdown
20
+
21
+ # codecanvas-mcp
22
+
23
+ Precision static-analysis MCP server for Python codebases. Gives coding
24
+ agents ground-truth answers about call graphs, control flow, and change
25
+ impact — instead of grepping and guessing.
26
+
27
+ ## Tools
28
+
29
+ - `list_entrypoints` — API routes, scripts, and function entrypoints
30
+ - `who_calls` / `call_tree` — reverse and forward call graph, N hops
31
+ - `what_does` — signature, docstring, db/http/raise effects, risk
32
+ - `function_flow` — de-noised control-flow outline of a function
33
+ - `reaching_conditions` — the guard conditions behind every return/raise
34
+ - `analyze_impact` — changed functions and affected endpoints for a diff or git ref
35
+
36
+ ## Usage
37
+
38
+ ```bash
39
+ claude mcp add codecanvas -- uvx codecanvas-mcp
40
+ ```
41
+
42
+ Or in any MCP client config:
43
+
44
+ ```json
45
+ { "mcpServers": { "codecanvas": { "command": "uvx", "args": ["codecanvas-mcp"] } } }
46
+ ```
47
+
48
+ Pass `project_path` on the first tool call; it is remembered for the rest
49
+ of the session.
50
+
51
+ ## Extras
52
+
53
+ The base install is analysis-only. `pip install "codecanvas-mcp[server]"`
54
+ adds the FastAPI web server and runtime tracer used by the
55
+ [CodeCanvas VS Code extension](https://github.com/donggyun112/codecanvas).
@@ -0,0 +1,35 @@
1
+ # codecanvas-mcp
2
+
3
+ Precision static-analysis MCP server for Python codebases. Gives coding
4
+ agents ground-truth answers about call graphs, control flow, and change
5
+ impact — instead of grepping and guessing.
6
+
7
+ ## Tools
8
+
9
+ - `list_entrypoints` — API routes, scripts, and function entrypoints
10
+ - `who_calls` / `call_tree` — reverse and forward call graph, N hops
11
+ - `what_does` — signature, docstring, db/http/raise effects, risk
12
+ - `function_flow` — de-noised control-flow outline of a function
13
+ - `reaching_conditions` — the guard conditions behind every return/raise
14
+ - `analyze_impact` — changed functions and affected endpoints for a diff or git ref
15
+
16
+ ## Usage
17
+
18
+ ```bash
19
+ claude mcp add codecanvas -- uvx codecanvas-mcp
20
+ ```
21
+
22
+ Or in any MCP client config:
23
+
24
+ ```json
25
+ { "mcpServers": { "codecanvas": { "command": "uvx", "args": ["codecanvas-mcp"] } } }
26
+ ```
27
+
28
+ Pass `project_path` on the first tool call; it is remembered for the rest
29
+ of the session.
30
+
31
+ ## Extras
32
+
33
+ The base install is analysis-only. `pip install "codecanvas-mcp[server]"`
34
+ adds the FastAPI web server and runtime tracer used by the
35
+ [CodeCanvas VS Code extension](https://github.com/donggyun112/codecanvas).
@@ -0,0 +1,2 @@
1
+ """CodeCanvas: Python request flow explainer for FastAPI."""
2
+ __version__ = "0.1.0"
File without changes
File without changes