verbatim-mcp
Integrates with OpenAI Codex to search papers, ask research questions with verbatim citations, get paper metadata, export BibTeX citations, and browse collections from Verbatim's document collections.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@verbatim-mcp find papers on attention mechanisms from 2020"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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_idslist (default["anthology"])
Related MCP server: mcp-scholaris
Quick Start
Step 1: Get an API Key
Go to verbatim.krlabs.eu
Sign up / Log in
Navigate to API Keys
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-mcpOption B: Using pip (works everywhere)
pip install verbatim-mcp
claude mcp add verbatim --transport stdio \
-e VERBATIM_API_KEY=vb_your_key_here \
-- verbatim-mcpOption 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-mcpOption 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:
/mcpYou 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 available to your API key |
| Get metadata for a single collection |
| Ask a research question, get an answer with citations |
| Turn any question + context into a verbatim cited answer (no collection) |
| Search papers by keywords and filters. Pass |
| Get metadata for a specific paper |
| Get full text of a paper |
| Get BibTeX citation |
| Search authors by name |
| Browse publication venues |
| Browse proceedings/booktitles |
| 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 |
| Your API key (required) | - |
| API base URL |
|
Troubleshooting
"Failed to reconnect to verbatim"
If using
uvx, make sure uv is installed:curl -LsSf https://astral.sh/uv/install.sh | shAlternatively, use pip instead:
pip install verbatim-mcpand replaceuvx verbatim-mcpwith justverbatim-mcpin your config
"VERBATIM_API_KEY environment variable is required"
Make sure you added the
-eflag orenvblock 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"
Your API key is invalid or expired
Generate a new one at verbatim.krlabs.eu/api-keys
"API error (429): Rate limit"
You've exceeded your query limit
Check usage at verbatim.krlabs.eu/api-keys
Compatibility
MCP (Model Context Protocol) is supported by:
Claude Code (CLI) -
~/.claude.jsonClaude Desktop App -
claude_desktop_config.jsonOpenAI Codex -
~/.codex/config.tomlCursor - built-in MCP support
Continue.dev - VS Code/JetBrains extension
License
MIT License - see LICENSE for details.
Links
Verbatim - The RAG service
MCP Documentation - Learn about MCP
Claude Code - Claude's coding assistant
Available Tools
12 toolsget_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
Scored across 12 tools
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.
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.
12 tools is well-scoped for a scholarly paper API. It covers retrieval, search, and a unique RAG/transform capability without bloat or deficiency.
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
Related MCP Connectors
Search arXiv and ACL Anthology, retrieve citations and references, and browse web sources to accel…
Academic paper search, scientific literature, citation analysis, arXiv & semantic related-work.
Search 340M+ academic papers — citation graphs, semantic similarity, and AI literature reviews.
Search a billion+ documents — papers, books, code, legal cases, forums, Wikipedia, and more.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables 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 PyPI94Apache 2.0
- AlicenseAqualityDmaintenanceSearches 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.2MIT
- FlicenseNot gradedqualityDmaintenanceEnables searching, ingesting, and querying academic papers using natural language, with integration to arXiv and Semantic Scholar.-
- FlicenseNot gradedqualityDmaintenanceEnables natural language question answering over academic PDFs with grounded answers, exact source attribution, and explicit uncertainty handling.-