Skip to main content
Glama
KRLabsOrg
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: Semantic Scholar MCP Server

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'].

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
collection_idsNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description only notes a default value for collection_ids, but lacks disclosure of side effects, idempotency, or other behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very brief but lacks structured sections; the single sentence is efficient but could be better organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Incomplete for a tool with 2 parameters and no output schema; missing return format, error cases, and details about paper_id validation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%; the description adds minimal value by stating the default for collection_ids, but paper_id lacks any explanation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'get' and resource 'BibTeX citation for a paper', but does not differentiate from sibling tools like get_paper or get_paper_content.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives; lacks any context for appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_collectionC

Get metadata for a single collection by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
collection_idYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It only states 'Get metadata', implying read-only, but lacks details on idempotency, side effects, required permissions, or error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no wasted words. It is appropriately front-loaded but could be slightly more informative without loss of conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and only one parameter, the description should provide context on return value, parameter format, or error conditions. It fails to do so, leaving the agent with minimal information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no meaning beyond the parameter name 'collection_id'. The phrase 'by id' restates what is obvious from the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the verb 'Get' and the resource 'metadata for a single collection by id', distinguishing it from sibling tools like list_collections (which lists collections) and other get tools for different entities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The description does not mention when not to use it or provide context for selection among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_paperC

Get paper metadata by id.

collection_ids defaults to ['anthology'].

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
collection_idsNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden but only mentions a default value, omitting aspects like read-only nature, error handling, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded, but it could be more concise by integrating the default note without adding extra sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description fails to specify what 'metadata' includes, response format, or error conditions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so description must compensate. It clarifies collection_ids defaults to ['anthology'] (contradicting schema default of null), but paper_id is not elaborated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get paper metadata by id' with a specific verb and resource. However, it does not differentiate from siblings like 'get_paper_content' or 'get_citation', which could cause confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., search_papers). The note on default collection_ids is useful but does not address usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_paper_contentC

Get full paper content (markdown) by id.

collection_ids defaults to ['anthology'].

ParametersJSON Schema
NameRequiredDescriptionDefault
paper_idYes
collection_idsNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose behaviors. It mentions returning markdown and a default value for collection_ids, but omits critical traits like auth requirements, rate limits, or whether it mutates state. The description is insufficient for safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (two sentences) and front-loaded with the main action. However, it lacks structure and could be more informative without being verbose. Adequate but not exceptional.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (2 params, no output schema) and the sibling list, the description is too sparse. It does not explain what the markdown content includes, error handling, or how it differs from get_paper. The agent would need to infer or test.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so description must explain parameters. It only mentions collection_ids defaults to ['anthology'] but does not clarify the purpose of paper_id or the meaning of collection_ids beyond a default. This leaves the agent guessing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves full paper content in markdown format by ID, distinguishing it from siblings like get_paper (likely metadata-only) and get_citation. However, it does not explicitly differentiate from similar tools, so not a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like get_paper or search_papers. The description only states what it does, not the appropriate context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
collection_idsNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses key behaviors: fuzzy search, per-collection counts, default collection, and facet limitation. However, it does not mention read-only nature, rate limits, or any side effects, which is acceptable for a simple search but could be improved.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only two sentences, front-loaded with the core purpose. Every word adds value. The second sentence is slightly dense but packs important constraints. No unnecessary fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema, the description should clarify the return structure (e.g., list of authors, each with count). It mentions 'per-collection counts' but does not specify the format. Pagination behavior (limit parameter) is not addressed. The tool's completeness for an agent is inadequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain parameters. It only indirectly describes collection_ids (default and behavior) and implies query is used for name search. The 'limit' parameter and exact query format are not explained, failing to compensate for the schema's lack of descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it searches authors by name with fuzzy/typo-tolerant matching. It is distinct from sibling tools (no other author-specific tool), but it does not explicitly mention the return format (list of authors with counts), leaving slight ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context on defaults (collection_ids defaults to ['anthology']) and a behavioral caveat (facets only for first collection), which guides usage. However, it does not explicitly state when to use this tool versus alternatives like search_papers or list_collections.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_booktitlesC

Search booktitles (fuzzy). Per-collection counts.

collection_ids defaults to ['anthology'].

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
collection_idsNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description partially compensates by disclosing fuzzy search behavior and default collection_ids. However, it does not explain pagination, result format, or any side effects. The coverage is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very brief (three lines) with no wasted words. Each phrase adds value: the action, the feature, and a default. It is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given three parameters and no output schema, the description lacks details on the output (e.g., returned fields, sorting) and does not fully explain parameters. The tool's basic function is clear, but essential context for an agent to use it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, and the description only explains the default for collection_ids. The 'query' and 'limit' parameters are not described. 'fuzzy' is mentioned but not elaborated, leaving ambiguity about how the query string is used.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Search booktitles (fuzzy)' with a clear verb and resource, and adds the distinctive feature of per-collection counts. It differentiates from sibling list tools like list_authors or list_collections by focusing on book titles with fuzzy matching.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives like search_papers or list_collections. The description only mentions a default for collection_ids, but not the appropriate scenarios for each sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description details the returned fields (id, name, description, record_count, visibility, status), offering transparent behavioral disclosure. It could mention ordering or limits but is generally sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first states purpose, second adds output details and usage guidance. No wasted words, front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and zero parameters, the description explains the return values adequately. Could note ordering or pagination but not required for completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, so the description naturally adds no parameter details. Baseline 4 applies since no additional parameter semantics are needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'collections', and distinguishes from sibling tools like get_collection which returns a single collection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explains that the returned collection IDs should be used with other tools' collection_ids parameter, providing clear context for usage, though it does not explicitly state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_venuesC

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

