Skip to main content
Glama
xeophon

BibTeX MCP Server

by xeophon

BibTeX MCP Server

Multi-provider academic reference search with BibTeX generation. Searches arXiv, DBLP, Semantic Scholar, and OpenAlex concurrently.

MCP Client Configuration

For Claude Desktop, ChatGPT, or other MCP clients:

  • Server URL: https://mcp.florianbrand.de/sse

  • Transport: SSE (Server-Sent Events)

  • Authentication: None required

Related MCP server: Literature Review Assistant

Installation

Remote Clients

This server is hosted publicly at: https://mcp.florianbrand.de/sse

Important: Use the URL exactly as shown above (without www subdomain)

Local Clients

If you prefer to run the server locally, you can add it the following way:

{
  "mcpServers": {
    "bibtex": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/bibtex-mcp", "python", "-m", "reference_mcp", "--stdio"],
      "env": {
        "SEMANTIC_SCHOLAR_API_KEY": "your_api_key_here"
      }
    }
  }
}

A semantic scholar API key is optional but recommended for higher rate limits. It can be requested here.

Available Tools

4 tools
fetchA

Fetch a single document by ID.

This is designed for ChatGPT compatibility which expects a single ID parameter.

Args: id: Document ID from previous search results

Returns: Dictionary containing the full document with id, title, text (BibTeX + abstract)

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4.1/5.0
Behavior3/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 discloses the return format (dictionary with id, title, text containing BibTeX and abstract) and notes it expects a single ID parameter. However, it does not mention error behavior (e.g., what happens if the ID is not found), rate limits, or permissions. For a read-only fetch, this is adequate but not thorough.

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 concise, with the main purpose stated first, followed by a brief note on compatibility, and then structured Args and Returns sections. Every sentence adds value, though the compatibility note could be seen as extra context rather than essential usage guidance.

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?

For a simple fetch tool with one parameter and no output schema, the description covers the essential information: what it does, what the parameter means, and what it returns. It lacks error handling details, but for a basic fetch operation, this is reasonably complete.

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 schema only defines 'id' as a string with no description, and schema description coverage is 0%. The description adds meaningful context by specifying 'Document ID from previous search results', which tells the agent exactly where the ID comes from and its format expectation.

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 states 'Fetch a single document by ID' which is a specific verb and resource. It clearly distinguishes from siblings like search_reference and search (which search) and fetch_multiple (which fetches multiple), by emphasizing 'single document'.

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 provides usage context by noting this is for ChatGPT compatibility and that the ID comes from previous search results, implying when to use it. However, it does not explicitly state when not to use it or mention alternatives like fetch_multiple, though the sibling names and the 'single' wording make the distinction clear.

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

fetch_multipleA

Fetch full documents for previously searched references.

This is the precision step - returns complete BibTeX records and abstracts for documents identified by the search tool.

Args: ids: List of document IDs from previous search results

Returns: Dictionary mapping IDs to full document text (BibTeX + abstract)

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description bears the burden of describing behavior, and it does by stating the exact return contract: a dictionary mapping each ID to full document text with BibTeX plus abstract. It does not cover invalid-ID/error behavior, but for a read-only fetch operation the disclosed output behavior is substantive.

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?

Three clearly labeled short sections (summary, Args, Returns) with no filler. The precision-step framing is front-loaded and every sentence contributes.

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?

For one required parameter and no output schema, the description supplies the necessary return shape and usage context. However, it refers ambiguously to 'the search tool' when two search-like siblings exist (search and search_reference), and it omits any error or edge-case behavior.

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 schema only gives 'ids' as a string array, so the description adds the crucial meaning that these are document IDs from previous search results. It does not discuss uniqueness or validity, but this fully compensates for the 0% schema coverage for a single simple parameter.

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 uses a specific verb ('Fetch') and resource ('full documents') and explains this is the precision step after searching, which separates it from search-oriented siblings. It does not explicitly contrast with the sibling 'fetch', so the single-vs-multiple distinction is left implicit.

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 gives clear usage context: call this after a search, with IDs from previous search results, to get complete BibTeX records and abstracts. It stops short of explicitly stating when not to use it or naming the alternative for single-document retrieval.

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

search_referenceA

Search academic literature databases (DBLP, Semantic Scholar, arXiv, OpenAlex) to find research papers and return properly formatted BibTeX citations.

