使用说明
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.py
Claude 桌面配置
添加到 ~/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许可证 - 用于任何目的自由使用。
👤 作者
开发用于通过模型上下文协议访问瑞典国家图书馆数据。