mcpField
M
MCP-DBLP

MCP-DBLP

本地服务
github.com/szeider搜索与检索472 周前更新

关于 MCP-DBLP

MCP-DBLP 是为大模型提供 DBLP 计算机科学文献数据库访问的 MCP 服务。它让模型检索论文并生成 BibTeX 文件,条目内容由服务端直接从 DBLP 数据渲染,模型不改写书目字段。适合需要整理参考文献的研究人员。

主要功能

  1. 01支持 and、or 的布尔检索,可按年份和会议期刊过滤
  2. 02标题与作者名的模糊匹配
  3. 03显示查询词命中作者、标题或发表场所的位置
  4. 04从 DBLP 数据渲染 BibTeX 条目
  5. 05本地索引,每月更新,可导出 .bib 文件

适用场景

  1. 01为论文撰写收集并导出 BibTeX 参考文献
  2. 02按作者或年份查询某位学者的论文列表
  3. 03查询会议或期刊的基本信息

MCP 相关

该项目是 MCP 服务,向 MCP 客户端提供 DBLP 检索、作者论文列表、会议期刊查询及 BibTeX 导出等工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP-DBLP

MCP Compatible License: MIT Python Version

一个 Model Context Protocol(MCP)服务,为大模型提供访问 DBLP 计算机科学文献目录的能力(相关论文发表于 AI4SC @ AAAI-26)。

MCP-DBLP MCP server

概览

MCP-DBLP 让大模型通过 Model Context Protocol 搜索 DBLP,并根据搜索结果构建 BibTeX 文件。模型负责选择论文和引用键;服务根据 DBLP 的数据写入条目,因此模型不会重写文献信息字段。

从 2.0 版开始,MCP-DBLP 使用 DBLP 的本地副本,而不是 dblp.org Web API;该 API 现已阻止自动化客户端。首次启动时,服务会下载本地索引,即 DBLP 月度数据转储的预构建 SQLite 索引(约 1.3 GB,参见本地 DBLP 索引)。此后,所有搜索都在本地运行,不受速率限制。

功能

  • 使用 and 和 or 进行布尔搜索(不支持括号),可按年份和会议筛选
  • 对标题和作者姓名进行模糊匹配
  • 作者感知排序:每条搜索结果都会指出与作者、标题或会议名称匹配的查询词,并标记仅前缀匹配
  • 使用 DBLP 自有格式的 BibTeX,根据 DBLP 数据生成;除 timestamp 字段中的时刻外,它与 dblp.org 上的 .bib 导出一致;标题还会将内部含有大写字母的单词用花括号括起({CaDiCaL}、{DRUP}-based),以避免文献样式将其转换为小写
  • 将收集的条目导出到 .bib 文件,由服务写入
  • 每月更新一次本地索引,通过 mcp-dblp-index update 安装

可用工具

工具说明
search使用布尔查询搜索 DBLP
fuzzy_title_search按近似标题查找出版物
get_author_publications列出作者的出版物,可按年份筛选
get_venue_info查询会议名称、缩写、类型和 DBLP 页面
add_bibtex_entry将 DBLP 键对应的条目添加到集合中
export_bibtex将收集的条目写入 .bib 文件
set_dblp_mirror选择用于 Web 回退的 dblp.org 主机(极少需要)

反馈

请通过此表单向作者提供反馈。

系统要求

  • Python 3.11+
  • uv
  • 首次启动时需要约 5.5 GB 可用磁盘空间(1.3 GB 下载文件加 4.2 GB 索引),之后需要 4.2 GB

安装

Claude Code

运行:

claude mcp add mcp-dblp -- uvx mcp-dblp
Claude Desktop

将以下内容添加到 Claude Desktop 配置文件:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "mcp-dblp": {
      "command": "uvx",
      "args": ["mcp-dblp"]
    }
  }
}
从源代码安装(开发)
git clone https://github.com/szeider/mcp-dblp.git
cd mcp-dblp
uv venv && source .venv/bin/activate
uv pip install -e .

然后使用以下内容配置 Claude Desktop:

{
  "mcpServers": {
    "mcp-dblp": {
      "command": "uv",
      "args": ["--directory", "/path/to/mcp-dblp/", "run", "mcp-dblp"]
    }
  }
}

本地 DBLP 索引

DBLP 以 CC0 许可证每月发布一次 XML 数据转储。配套仓库 mcp-dblp-index 会根据每次数据转储构建本地索引,并将其作为 GitHub 版本发布。