Use this tool when the user needs:

  • Academic citations for research papers, articles, or publications

  • BibTeX entries for bibliography management

  • Information about specific papers (authors, venue, publication year, abstract)

  • Literature search results from computer science and AI databases

The tool automatically searches all major academic databases, deduplicates results, and ranks by relevance. Each result includes complete bibliographic metadata and a ready-to-use BibTeX citation.

Args: query: Academic search terms (paper titles, author names, years or any combination of them yields the best results). max_results: Number of results to return (1-100, default 20). Use lower values (5-10) for focused searches. year: Optional year filter. If provided, returns papers published in this year. author: Optional author name filter. If provided, returns papers by authors matching this name.

Returns: Dictionary with query, total_results count, and array of references containing: - Complete bibliographic data (title, authors, year, venue, DOI, etc.) - Abstract text when available - Formatted BibTeX citation ready for use - Citation count - Source databases that found this reference

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo
queryYes
authorNo
max_resultsNo

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are present, so the description carries the full burden of behavioral disclosure. It states that the tool automatically searches all major databases, deduplicates results, ranks by relevance, and returns complete metadata, abstracts, BibTeX, citation counts, and source databases. This gives an accurate behavioral model beyond the schema, though it omits failure modes or rate-limit considerations.

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 long but well organized into clear sections: purpose, when-to-use, behavior, args, and returns. Each section serves a distinct decision point, and front-loading the core purpose helps an agent parse quickly. There is minor redundancy in repeating the BibTeX outcome, but nothing is extraneous.

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?

With no output schema and no annotations, the description compensates by specifying the return dictionary structure and the fields each reference contains. It also covers all input parameters and the automatic multi-database behavior. It omits edge cases like missing metadata or pagination, but the core invocation contract is fully specified.

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%, so the description must fully compensate, and it does. For query it explains what terms work best; for max_results it gives range and focused-search guidance; for year and author it states the filtering behavior. All four parameters carry meaning beyond their bare schema titles.

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 opens with a specific verb and resource: 'Search academic literature databases (DBLP, Semantic Scholar, arXiv, OpenAlex) to find research papers and return properly formatted BibTeX citations.' This clearly distinguishes the tool from generic siblings like 'search' and 'fetch' by naming the academic databases and the BibTeX output format, so an agent can identify it uniquely.

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 provides an explicit 'Use this tool when the user needs' block covering academic citations, BibTeX entries, paper metadata, and literature search results. This gives an agent clear context for when to invoke it, but it doesn't name any alternative tools or explicitly state when not to use it, leaving a small differentiation gap.

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.

  1. 4 tool updatesv0.1.0
    • First observedfetch
    • First observedfetch_multiple
    • First observedsearch
    • First observedsearch_reference

TDQS

A3.9/5.0

Scored across 4 tools

Disambiguation3/5

The search and search_reference tools both perform literature searches but with different output granularity. While search_reference returns full BibTeX and search returns lightweight snippets, the boundary is fuzzy and an agent might misselect them. fetch and fetch_multiple are clearly distinct in cardinality.

Naming Consistency2/5

Tool names follow mixed patterns: search_reference uses verb_noun, while fetch, search, and fetch_multiple are bare verbs or verb_adjective. There is no consistent convention, and the verbs 'search' and 'fetch' could be seen as overlapping actions.

Tool Count5/5

Four tools is well-scoped for a bibliographic reference server. Each tool serves a clear purpose in the search-fetch workflow, and the count is within the ideal range, neither too thin nor bloated.

Completeness4/5

The tool set covers the core search and retrieval lifecycle: lightweight browsing (search), bulk full retrieval (fetch_multiple), and direct full citation lookup (search_reference). Missing features like DOI lookup or format export are minor and not critical for the stated purpose.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables searching and retrieving academic papers from arXiv and DBLP databases with advanced filtering options. Supports downloading PDFs and provides detailed paper information including titles, authors, abstracts, and publication dates.
    43 npm
    3
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables retrieval of academic paper metadata, PDFs, full text, citations, and references by title via Semantic Scholar, arXiv, and other sources.
    6
    30 PyPI
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables searching, downloading, and exporting academic papers from 20+ scholarly sources including arXiv, PubMed, and Semantic Scholar. Supports multi-source concurrent search, citation network tracing, and export to CSV, RIS, and BibTeX.
    1
    MIT