31 MCP tools for code-aware agents
Tanvrit's MCP server exposes a precise vocabulary for code intelligence — so your agent can ask for the function it needs, not the entire file. The authoritative list is whatever tools/list returns from localhost:19281 at runtime; what you see below is 32 tools grouped by purpose.
Sample call shape
// MCP tools/call request
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_chunk",
"arguments": {
"file": "src/indexer/FileIndexer.kt",
"symbol": "FileIndexer.indexProject"
}
}
}All HTTP MCP calls require Authorization: Bearer with the token from Settings → MCP Bearer Token. Stdio mode skips auth (trusted parent process).
File operations
4 toolsRead, list, and slice files without dumping whole files into the context window.
get_fileReturn a file (or range) by path, with line numbers.
get_chunkReturn only the body of a specific function or class — typical 90% token savings vs full file.
list_filesList files in a directory, with optional glob filter.
get_file_structureOutline of symbols (classes, functions, types) without bodies — typical 95% token savings.
Search & navigation
6 toolsFull-text and symbol-level search across the entire indexed codebase.
search_codeFull-text search with surrounding context snippets.
search_symbolsFind classes, functions, interfaces, types by name.
search_definitionsLocate the canonical definition of a named symbol.
find_referencesEvery place a symbol is read or called from.
get_symbol_usagesPer-call-site usage with context — distinguishes reads vs writes vs calls.
get_importsImports declared by a file or module.
Code intel & graphs
12 toolsThe expensive analyses that Tanvrit pre-computes so the agent doesn't have to.
get_call_graphCallers and callees of a function, depth-bounded.
get_dependency_graphProject-level import graph between modules.
analyze_dependenciesOutgoing and incoming dependencies of a target.
analyze_dependencies_for_fileSame, scoped to one file.
analyze_inheritanceType hierarchy traversal — supertypes and subtypes.
analyze_impactBlast radius: every symbol affected by a change.
find_dead_codeUnreferenced symbols across the indexed graph.
find_complex_filesFiles ranked by cyclomatic complexity.
get_metricsPer-file complexity, LOC, function counts, comment ratio.
get_all_metricsProject-wide aggregate metrics for dashboards.
get_project_overviewTop-level summary: language mix, file count, hotspots.
get_contextHeuristic bundle of the smallest set of chunks an agent needs to answer about a target.
Git
2 toolsProvenance built straight on top of the local git repo.
git_blameAuthor per line, with commit SHA and timestamp.
git_historyCommit history for a file, range, or symbol.
Conversation memory
6 toolsPersistent, per-session memory so agents do not re-read the world on every turn.
store_contextSave a fact / decision / hypothesis for later retrieval.
search_contextSemantic search over previously stored context.
update_contextEdit or invalidate a stored entry.
create_entityTrack an entity (class, ticket, person) with observations.
relate_entitiesEdge between two entities — "calls", "owns", "depends-on".
get_session_summaryCompact summary of the current session for hand-off.
Agent actions
2 toolsSide-effectful tools the agent can invoke when explicitly authorised.
run_testsRun the project's test command and return a structured result.
format_fileApply the project's formatter to one file.
How tools change between releases
Tools follow semver. Adding a tool is a minor bump; renaming or removing one is a major bump and gets a migration note in the changelog. If you build against a specific tool name, pin to a major version when you ship.