首次启动。 如果尚未安装本地索引,服务会在后台下载当前版本(约 1.3 GB,解压后为 4.2 GB)。在 100 Mbit/s 的网速下约需 2 分钟,在 20 Mbit/s 的网速下约需 9 分钟。在此期间,每次工具调用最多等待索引 40 秒,然后返回下载进度,因此首次搜索会比平时耗时更长。如果下载中断,后续会从停止处继续。

更新。 每月都会发布新的本地索引。只有在你更新索引时,已安装的索引才会改变:

uvx --from mcp-dblp mcp-dblp-index update

在新索引安装完成前,旧索引会继续提供服务。在发布日期之后添加到 DBLP 的论文,要等到下次发布才会收录进索引。

命令行。 mcp-dblp-index 用于管理索引:

命令功能
status显示已安装的索引(发布日期、出版物数量)
fetch下载并安装当前本地索引
update如果最新版本比已安装版本更新,则安装该版本
download下载原始 DBLP XML 数据转储(用于自行构建索引)
build根据已下载的数据转储构建索引(约需 10 分钟)

环境变量。 在服务的环境中设置这些变量;在 Claude Desktop 中,使用服务条目的 env 字段:

变量含义
MCP_DBLP_HOME索引和下载文件的目录(默认 ~/.mcp-dblp),例如可设为空间更大的磁盘上的目录
MCP_DBLP_INDEX指定索引文件的路径;设为 http 时会切换到 dblp.org Web API(该 API 被 dblp.org 屏蔽)
MCP_DBLP_FIRST_START_WAIT工具调用等待首次启动下载的秒数(默认 40)
{
  "mcpServers": {
    "mcp-dblp": {
      "command": "uvx",
      "args": ["mcp-dblp"],
      "env": { "MCP_DBLP_HOME": "/Volumes/Data/mcp-dblp" }
    }
  }
}

使用说明

每个会话的首次回答都会向模型提供使用说明。请参阅 instructions_prompt.md。

工具详情

search

在 DBLP 中搜索出版物。所有查询词都必须出现在标题、作者姓名或出版场所中(不区分大小写和重音符号)。每条结果都会显示其 DBLP 键,以及一行 Matched:,说明每个查询词出现的位置,例如 szeider = author 2 of 3。

参数:

  • query(string,必填):搜索词。or 用于分隔备选项(不使用括号);"quoted phrases" 用于匹配相邻词;字段前缀 author:、title:、venue: 和 year: 会应用于其后的单词或短语;4 位数年份会将结果限制为该年份。例如:author:Vaswani title:attention 2017
  • max_results(integer,可选):要返回的出版物数量上限。默认值为 10
  • year_from(integer,可选):出版年份下限
  • year_to(integer,可选):出版年份上限
  • venue_filter(string,可选):用于筛选出版场所的不区分大小写的子字符串(例如,'iclr')
  • include_bibtex(boolean,可选):是否在结果中包含 BibTeX 条目。默认值为 false
fuzzy_title_search

按标题查找出版物,即使标题存在拼写错误,或只知道标题开头也可以。结果按标题相似度排序,并标注为“标题相同”“标题包含查询内容”或“标题相似”。

参数:

  • title(字符串,必填):出版物的完整或部分标题(不区分大小写)
  • similarity_threshold(数字,必填):介于 0 和 1 之间的浮点数,1.0 表示完全匹配
  • max_results(整数,可选):要返回的出版物数量上限。默认为 10
  • year_from(整数,可选):出版年份下限
  • year_to(整数,可选):出版年份上限
  • venue_filter(字符串,可选):对出版场所进行不区分大小写的子字符串筛选
  • include_bibtex(布尔值,可选):是否在结果中包含 BibTeX 条目。默认为 false
get_author_publications

列出作者的出版物,按时间从新到旧排序。作者姓名采用模糊匹配。DBLP 使用数字区分同名作者(“Wei Wang 0010”);回答会列出匹配的 DBLP 人员,以及其他同名人员。

参数:

  • author_name(字符串,必填):作者全名,可选择附带 DBLP 的编号(不区分大小写和重音符号)
  • similarity_threshold(数字,必填):介于 0 和 1 之间的浮点数,1.0 表示完全匹配
  • max_results(整数,可选):要返回的出版物数量上限。默认为 20
  • include_bibtex(布尔值,可选):是否在结果中包含 BibTeX 条目。默认为 false
  • year_from(整数,可选):仅包含该年份及之后的出版物
  • year_to(整数,可选):仅包含截至该年份的出版物
