Skip to main content
Glama
verbatim-mcp
by KRLabsOrg

Verbatim MCP Server

An MCP (Model Context Protocol) server for Verbatim — a platform of specialized document collections that returns verbatim, cited answers. ACL Anthology is the default collection; pass collection_ids=[...] to scope to a different collection or query multiple.

Features

  • Search papers by keywords, authors, venues, and years

  • Ask research questions and get answers with verbatim citations

  • Get paper metadata and full content

  • Export citations in BibTeX format

  • Browse collections, authors, venues, and years

  • Collection-aware — all tools accept an optional collection_ids list (default ["anthology"])


Related MCP server: mcp-scholaris

Quick Start

Step 1: Get an API Key

  1. Go to verbatim.krlabs.eu

  2. Sign up / Log in

  3. Navigate to API Keys

  4. Create a new API key and copy it

Step 2: Set up the MCP server

Choose the setup that matches your environment:


Setup for Claude Code (CLI)

Option A: Using uvx (no install needed, requires uv)

claude mcp add verbatim --transport stdio \
  -e VERBATIM_API_KEY=vb_your_key_here \
  -- uvx verbatim-mcp

Option B: Using pip (works everywhere)

pip install verbatim-mcp

claude mcp add verbatim --transport stdio \
  -e VERBATIM_API_KEY=vb_your_key_here \
  -- verbatim-mcp

Option C: Config file

Add to ~/.claude.json or your project's .mcp.json:

{
  "mcpServers": {
    "verbatim": {
      "type": "stdio",
      "command": "verbatim-mcp",
      "args": [],
      "env": {
        "VERBATIM_API_KEY": "vb_your_key_here"
      }
    }
  }
}

Then restart Claude Code or run /mcp to verify.


Setup for Claude Desktop App

Edit your Claude Desktop config file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "verbatim": {
      "command": "uvx",
      "args": ["verbatim-mcp"],
      "env": {
        "VERBATIM_API_KEY": "vb_your_key_here"
      }
    }
  }
}

Restart Claude Desktop. You should see "verbatim" in the tools menu (hammer icon).


Setup for OpenAI Codex

Option A: Via CLI

codex mcp add verbatim \
  -e VERBATIM_API_KEY=vb_your_key_here \
  -- uvx verbatim-mcp

Option B: Via config file

Edit ~/.codex/config.toml:

[mcp_servers.verbatim]
command = "uvx"
args = ["verbatim-mcp"]

[mcp_servers.verbatim.env]
VERBATIM_API_KEY = "vb_your_key_here"

Then restart Codex or run /mcp to verify.


Setup for Cursor / VS Code with Continue

For Cursor or Continue.dev extension, add to your config:

{
  "mcpServers": {
    "verbatim": {
      "command": "uvx",
      "args": ["verbatim-mcp"],
      "env": {
        "VERBATIM_API_KEY": "vb_your_key_here"
      }
    }
  }
}

Verify It's Working

In Claude Code, run:

/mcp

You should see verbatim listed with its tools.

Try asking Claude:

"Use verbatim to search for papers about attention mechanisms"


Available Tools

Every collection-aware tool accepts an optional collection_ids: list[str] parameter (default ["anthology"]). verbatim_transform is collection-agnostic — you supply the context.

Tool

Description

list_collections

List collections available to your API key

get_collection

Get metadata for a single collection

query_rag

Ask a research question, get an answer with citations

verbatim_transform

Turn any question + context into a verbatim cited answer (no collection)

search_papers

Search papers by keywords and filters. Pass include_chunks=true to also get the matched chunks per paper (no LLM, no quota)

get_paper

Get metadata for a specific paper

get_paper_content

Get full text of a paper

get_citation

Get BibTeX citation

list_authors

Search authors by name

list_venues

Browse publication venues

list_booktitles

Browse proceedings/booktitles

list_years

List available publication years

Example Prompts

Once configured, try these with Claude:

  • "Search for papers about transformer efficiency from 2023"

  • "What does the research say about attention mechanisms?"

  • "Find papers by Ashish Vaswani"

  • "Get the BibTeX citation for that paper"

  • "List the top venues in the corpus"


Environment Variables

Variable

Description

Default

VERBATIM_API_KEY

Your API key (required)

-

VERBATIM_API_URL

API base URL

https://verbatim.krlabs.eu


Troubleshooting

"Failed to reconnect to verbatim"

  • If using uvx, make sure uv is installed: curl -LsSf https://astral.sh/uv/install.sh | sh

  • Alternatively, use pip instead: pip install verbatim-mcp and replace uvx verbatim-mcp with just verbatim-mcp in your config

"VERBATIM_API_KEY environment variable is required"

  • Make sure you added the -e flag or env block with your API key

