KB MCP服务器
用于访问的 MCP 服务器 皇家图书馆开放式 API 瑞典国家图书馆数据,文化遗产,研究和链接数据。
📊 概述
| 数据源 | 描述 | 记录数量 |
|---|---|---|
| 书籍 | 书目记录 | 20M+ |
| K 调查 | 文化目标 | 1000多万 |
| 斯威普 | 研究出版物 | 2M+ |
| id.kb.se | 权威与词汇 | 500K+ |
| Bibstat 图书馆统计(2014+) |
版本2.3.0
| 功能 | 安踏 |
|---|---|
| 工具(Tools) | 67 |
| Resurser(资源) | 11 |
| Promptmallar(提示) | 11 |
🚀 安装
本地安装(Claude桌面,Claude代码)
# Klona eller ladda ner
cd kb-mcp-server
# Skapa virtuell miljö (rekommenderat)
python -m venv venv
source venv/bin/activate # Linux/Mac
# eller: venv\Scripts\activate # Windows
# Installera dependencies
pip install -r requirements.txt
# Testa
python test_kb_mcp.pyClaude 桌面配置
添加到 ~/Library/Application Support/Claude/claude_desktop_config.json (Mac)或同等级:
{
"mcpServers": {
"kb-api": {
"command": "python",
"args": ["kb_mcp_server.py"],
"cwd": "/full/path/to/kb-mcp-server"
}
}
}从克劳德桌面开始。
🔧 每个终端工具
1. Libris Xsearch(5个工具)
简单的图书馆搜索,20M+条目。
| 工具 | 描述 |
|---|---|
libris_search 自由文本搜索 | |
libris_search_author 寻找作者。 | |
libris_search_title 寻找标题。 | |
libris_search_subject 搜索主题 | |
libris_search_isbn 查找ISBN。 |
2.Libris XL REST(6 verktyg)
高级访问书目数据。
| 工具 | 描述 |
|---|---|
libris_get_record 获取特定条目。 | |
libris_find | 使用运营商进行高级搜索 |
libris_get_holdings 图书馆档案 | |
libris_get_work 一部作品的所有版本 | |
libris_autocomplete | 搜索建议 |
libris_related 相关作品 |
3. K 调查 (7 工具)
来自83个机构的文化遗产。
| 工具 | 描述 |
|---|---|
ksamsok_search CQL搜索 | |
ksamsok_search_location 地理搜索 | |
ksamsok_search_type 搜索对象类型。 | |
ksamsok_search_time 寻找时间段。 | |
ksamsok_get_object 获取特定对象。 | |
ksamsok_get_relations 对象关系 | |
ksamsok_statistics 统计和方面。 |
4. OAI-PMH (5 工具)
元数据的批量导出。
| 工具 | 描述 |
|---|---|
oaipmh_list_records 海报列表。 | |
oaipmh_get_record 获取个人邮件。 | |
oaipmh_list_sets 可用的套件。 | |
oaipmh_list_formats | 元数据格式 |
oaipmh_resume | 页面化 |
5. data.kb.se (5 工具)
数字化材料。
| 工具 | 描述 |
|---|---|
kb_data_list_collections 收藏列表 | |
kb_data_get_item 获取对象 | |
kb_data_search 搜索数字化。 | |
kb_data_get_manifest | IIIF舱单 |
kb_data_get_metadata 不同格式的元数据。 |
6. 扫描 (6 工具)
瑞典研究出版物。
| 工具 | 描述 |
|---|---|
swepub_search 搜索出版物。 | |
swepub_search_author 寻找科学家。 | |
swepub_search_affiliation 寻找学校。 | |
swepub_search_subject 搜索主题 | |
swepub_get_publication 下载出版物。 | |
swepub_export 导出到 RIS/BibTeX |
7. id.kb.se (4 工具)
权威和词汇。
| 工具 | 描述 |
|---|---|
idkb_get_entity 获取实体。 | |
idkb_search 寻找权威。 | |
idkb_get_vocab_term | 下载词汇表 |
idkb_list_vocab 词汇清单。 |
8. SPARQL (4 个工具)
连接的数据问题。
| 工具 | 描述 |
|---|---|
sparql_query 运行 SPARQL SELECT。 | |
sparql_describe 描述资源。 | |
sparql_count 计算结果。 | |
sparql_templates | 问答 |
9. 出口 (5 工具)
书目和参考管理。
| 工具 | 描述 |
|---|---|
export_author_bibliography 作者Bibliography。 | |
export_subject_bibliography 主题书目 | |
export_search_results 导出搜索结果。 | |
export_publication_list 创建出版物列表 | |
export_formats_info | 信息格式 |
10. 帮助 (5 工具)
文档和元数据。
| 工具 | 描述 |
|---|---|
kb_api_info 查看所有API | |
kb_api_status 检查状态。 | |
kb_search_tips 搜索和语法 | |
kb_data_dictionary 数据定义 | |
kb_example_queries 举例提问。 |
11. 新增强的工具 (5 工具)
用于高级用例的强大工具。
| Verktyg | Beskrivning |
|---|---|
combined_search 同时搜索多个数据库 | |
quick_stats 所有API的快速统计 | |
find_related_works 查找相关作品 | |
historical_periods_search 寻找历史时期。 | |
swedish_counties_info 名单是瑞典语。 |
📚 MCP资源
只读文档和参考资源:
资源 URI 描述 | ------------------------ | ------------------------- | | kb://api/overview |所有API的概述 | | kb://search/syntax 完整的搜索语法指南 | kb://examples/libris 书的例子。 | kb://examples/ksamsok K搜索示例 | kb://examples/sparql SPARQL示例 | kb://examples/research |Swepub exempel| | kb://data/objecttypes K搜索对象类型
💬 MCP提示
常见任务的预定义提示符模板:
| Prompt | Beskrivning | Parametrar |
|---|---|---|
prompt_find_books_by_author 查找作者的书籍 author_name | ||
prompt_research_topic 探索一个主题。 topic | ||
prompt_genealogy_search 家谱研究 | parish, county | |
prompt_cultural_heritage_location | 每个民族的文化 | county |
prompt_export_bibliography 创建参考书目。 topic, format | ||
prompt_sparql_analysis SPARQL分析 analysis_type | ||
prompt_time_period_search 时间段搜索。 from_year, to_year | ||
prompt_compare_institutions 比较学校。 institution1, institution2 |
📖 使用范例
查找作者的书籍
libris_search_author(author_name="Lagerlöf, Selma")搜索文化遗产
ksamsok_search(query='itemType=Photograph AND countyName="Uppsala län"')将书目导出到 Zotero
export_author_bibliography(author_name="Strindberg, August", format="ris")SPARQL 分析
sparql_query(query="SELECT ?author (COUNT(?work) AS ?count) WHERE { ?work dc:creator ?author } GROUP BY ?author ORDER BY DESC(?count) LIMIT 10")🌐 Lokal HTTP传输(valfritt)
标准传输是stdio。若要运行本地 HTTP 服务器:
python kb_mcp_server.py --http --port 8000端点
| Endpoint | 描述 |
|---|---|
/health | 健康检查 |
/info | 服务器信息 |
/sse | SSE运输(MCP) |
/messages/ 邮件(Post) |
🔒 安全
- 无需验证 KB 的 API 是开放的
- 没有API密钥 没有秘密要处理
- 速率限制 - 尊重 KB 服务器
📁 项目结构
kb-mcp-server/
├── kb_mcp_server.py # Huvudserver med alla 52 verktyg
├── src/
│ ├── __init__.py
│ └── api_client.py # HTTP-klient och hjälpfunktioner
├── requirements.txt # Python-dependencies
├── test_kb_mcp.py # Testsvit
├── claude_desktop_config.example.json
├── TOOL_DESIGN.md # Verktygsdesign
└── README.md # Denna fil🧪 泰斯塔
python test_kb_mcp.py预期结果:
KB MCP Server - Testsvit
============================================================
🔍 Test: Libris Xsearch...
✅ OK - 7432 träffar för 'Astrid Lindgren'
🔍 Test: Libris XL...
✅ OK - 3 poster för 'Strindberg'
🔍 Test: K-samsök...
✅ OK - 12023 runstenar hittade
🔍 Test: OAI-PMH...
✅ OK - 5 sets tillgängliga
🔍 Test: id.kb.se...
✅ OK - 5 auktoriteter för 'Strindberg'
🔍 Test: Swepub...
✅ OK - 15234 forskningspublikationer
============================================================
Resultat: 6/6 tester godkända📚 文档
📄 许可证
MIT许可证 - 用于任何目的自由使用。
👤 作者
开发用于通过模型上下文协议访问瑞典国家图书馆数据。
