Skip to main content
Glama
nvlang
by nvlang

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
VERSO_MCP_CACHENoCache directory path. Default: ~/.cache/verso-mcp.~/.cache/verso-mcp
VERSO_MCP_SITESNoComma-separated alias=url site list. Default: Lean Language Reference.lean-reference=https://lean-lang.org/doc/reference/latest/
VERSO_MCP_RATE_BURSTNoToken-bucket burst capacity. Default: 5.5
VERSO_MCP_RATE_PER_SECNoSustained outbound request rate (requests/second). Default: 2.2
VERSO_MCP_RATE_MAX_WAITNoMax 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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_sitesA

List the Verso documentation sites this server is configured to serve.

Each site has an alias — pass it as the site argument to search, list_kinds, or fetch_page to target that site. Sites are configured via the VERSO_MCP_SITES environment variable. Read-only.

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 kind values to filter search. Read-only.

Args: site: which configured site (alias from list_sites); omit for the default. response_format: "markdown" (default) or "json".

Returns: markdown: a table of kind, count, and human-readable description. json: {"site": str, "root": str, "total_entries": int, "kinds": [{"kind","count","description"}, ...]}

searchA

Search a Verso documentation site's cross-reference index by name.

Matches entry names and display names (not free text inside pages — use fetch_page to read a page). Results are ranked by match quality and paginated. Read-only.

Args: query: free-text query matched against canonical and user-facing names. site: which configured site (alias from list_sites); omit for the default. kind: optional kind filter — one of the values from list_kinds. limit: maximum results per page, 1-100 (default 20). offset: number of results to skip, for pagination (default 0). response_format: "markdown" (default) or "json".

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 #anchor, only that single entry/section is returned (not the whole chapter). A relative path is resolved against site; an absolute URL is accepted only if it falls under a configured site root. Plain http://, off-site URLs, and path-traversal segments are rejected. Read-only.

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 list_sites); omit for the default. Ignored when url_or_path is absolute. response_format: "markdown" (default) for the page text, or "json" for text plus metadata.

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 url field of a search result here.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nvlang/verso-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server