MCP server exposing ty's language-server features (hover, definition, references, workspace symbol search, diagnostics) as MCP tools, plus type-checked refactoring tools (rename, change signature, move, safe delete)
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"codenav-mcp","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# codenav-mcp An MCP server that gives AI agents type-resolved Python navigation, backed by [ty](https://github.com/astral-sh/ty)'s language server. Definitions, references and call sites go through real type inference (imports, dependency-injected parameters, dataclass fields), not text grep. The same resolution powers its edits: rename a symbol, change a signature, or move a function or module, and every usage follows, including overriding methods and injected dependencies. Edits are type-checked and previewable before they are written, and can be undone. ## Quick start `ty` is installed with the package, so all you need is [uv](https://docs.astral.sh/uv/) (or `pipx`): ```bash uvx codenav-mcp ``` Register it with your MCP host. For Claude Code, from the project root: ```bash claude mcp add codenav -- uvx codenav-mcp ``` Or add it to a project `.mcp.json` (Claude Code) or `.cursor/mcp.json` (Cursor): ```json { "mcpServers": { "codenav": { "command": "uvx", "args": ["codenav-mcp"], "env": { "CODENAV_MCP_SOURCE_ROOT": "src" } } } } ``` In Cursor, also set `"CODENAV_MCP_WORKSPACE": "${workspaceFolder}"`, because Cursor may start MCP servers with your home directory as the working directory. ## Tools **Start with the name-based tools:** | Tool | Answers | |------|---------| | `symbol_info` | What is this? Header, hover, definition and references in one call | | `outline` | What's in this file? (classes, methods, functions) | | `callers` | Who actually calls this function? (call hierarchy, not imports) | | `implementations` | Which classes structurally implement this `Protocol`? (type-checked) | | `search_symbol` | Workspace symbol search by name (ranked, capped; optional `kind=` / `path=` filters; production code before tests; fuzzy-only hits summarised unless `fuzzy=true`) | | `workspace` | Which directory is being navigated, and why | Then use the position tools once you have a `path:line:col`: | Tool | Answers | |------|---------| | `hover` …
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.