← Back to Tanvrit AI
Features

45 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 45 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 tools

Read, list, and slice files without dumping whole files into the context window.

get_file

Return a file (or range) by path, with line numbers.

get_chunk

Return only the body of a specific function or class — typical 90% token savings vs full file.

list_files

List files in a directory, with optional glob filter.

get_file_structure

Outline of symbols (classes, functions, types) without bodies — typical 95% token savings.

Search & navigation

8 tools

Full-text and symbol-level search across the entire indexed codebase.

search_code

Full-text search with surrounding context snippets.

semantic_search

Hybrid semantic + full-text search — embeddings fused with bm25 ranking (new in 1.4).

search_symbols

Find classes, functions, interfaces, types by name.

search_definitions

Locate the canonical definition of a named symbol.

find_references

Every place a symbol is read or called from.

get_symbol_usages

Per-call-site usage with context — distinguishes reads vs writes vs calls.

get_symbol_context

Full context for one symbol — definition, callers, tests, and blast radius in a single call.

get_imports

Imports declared by a file or module.

Code intel & graphs

12 tools

The expensive analyses that Tanvrit pre-computes so the agent doesn't have to.

get_call_graph

Callers and callees of a function, depth-bounded.

get_dependency_graph

Project-level import graph between modules.

analyze_dependencies

Outgoing and incoming dependencies of a target.

analyze_inheritance

Type hierarchy traversal — supertypes and subtypes.

analyze_impact

Blast radius: every symbol affected by a change.

find_dead_code

Unreferenced symbols across the indexed graph.

find_complex_files

Files ranked by cyclomatic complexity.

get_metrics

Per-file complexity, LOC, function counts, comment ratio.

get_all_metrics

Project-wide aggregate metrics for dashboards.

get_project_overview

Top-level summary: language mix, file count, hotspots.

get_context

Heuristic bundle of the smallest set of chunks an agent needs to answer about a target.

tanvrit_context

The fused Context Pack — hybrid search + symbol context + blast radius + recorded decisions + staged diff in one grounded call.

Git

2 tools

Provenance built straight on top of the local git repo.

git_blame

Author per line, with commit SHA and timestamp.

git_history

Commit history for a file, range, or symbol.

Conversation memory

9 tools

Persistent, per-session memory so agents do not re-read the world on every turn.

store_context

Save a fact / decision / hypothesis for later retrieval.

search_context

Semantic search over previously stored context.

update_context

Edit or invalidate a stored entry.

create_entity

Track an entity (class, ticket, person) with observations.

relate_entities

Edge between two entities — "calls", "owns", "depends-on".

get_session_summary

Compact summary of the current session for hand-off.

recall_conversation

Retrieve relevant turns from earlier in the conversation for the current task.

kg_record_decision

Record an architectural decision in the knowledge graph, linked to the files it touches.

recall_decisions_for_file

Surface the decisions and rationale recorded against a file.

Agent actions

8 tools

Side-effectful tools the agent can invoke when explicitly authorised — every write is staged and reviewable.

edit_file

Apply a staged edit to a file — reviewed through the same Pending Edits path as the UI before it touches disk.

write_file

Create or overwrite a file, staged for review before it lands.

run_tests

Run the project's test command and return a structured result.

format_file

Apply the project's formatter to one file.

task

Run a scoped sub-agent on a focused task and return its result.

task_plan

Plan and run a multi-step task as a sequence of verified sub-agent steps.

handoff_mint

Mint a handoff token so another agent or session can resume this context.

handoff_claim

Claim a handoff token to continue a prior agent's work with its full context.

Web

2 tools

Opt-in access to the open web, for the tasks that genuinely need current information.

web_search

Search the web for current information (opt-in, off by default).

page_fetch

Fetch and extract the readable content of a web page by URL.

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.