Access DBLP for Bibliographic Analysis
MCP server for DBLP - search academic publications with boolean or fuzzy matching, look up authors and venues, and export accurate BibTeX entries.
Why it matters
Leverage the DBLP computer science database to perform comprehensive bibliographic analysis. Search publications, generate accurate BibTeX entries, and analyze venue information.
Outcomes
What it gets done
Search publications using boolean queries and fuzzy title matching.
Retrieve author publications and venue details.
Generate BibTeX entries and export them directly.
Calculate statistics from publication data.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/vb-dplp | bash Capabilities
Tools your agent gets
Get usage instructions and workflow guide for the DBLP MCP server
Search publications in DBLP using boolean queries
Search publications with fuzzy title matching
Get publications by a specific author
Get detailed information about a publication venue
Generate statistics from publication results
Add a BibTeX entry to collection by DBLP key
Export all collected BibTeX entries to a .bib file
Overview
DBLP MCP Server
An MCP server integrating the DBLP computer science bibliography with LLMs: boolean and fuzzy-matched publication search, author and venue lookup, and BibTeX export that fetches entries directly from DBLP rather than having the LLM generate or modify them. Use it when an AI assistant needs to find, cite, or compile academic computer science publications, with BibTeX entries guaranteed to come from DBLP itself rather than an LLM-hallucinated citation.
What it does
An MCP server that integrates the DBLP (Digital Bibliography and Library Project) database with LLMs, letting an AI assistant search and retrieve computer science publications, process citations, and generate BibTeX entries. Its defining feature is a direct BibTeX export path that bypasses LLM processing entirely: citation data is fetched directly from DBLP and only the citation key is modified, which the project emphasizes as critical for avoiding hallucinated or subtly altered bibliographic data.
When to use - and when NOT to
Use it when an assistant needs to find academic publications by topic, author, or venue, and especially when compiling a real bibliography that needs to be trustworthy - a wrong author name or a fabricated venue in a citation is a real research-integrity problem, not just a formatting error. Fuzzy matching on titles and author names means a partial or slightly misremembered query can still surface the right publication, with a similarity threshold controlling how loose that match is allowed to be. Because BibTeX fetches have a 10-second timeout for accuracy protection, a request that times out returns an error rather than a guessed or incomplete entry, so retrying individual failed entries is expected as normal behavior, not a bug. The project's own disclaimer flags it as a prototype: experimentation is encouraged, but use in critical environments is at the user's own risk.
Capabilities
search runs a boolean query (and/or, case-insensitive) with optional max_results, year range, venue filter, and BibTeX inclusion. fuzzy_title_search matches a full or partial title against a required similarity_threshold, 0 to 1, where 1.0 is exact. get_author_publications does the same fuzzy matching against an author name. get_venue_info retrieves details for a venue by name or abbreviation, such as ICLR. add_bibtex_entry fetches a BibTeX entry directly from DBLP by its DBLP key, assigns it a custom citation key, and adds it to a session collection, with duplicate keys overwritten and individual failures retryable. export_bibtex writes the full collected set to a .bib file at a given path, creating parent directories as needed and clearing the collection on success. A get_instructions tool returns full usage instructions and key workflow points on demand.
How to install
For Claude Code:
claude mcp add mcp-dblp -- uvx mcp-dblp
For Claude Desktop, add to claude_desktop_config.json:
{
"mcpServers": {
"mcp-dblp": {
"command": "uvx",
"args": ["mcp-dblp"]
}
}
}
From source:
git clone https://github.com/szeider/mcp-dblp.git
cd mcp-dblp
uv venv && source .venv/bin/activate
uv pip install -e .
Who it's for
Researchers, students, and anyone compiling a bibliography who wants publication search and BibTeX generation grounded directly in DBLP's own data, without risking an LLM-fabricated citation. The project is licensed under MIT.
Source README
MCP-DBLP
A Model Context Protocol (MCP) server that provides access to the DBLP computer science bibliography database for Large Language Models (accompanying paper accepted to AI4SC @ AAAI-26).
Overview
The MCP-DBLP integrates the DBLP (Digital Bibliography & Library Project) API with LLMs through the Model Context Protocol, enabling AI models to:
- Search and retrieve academic publications from the DBLP database
- Process citations and generate BibTeX entries
- Perform fuzzy matching on publication titles and author names
- Extract and format bibliographic information
- Process embedded references in documents
- Direct BibTeX export that bypasses LLM processing for maximum accuracy
Features
- Comprehensive search capabilities with boolean queries
- Fuzzy title and author name matching
- BibTeX entry retrieval directly from DBLP
- Publication filtering by year and venue
- Statistical analysis of publication data
- Direct BibTeX export capability that bypasses LLM processing for maximum accuracy
Available Tools
| Tool Name | Description |
|---|---|
get_instructions |
Get usage instructions and workflow guidance |
search |
Search DBLP for publications using boolean queries |
fuzzy_title_search |
Search publications with fuzzy title matching |
get_author_publications |
Retrieve publications for a specific author |
get_venue_info |
Get detailed information about a publication venue |
add_bibtex_entry |
Add a BibTeX entry to collection by DBLP key |
export_bibtex |
Export all collected BibTeX entries to a .bib file |
System Requirements
- Python 3.11+
- uv
Installation
Claude Code
Simply run:
claude mcp add mcp-dblp -- uvx mcp-dblp
Claude Desktop
Add to your Claude Desktop configuration file:
- macOS/Linux:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"mcp-dblp": {
"command": "uvx",
"args": ["mcp-dblp"]
}
}
}
From Source (Development)
git clone https://github.com/szeider/mcp-dblp.git
cd mcp-dblp
uv venv && source .venv/bin/activate
uv pip install -e .
Then configure Claude Desktop with:
{
"mcpServers": {
"mcp-dblp": {
"command": "uv",
"args": ["--directory", "/path/to/mcp-dblp/", "run", "mcp-dblp"]
}
}
}
Instructions
Usage instructions are available via the get_instructions tool. Key workflow points are shown in the tool description; call the tool for complete details. See also instructions_prompt.md.
Tool Details
search
Search DBLP for publications using a boolean query string.
Parameters:
query(string, required): A query string that may include boolean operators 'and' and 'or' (case-insensitive)max_results(number, optional): Maximum number of publications to return. Default is 10year_from(number, optional): Lower bound for publication yearyear_to(number, optional): Upper bound for publication yearvenue_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
fuzzy_title_search
Search DBLP for publications with fuzzy title matching.
Parameters:
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 matchmax_results(number, optional): Maximum number of publications to return. Default is 10year_from(number, optional): Lower bound for publication yearyear_to(number, optional): Upper bound for publication yearvenue_filter(string, optional): Case-insensitive substring filter for publication venuesinclude_bibtex(boolean, optional): Whether to include BibTeX entries in the results. Default is false
get_author_publications
Retrieve publication details for a specific author with fuzzy matching.
Parameters:
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 matchmax_results(number, optional): Maximum number of publications to return. Default is 20include_bibtex(boolean, optional): Whether to include BibTeX entries in the results. Default is false
get_venue_info
Retrieve detailed information about a publication venue.
Parameters:
venue_name(string, required): Venue name or abbreviation (e.g., 'ICLR' or full name)
add_bibtex_entry
Add a BibTeX entry to the collection for later export.
Parameters:
dblp_key(string, required): The DBLP key from search results (e.g., "conf/nips/VaswaniSPUJGKP17")citation_key(string, required): The citation key to use in the .bib file (e.g., "Vaswani2017")
Behavior:
- Fetches BibTeX entry directly from DBLP using the provided key
- Replaces the citation key with your custom key
- Adds to session collection (duplicate keys are overwritten)
- Returns immediate success/failure feedback with collection count
- Allows retry of individual failed entries
export_bibtex
Export all collected BibTeX entries to a .bib file.
Parameters:
path(string, required): Absolute path for the .bib file (e.g., "/path/to/refs.bib")
Behavior:
- Saves all entries added via
add_bibtex_entryto the specified path - The .bib extension is added automatically if missing
- Parent directories are created if needed
- Clears the collection after successful export
- Returns the full path to the saved file
- Returns error if collection is empty
Important Note: The BibTeX entries are fetched directly from DBLP with a 10-second timeout protection and are not processed, modified, or hallucinated by the LLM. This ensures maximum accuracy and trustworthiness of the bibliographic data. Only the citation keys are modified as specified. If a request times out, an error message is returned and the entry is not added to the collection.
Example
Input text:
Our exploration focuses on two types of explanation problems, abductive and contrastive, in local and global contexts (Marques-Silva 2023). Abductive explanations (Ignatiev, Narodytska, and Marques-Silva 2019), corresponding to prime-implicant explanations (Shih, Choi, and Darwiche 2018) and sufficient reason explanations (Darwiche and Ji 2022), clarify specific decision-making instances, while contrastive explanations (Miller 2019; Ignatiev et al. 2020), corresponding to necessary reason explanations (Darwiche and Ji 2022), make explicit the reasons behind the non-selection of alternatives. Conversely, global explanations (Ribeiro, Singh, and Guestrin 2016; Ignatiev, Narodytska, and Marques-Silva 2019) aim to unravel models' decision patterns across various inputs.
Output text:
Our exploration focuses on two types of explanation problems, abductive and contrastive, in local and global contexts \cite{MarquesSilvaI23}. Abductive explanations \cite{IgnatievNM19}, corresponding to prime-implicant explanations \cite{ShihCD18} and sufficient reason explanations \cite{DarwicheJ22}, clarify specific decision-making instances, while contrastive explanations \cite{Miller19}; \cite{IgnatievNA020}, corresponding to necessary reason explanations \cite{DarwicheJ22}, make explicit the reasons behind the non-selection of alternatives. Conversely, global explanations \cite{Ribeiro0G16}; \cite{IgnatievNM19} aim to unravel models' decision patterns across various inputs.
Output Bibtex
All references have been successfully exported to a BibTeX file at: /absolute/path/to/bibtex/20250305_231431.bib
@article{MarquesSilvaI23,
author = {Jo{\~{a}}o Marques{-}Silva and
Alexey Ignatiev},
title = {No silver bullet: interpretable {ML} models must be explained},
journal = {Frontiers Artif. Intell.},
volume = {6},
year = {2023},
url = {https://doi.org/10.3389/frai.2023.1128212},
doi = {10.3389/FRAI.2023.1128212},
timestamp = {Tue, 07 May 2024 20:23:47 +0200},
biburl = {https://dblp.org/rec/journals/frai/MarquesSilvaI23.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{IgnatievNM19,
author = {Alexey Ignatiev and
Nina Narodytska and
Jo{\~{a}}o Marques{-}Silva},
title = {Abduction-Based Explanations for Machine Learning Models},
booktitle = {The Thirty-Third {AAAI} Conference on Artificial Intelligence, {AAAI}
2019, The Thirty-First Innovative Applications of Artificial Intelligence
Conference, {IAAI} 2019, The Ninth {AAAI} Symposium on Educational
Advances in Artificial Intelligence, {EAAI} 2019, Honolulu, Hawaii,
USA, January 27 - February 1, 2019},
pages = {1511--1519},
publisher = {{AAAI} Press},
year = {2019},
url = {https://doi.org/10.1609/aaai.v33i01.33011511},
doi = {10.1609/AAAI.V33I01.33011511},
timestamp = {Mon, 04 Sep 2023 12:29:24 +0200},
biburl = {https://dblp.org/rec/conf/aaai/IgnatievNM19.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{ShihCD18,
author = {Andy Shih and
Arthur Choi and
Adnan Darwiche},
editor = {J{\'{e}}r{\^{o}}me Lang},
title = {A Symbolic Approach to Explaining Bayesian Network Classifiers},
booktitle = {Proceedings of the Twenty-Seventh International Joint Conference on
Artificial Intelligence, {IJCAI} 2018, July 13-19, 2018, Stockholm,
Sweden},
pages = {5103--5111},
publisher = {ijcai.org},
year = {2018},
url = {https://doi.org/10.24963/ijcai.2018/708},
doi = {10.24963/IJCAI.2018/708},
timestamp = {Tue, 20 Aug 2019 16:19:08 +0200},
biburl = {https://dblp.org/rec/conf/ijcai/ShihCD18.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{DarwicheJ22,
author = {Adnan Darwiche and
Chunxi Ji},
title = {On the Computation of Necessary and Sufficient Explanations},
booktitle = {Thirty-Sixth {AAAI} Conference on Artificial Intelligence, {AAAI}
2022, Thirty-Fourth Conference on Innovative Applications of Artificial
Intelligence, {IAAI} 2022, The Twelveth Symposium on Educational Advances
in Artificial Intelligence, {EAAI} 2022 Virtual Event, February 22
- March 1, 2022},
pages = {5582--5591},
publisher = {{AAAI} Press},
year = {2022},
url = {https://doi.org/10.1609/aaai.v36i5.20498},
doi = {10.1609/AAAI.V36I5.20498},
timestamp = {Mon, 04 Sep 2023 16:50:24 +0200},
biburl = {https://dblp.org/rec/conf/aaai/DarwicheJ22.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@article{Miller19,
author = {Tim Miller},
title = {Explanation in artificial intelligence: Insights from the social sciences},
journal = {Artif. Intell.},
volume = {267},
pages = {1--38},
year = {2019},
url = {https://doi.org/10.1016/j.artint.2018.07.007},
doi = {10.1016/J.ARTINT.2018.07.007},
timestamp = {Thu, 25 May 2023 12:52:41 +0200},
biburl = {https://dblp.org/rec/journals/ai/Miller19.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{IgnatievNA020,
author = {Alexey Ignatiev and
Nina Narodytska and
Nicholas Asher and
Jo{\~{a}}o Marques{-}Silva},
editor = {Matteo Baldoni and
Stefania Bandini},
title = {From Contrastive to Abductive Explanations and Back Again},
booktitle = {AIxIA 2020 - Advances in Artificial Intelligence - XIXth International
Conference of the Italian Association for Artificial Intelligence,
Virtual Event, November 25-27, 2020, Revised Selected Papers},
series = {Lecture Notes in Computer Science},
volume = {12414},
pages = {335--355},
publisher = {Springer},
year = {2020},
url = {https://doi.org/10.1007/978-3-030-77091-4\_21},
doi = {10.1007/978-3-030-77091-4\_21},
timestamp = {Tue, 15 Jun 2021 17:23:54 +0200},
biburl = {https://dblp.org/rec/conf/aiia/IgnatievNA020.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{Ribeiro0G16,
author = {Marco T{\'{u}}lio Ribeiro and
Sameer Singh and
Carlos Guestrin},
editor = {Balaji Krishnapuram and
Mohak Shah and
Alexander J. Smola and
Charu C. Aggarwal and
Dou Shen and
Rajeev Rastogi},
title = {"Why Should {I} Trust You?": Explaining the Predictions of Any Classifier},
booktitle = {Proceedings of the 22nd {ACM} {SIGKDD} International Conference on
Knowledge Discovery and Data Mining, San Francisco, CA, USA, August
13-17, 2016},
pages = {1135--1144},
publisher = {{ACM}},
year = {2016},
url = {https://doi.org/10.1145/2939672.2939778},
doi = {10.1145/2939672.2939778},
timestamp = {Fri, 25 Dec 2020 01:14:16 +0100},
biburl = {https://dblp.org/rec/conf/kdd/Ribeiro0G16.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.