verso-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VERSO_MCP_CACHE | No | Cache directory path. Default: ~/.cache/verso-mcp. | ~/.cache/verso-mcp |
| VERSO_MCP_SITES | No | Comma-separated alias=url site list. Default: Lean Language Reference. | lean-reference=https://lean-lang.org/doc/reference/latest/ |
| VERSO_MCP_RATE_BURST | No | Token-bucket burst capacity. Default: 5. | 5 |
| VERSO_MCP_RATE_PER_SEC | No | Sustained outbound request rate (requests/second). Default: 2. | 2 |
| VERSO_MCP_RATE_MAX_WAIT | No | Max seconds to wait for a token before refusing. Default: 3. | 3 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_sitesA | List the Verso documentation sites this server is configured to serve. Each site has an Args: response_format: "markdown" (default) or "json". Returns: markdown: one line per site (alias, default marker, root URL). json: {"default": str, "sites": [{"alias","root","indexed"}, ...]} |
| list_kindsA | List the kinds of entries indexed for a Verso site, with counts. Kinds are derived from the site's cross-reference index — they vary per site
(a language reference has tactics and options; a textbook has sections and
terms). Use the returned Args:
site: which configured site (alias from Returns:
markdown: a table of |
| searchA | Search a Verso documentation site's cross-reference index by name. Matches entry names and display names (not free text inside pages — use
Args:
query: free-text query matched against canonical and user-facing names.
site: which configured site (alias from Returns: markdown: a header ("N matches … showing X-Y") then one bullet per hit ("- [kind] display — url"), plus a hint to re-call with a higher offset. json: {"site","query","kind","total","count","offset","has_more", "next_offset","results":[{"kind","name","display","url",...}]} Examples: - "Find the simp tactic" -> search(query="simp", kind="tactic") - "Search the FPiL book for monads" -> search(query="monad", site="fpil") - "Next page of results" -> search(query=..., offset=20) |
| fetch_pageA | Fetch a page from a Verso documentation site and return it as Markdown. Converts the site's HTML to Markdown. With an Args:
url_or_path: absolute URL on a configured site, or a site-relative path.
May include an "#anchor" (e.g. ".../Tactic-Reference/#induction").
site: site to resolve a relative path against (alias from Returns: markdown: a "" header line, then the page/section as Markdown (capped at ~200 KB with a truncation marker). json: {"site","url","anchor","content","truncated"} On failure: an error string, or {"error": "..."} when response_format="json". Examples:
- Read one entry -> fetch_page(url_or_path=".../Tactic-Reference/#induction")
- Read a chapter -> fetch_page(url_or_path="/Tactic-Proofs/Tactic-Reference/")
- Resolve a hit -> pass the |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 4 tools
Each tool has a distinct purpose: listing sites, listing kinds, searching, and fetching pages. No overlap or ambiguity; they form a clear progression from discovery to retrieval.
All tool names follow a consistent verb-based pattern with underscores: list_sites, list_kinds, search, fetch_page. The naming is predictable and readable.
Four tools is well-scoped for a documentation querying server. Each tool is necessary and none are redundant.
The tool surface covers the full read-only workflow: discover sites, explore index structure, search entries, and fetch page content. No obvious gaps for the stated purpose.