An MCP server that provides access to the DBLP computer science bibliography for LLMs.
mcp-dblp provides 6 tools with complete input schemas and generally good descriptions. Tool naming follows verb-noun conventions (search, get_*, fuzzy_title_search, set_*). All tools have non-empty descriptions ranging from 150 - 350 characters, meeting the baseline average of 194 chars. However, the server has critical gaps: (1) Parameter descriptions are embedded in the main tool description rather than in schema properties, making them invisible to strict JSON Schema parsers and harder for LLMs to extract. (2) Output schemas are completely undocumented, while DBLP responses are described narratively ('returns a list of publication objects'), the actual field names, types, and required fields are never formalized. (3) No error handling guidance is provided, there's no documentation of how to recover from network failures, invalid queries, or DBLP API limits. (4) The fuzzy_title_search tool requires a similarity_threshold parameter (0 - 1) but provides no guidance on what threshold values mean in practice ('0.5' for loose matches?). (5) Tool composition is sound (six focused, single-responsibility tools), but the add_bibtex_entry and set_dblp_mirror tools lack rationale for when an LLM should invoke them.
Add a BibTeX entry to the collection for later export. Call this once for each paper you want to export.
Search DBLP for publications with fuzzy title matching. Arguments: - title (string, required): Full or partial title of the publication (case-insensitive). - similarity_threshold (number, required): A float between 0 and 1 where 1.0 means an exact match. - max_results (number, optional): Maximum number of publications to return. Default is 10. - year_from (number, optional): Lower bound for publication year. - year_to (number, optional): Upper bound for publication year. - venue_filter (string, optional): Case-insensitive substring filter for publication venues. - include_bibtex (boolean, optional): Whether to include BibTeX entries in the results. Default is false. Returns a list of publication objects sorted by title similarity score.
Retrieve publication details for a specific author with fuzzy matching. Arguments: - author_name (string, required): Full or partial author name (case-insensitive). - similarity_threshold (number, required): A float between 0 and 1 where 1.0 means an exact match. - max_results (number, optional): Maximum number of publications to return. Default is 20. - include_bibtex (boolean, optional): Whether to include BibTeX entries in the results. Default is false. Returns a dictionary with keys: name, publication_count, publications, and stats (which includes top venues, years, and types).
Retrieve information about a publication venue from DBLP. Arguments: - venue_name (string, required): Venue name or abbreviation (e.g., 'ICLR', 'NeurIPS', or full name). Returns a dictionary with fields: - venue: Full venue title - acronym: Venue acronym/abbreviation (if available) - type: Venue type (e.g., 'Conference or Workshop', 'Journal', 'Repository') - url: Canonical DBLP URL for the venue Note: Publisher, ISSN, and other metadata are not available through this endpoint.
Output schemas completely missing. All six tools describe their return values in prose but provide no formalized JSON schema. LLMs cannot parse response structures or validate downstream tool input without documented output shapes.
Parameter descriptions are embedded in the main tool description, not in the input schema's property descriptions. This makes them invisible to JSON Schema parsers and harder for LLMs to extract constraints dynamically.
add_bibtex_entry has an extremely short description (60 chars, well below the 194-char baseline). It does not explain the tool's relationship to search tools or how to use the dblp_key field from search results.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 59 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 27 | - | v1 |
Search DBLP for publications using a boolean query string. Arguments: - query (string, required): A query string that may include boolean operators 'and' and 'or' (case-insensitive). For example, 'Swin and Transformer'. Parentheses are not supported. - max_results (number, optional): Maximum number of publications to return. Default is 10. - year_from (number, optional): Lower bound for publication year. - year_to (number, optional): Upper bound for publication year. - venue_filter (string, optional): Case-insensitive substring filter for publication venues (e.g., 'iclr'). - include_bibtex (boolean, optional): Whether to include BibTeX entries in the results. Default is false. Returns a list of publication objects including title, authors, venue, year, type, doi, ee, and url.
Switch the DBLP server to a mirror. Use this if requests to the default dblp.org are timing out or failing. Available mirrors: - dblp.org (default) - dblp.uni-trier.de - dblp.dagstuhl.de All three are official DBLP mirrors maintained by Schloss Dagstuhl and University of Trier. The chosen mirror applies to all subsequent DBLP requests in this session. Arguments: - host (string, required): Mirror hostname (e.g., 'dblp.uni-trier.de').
fuzzy_title_search and get_author_publications both require a similarity_threshold parameter (0 - 1) but provide no practical guidance on threshold values (e.g., '0.5 for loose matches, 0.9+ for exact matches').
No error handling guidance. Tools do not document how to recover from DBLP API failures, timeouts, invalid queries, or rate limits. No examples of retryable vs. non-retryable errors.
No documented output limits. The search and fuzzy_title_search tools default to 10 results and get_author_publications to 20, but the descriptions do not clarify if LLMs will receive all results or paginated subsets, or whether they can request more.