Server not showing in /mcp

  • Restart Claude Code: claude (exit and reopen)

  • Check config syntax: claude mcp list

"API error (401): Unauthorized"

"API error (429): Rate limit"


Compatibility

MCP (Model Context Protocol) is supported by:

  • Claude Code (CLI) - ~/.claude.json

  • Claude Desktop App - claude_desktop_config.json

  • OpenAI Codex - ~/.codex/config.toml

  • Cursor - built-in MCP support

  • Continue.dev - VS Code/JetBrains extension


License

MIT License - see LICENSE for details.

Available Tools

12 tools
get_citationC

Get BibTeX citation for a paper.

collection_ids defaults to ['anthology'].

Inputs: paper_id (required), collection_ids.

get_collectionC

Get metadata for a single collection by id.

Inputs: collection_id (required).

get_paperC

Get paper metadata by id.

collection_ids defaults to ['anthology'].

Inputs: paper_id (required), collection_ids.

get_paper_contentC

Get full paper content (markdown) by id.

collection_ids defaults to ['anthology'].

Inputs: paper_id (required), collection_ids.

list_authorsB

Search authors by name (fuzzy, typo-tolerant). Per-collection counts.

collection_ids defaults to ['anthology']. Facets are returned for the first collection only (counts are per-collection).

Inputs: limit, query, collection_ids.

list_booktitlesC

Search booktitles (fuzzy). Per-collection counts.

collection_ids defaults to ['anthology'].

Inputs: limit, query, collection_ids.

list_collectionsA

List collections available to this API key.

Returns a list of collection metadata (id, name, description, record_count, visibility, status). Use the collection id with the other tools' collection_ids parameter to scope queries.

Inputs: no named parameters.

list_venuesC

Search venues/conferences (fuzzy). Per-collection counts.

collection_ids defaults to ['anthology'].

Inputs: limit, query, collection_ids.

list_yearsB

List publication years available in the collection with paper counts.

collection_ids defaults to ['anthology'].

Inputs: limit, collection_ids.

query_ragB

Run a RAG query against the paper corpus.

Args: question: The research question to answer. filter: Optional Milvus filter expression. Examples: - 'metadata["year"] == 2023' (papers from 2023) - 'metadata["year"] >= 2020 and metadata["year"] <= 2024' - 'json_contains(metadata["venue"], "acl")' (venue is stored as array) - 'json_contains(metadata["authors"], "John Smith")' (authors is stored as array) collection_ids: Collections to query. Defaults to ['anthology']. Pass multiple for cross-collection RAG (results will be retrieved from all named collections).

Inputs: question (required), filter, collection_ids.

search_papersA

Search papers by query (and optional year).

Args: query: Search string. year: Optional year filter. limit: Maximum results to return. collection_ids: Collections to search. Defaults to ['anthology']. Pass multiple for cross-collection searches (when other collections are available). include_chunks: When True, each result includes the retrieved chunks that contributed to its match in matched_chunks (list of {text, score}). Useful for feeding evidence directly into a local extractor or downstream summarizer. Free — no LLM, no quota cost.

Inputs: query (required), year, limit, collection_ids, +1 more.

verbatim_transformA

Turn any question + context documents into a verbatim answer with exact citations.

Collection-agnostic — works with any text you provide.

Args: question: The question to answer. context: List of documents. Each dict should have: - content (required): the text to cite from - title (optional): document title - source (optional): URL or reference - metadata (optional): any additional metadata

Inputs: context (required), question (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 12 tools

    Disambiguation5/5

    Every tool has a clearly distinct purpose: get citation, get collection, get paper, get paper content, list authors/booktitles/collections/venues/years, search, RAG, and transform. No overlapping functionalities that would confuse an agent.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern in snake_case (get_, list_, search_, query_, verbatim_transform). Even verbatim_transform fits as 'transform' with a server-specific prefix.

    Tool Count5/5

    12 tools is well-scoped for a scholarly paper API. It covers retrieval, search, and a unique RAG/transform capability without bloat or deficiency.

    Completeness5/5

    The tool surface is complete for a read-only paper corpus: citation, metadata, full content, search with options, RAG, and a citation-generating transform. No obvious missing operations for the stated domain.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables searching, fetching, and analyzing scientific papers from ArXiv, ACL Anthology, Semantic Scholar, and Hugging Face datasets, with optional LLM-powered document QA and research proposal workflows.
      245 PyPI
      94
      Apache 2.0
    • A
      license
      A
      quality
      D
      maintenance
      Searches and retrieves academic papers from open access sources like arXiv, Semantic Scholar, and PubMed, with full text access via arXiv PDFs, PubMed Central, and Unpaywall.
      2
      MIT