Fastapi Architect Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Fastapi Architect Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
An MCP server that gives Claude Code IDE-level intelligence for FastAPI projects — semantic code navigation, safe renaming, route inspection, dependency trees, Pydantic model analysis, and a typed knowledge graph of the whole application.
Instead of Claude reading files blindly, it calls structured tools backed by Jedi (Python language server) and Python's AST.
| Tool | Description |
|---|---|
find_references | Find all usages of a symbol across the project |
rename_symbol | Safely rename a symbol across all files |
go_to_definition | Jump to where a symbol is defined |
get_completions | Get completion suggestions at a cursor position |
list_routes | List all FastAPI routes with their full paths (router prefixes applied) |
get_dependencies | Get the full injection tree for a handler (router, decorator and signature Depends()) |
build_dependency_graph | Per-file view: route → input models → dependencies → response model |
validate_response_models | Detect routes missing a response_model declaration |
list_models | List all Pydantic/SQLModel models in a file |
inspect_model | Inspect a model's fields, types, defaults, and validators |
find_model_usages | Find everywhere a model is used across the project |
detect_schema_orm_mismatches | Detect field mismatches between ORM model and Pydantic schema |
| Tool | Description |
|---|---|
build_knowledge_graph | Build or refresh the project graph and return its statistics |
graph_report | Markdown overview: routes with their auth, most connected symbols, tables, audit findings |
graph_neighbors | Explore what a route, function, model or table uses and is used by |
impact_analysis | Everything affected if a symbol changes, with the chain explaining each impacted route |
find_path | Shortest paths between two nodes, e.g. from a route to a SQL table |
audit_graph | Write routes without auth, duplicate or unmounted routes, unused schemas, unreferenced ORM models, dependency cycles |
export_graph_html | Standalone interactive HTML visualization of the graph |
The graph is built statically from the AST — no code is executed and no LLM is involved.
Nodes: App, Router, Route, Handler, Dependency, Middleware, Function, Schema, ORMModel, Class, Table, Template, Module
Edges:
App/Router ──INCLUDES──▶ Router (prefixes → full route paths)
Route ──HANDLED_BY──▶ Handler
Route/Router/function ──DEPENDS_ON──▶ Dependency
function ──ACCEPTS / RETURNS──▶ Schema/ORMModel
function ──CALLS──▶ function function/class ──USES──▶ class
function ──QUERIES──▶ Table (raw SQL strings: SELECT, INSERT, UPDATE, DELETE, CREATE)
function ──RENDERS──▶ Template App ──MIDDLEWARE──▶ Middleware
ORMModel ──MAPS_TO / REFERENCES──▶ Table ORMModel ──RELATES_TO──▶ ORMModel
Schema ──INHERITS──▶ Schema Schema ──MIRRORS──▶ ORMModel (name + field overlap, with confidence)It covers both structured projects (APIRouter, Depends, SQLAlchemy/SQLModel) and flat ones (a single main.py, raw psycopg2 queries, Jinja2 templates, manual auth checks).
Cache: per-file extraction results are stored in <project>/.fastapi-architect/graph.json (git-ignored automatically). Only new or modified files are re-parsed, so graph tools stay fast after the first build.
pip install fastapi-architect-mcpAdd to ~/.claude/settings.json:
{
"mcpServers": {
"fastapi-architect": {
"command": "fastapi-architect-mcp"
}
}
}Create .mcp.json at your project root:
{
"mcpServers": {
"fastapi-architect": {
"command": "/path/to/your/project/venv/bin/fastapi-architect-mcp"
}
}
}Using your project's own venv gives Jedi access to all your project's dependencies, which enables full cross-file find_references and rename_symbol support.
Then restart Claude Code.
Once connected, you can ask Claude Code things like:
def handler(x=Depends(func)) — standard FastAPIdef handler(*, x=Depends(func)) — keyword-only args@router.get("/", dependencies=[Depends(func)]) — decorator-level depsSessionDep = Annotated[Session, Depends(get_db)] — Annotated aliases (modern FastAPI)BaseModel — PydanticSQLModel — SQLModelBaseSettings — Pydantic settingsRootModel — Pydantic v2class UserCreate(UserBase))@validator — Pydantic v1@field_validator — Pydantic v2Depends() / Security() only. Other DI frameworks (Dishka, dependency-injector, etc.) are not supported.audit_graph is inferred from names (dependencies, auth headers, called functions). Middleware-based auth is not detected; pass auth_dependencies to declare custom guards.self or injected objects, and SQL built at runtime are only partially captured..). On empty lines it returns all Python builtins.Abdessamad Touzani
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.