get_venue_info

查询出版场所的信息:名称、缩写、类型(会议或期刊)、DBLP 页面、出版物数量和年份范围。

参数:

  • venue_name(字符串,必填):会议缩写('IJCAI')、DBLP 的期刊缩写('J. ACM')或期刊全名('Journal of the ACM')
add_bibtex_entry

将 BibTeX 条目添加到集合中,以便稍后导出。

参数:

  • dblp_key(字符串,必填):搜索结果中的 DBLP 键(例如,“conf/nips/VaswaniSPUJGKP17”);DBLP:KEY 和 DBLP 条目的 biburl(https://dblp.org/rec/KEY.bib)也适用
  • citation_key(字符串,必填):要在 .bib 文件中使用的引用键(例如,“Vaswani2017”)

行为:

  • 按 DBLP 格式,从本地索引中渲染该键对应的 BibTeX 条目
  • 将引用键替换为自定义键
  • 将条目添加到会话集合中(同一引用键的条目会被替换)
  • 返回成功结果或错误,并附上集合大小

服务会渲染 DBLP 数据中的每个条目;模型只选择引用键,不会编辑条目。本地索引中不存在的键会在 dblp.org 上查询,而该网站目前会阻止自动化客户端,因此此类调用会返回错误,且不会更改集合。

export_bibtex

将所有收集的 BibTeX 条目导出到 .bib 文件。

参数:

  • path(字符串,必填):.bib 文件的绝对路径(例如,“/path/to/refs.bib”);开头的 ~ 会展开。相对路径会被拒绝。

行为:

  • 将通过 add_bibtex_entry 添加的所有条目保存到指定路径
  • 如果缺少 .bib 扩展名,会自动添加
  • 如有需要,会创建父目录
  • 成功导出后清空集合
  • 返回保存文件的完整路径
  • 如果集合为空,则返回错误
set_dblp_mirror

选择 Web 回退使用的 dblp.org 主机:本地索引中不存在的键,或设置 MCP_DBLP_INDEX=http 时的所有请求。使用本地索引进行的搜索不会联系 dblp.org;而 dblp.org 目前会阻止自动化客户端,因此此工具很少有用。

参数:

  • host(字符串,必填):dblp.org、dblp.uni-trier.de 或 dblp.dagstuhl.de;不接受其他主机

示例

输入文本

我们的探索聚焦于两类解释问题:局部和全局情境中的溯因解释与对比解释 \cite{MarquesSilvaI23}。溯因解释 \cite{IgnatievNM19},对应于主蕴含项解释 \cite{ShihCD18} 和充分理由解释 \cite{DarwicheJ22},用于阐明具体的决策实例;而对比解释 \cite{Miller19,IgnatievNA020},对应于必要理由解释 \cite{DarwicheJ22},则明确说明未选择其他选项的原因。相反,全局解释 \cite{Ribeiro0G16,IgnatievNM19} 旨在揭示模型在各种输入上的决策模式。

输出文本

我们的探索聚焦于两类解释问题:局部和全局情境中的溯因解释与对比解释 \cite{MarquesSilvaI23}。溯因解释 \cite{IgnatievNM19},对应于主蕴含项解释 \cite{ShihCD18} 和充分理由解释 \cite{DarwicheJ22},用于阐明具体的决策实例;而对比解释 \cite{Miller19,IgnatievNA020},对应于必要理由解释 \cite{DarwicheJ22},则明确说明未选择其他选项的原因。相反,全局解释 \cite{Ribeiro0G16,IgnatievNM19} 旨在揭示模型在各种输入上的决策模式。

输出 BibTeX

export_bibtex 会回答 Exported 7 references to /path/to/refs.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 00:00:00 +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 00:00:00 +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 00:00:00 +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    = {Wed, 18 Mar 2026 00:00:00 +0100},
  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    = {Sun, 07 Dec 2025 00:00:00 +0100},
  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 00:00:00 +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    = {Sun, 01 Feb 2026 00:00:00 +0100},
  biburl       = {https://dblp.org/rec/conf/kdd/Ribeiro0G16.bib},
  bibsource    = {dblp computer science bibliography, https://dblp.org}
}

免责声明

MCP-DBLP 是一个研究原型。使用风险自负。

许可证

本项目采用 MIT License 授权。详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。