collection_ids defaults to ['anthology'].

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
collection_idsNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It mentions fuzzy search and per-collection counts, but fails to indicate whether the operation is read-only, requires authentication, or has side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise with two sentences. It front-loads the main purpose and includes a key default. However, it could be better structured with bullet points or clearer separation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given three parameters and no output schema, the description is too minimal. It does not cover return format, pagination, error handling, or how results are ordered, which are important for a search tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description only adds the default for collection_ids. It does not explain the meaning of 'query' or 'limit' beyond their names, leaving the agent with insufficient understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches venues/conferences with fuzzy matching, and mentions per-collection counts. It distinguishes from sibling tools like search_papers and list_collections by specifying the resource type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a default for collection_ids but gives no guidance on when to use this tool versus siblings. It lacks context for appropriate use cases or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_yearsB

List publication years available in the collection with paper counts.

collection_ids defaults to ['anthology'].

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
collection_idsNo

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions a default value for collection_ids but does not disclose other behavioral traits such as performance, side effects, or required permissions. The operation seems read-only but is not explicitly stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences, front-loading the purpose. Every sentence adds value, and there is no unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of output schema and annotations, the description is somewhat sparse. It does not cover return format, pagination, error handling, or other constraints that would help an agent use the tool robustly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description adds meaning for the collection_ids parameter by stating its default value ('anthology'). It does not explain the limit parameter or provide deeper semantics for collection_ids, leaving some ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'List publication years available in the collection with paper counts.' It uses a specific verb ('list') and resource ('publication years'), and distinguishes from sibling tools like list_authors and list_venues by focusing on years and counts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context (listing available years and counts) but does not provide explicit guidance on when to use this tool versus alternatives like search_papers. No when-not-to-use or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNo
questionYes
collection_idsNo

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. However, it does not specify what the tool returns (e.g., text chunks, metadata), nor does it mention whether the operation is read-only or has side effects. The description focuses on parameters but lacks output behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured with an Args section and is reasonably concise. However, the filter examples, though helpful, add length. Overall, it is well-organized and front-loaded with the tool's primary action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description adequately covers parameters but misses key completeness aspects: it does not describe the return format, any usage limitations, or when to avoid using this tool. Sibling differentiation is absent, reducing contextual completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds significant meaning beyond the input schema, which has 0% coverage. It explains each parameter clearly, including default values and practical filter examples for Milvus expressions. The collection_ids parameter is well-described with cross-collection behavior noted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as running a RAG query against a paper corpus with specific parameters. However, it does not explicitly differentiate from sibling tools like search_papers, which may also involve querying papers but likely without RAG semantics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. While filter examples are given, there is no mention of scenarios where search_papers or other tools might be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo
limitNo
queryYes
collection_idsNo
include_chunksNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It clearly explains the behavior of include_chunks (returns matched_chunks list of {text, score}) and notes it is free with no quota cost. It covers parameter defaults and optionality, but does not mention any side effects or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the main purpose, then uses a clear Args list. It is efficient but includes extraneous detail for include_chunks that could be shortened. Still, every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 5 parameters and no output schema, the description covers parameters well but lacks explicit return format for basic results (e.g., list of paper objects). The include_chunks detail is complete, but the overall output structure is assumed from context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description explains all 5 parameters (query, year, limit, collection_ids, include_chunks) with defaults and additional context (e.g., collection_ids default to ['anthology'], include_chunks output structure and cost). This fully compensates for the missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Search papers by query (and optional year).' It uses a specific verb ('Search') and resource ('papers'), and distinguishes from sibling tools like get_paper (retrieve single paper) and query_rag (likely RAG-based).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides usage context for collection_ids (default anthologist, cross-collection) and include_chunks (useful for extractors). However, it does not explicitly compare to sibling tools like query_rag or state when this tool should be preferred over alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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

ParametersJSON Schema
NameRequiredDescriptionDefault
contextYes
questionYes

TDQS

A4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It mentions producing a 'verbatim answer with exact citations' but fails to specify whether the tool modifies data, requires permissions, or has side effects. The output structure and behavior under error conditions are not described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured, starting with a clear purpose statement, then a summary line, followed by formatted parameter descriptions. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, and the description does not detail the return format beyond 'verbatim answer with exact citations'. Given the complexity of the output (likely structured with citations), this omission leaves gaps. However, it adequately covers input semantics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds significant value beyond the bare input schema. It explains that 'question' is the query to answer, and 'context' is a list of documents with required 'content' and optional 'title', 'source', and 'metadata'. This meaningfully compensates for the 0% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: transforming a question and context documents into a verbatim answer with exact citations. It distinguishes itself from siblings like query_rag (semantic search) and get_citation (retrieval), indicating a unique function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains that the tool is 'collection-agnostic' and works with any text, providing clear usage context. However, it does not explicitly state when not to use it or suggest alternatives beyond implicit differentiation from sibling tool names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 12 tool updatesv0.4.0
    • First observedget_citation
    • First observedget_collection
    • First observedget_paper
    • First observedget_paper_content
    • First observedlist_authors
    • First observedlist_booktitles
    • First observedlist_collections
    • First observedlist_venues
    • First observedlist_years
    • First observedquery_rag
    • First observedsearch_papers
    • First observedverbatim_transform

TDQS

A3.5/5.0
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 issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    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.
    91
    Apache 2.0
  • A
    license
    A
    quality
    C
    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

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/KRLabsOrg/verbatim-mcp'

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