
Shanghai Library Open Data Mcp
io.github.FreyaBit由 GitHub 账号 FreyaBit 发布v1.3.2更新于 Nov 3, 2026
上海图书馆开放数据检索 MCP:纪年/家谱/建筑/红色事件/99 个 webapi + 搜韵诗词,支持 stdio 与 HTTP。
概览
把上海图书馆开放数据平台的 99 个 webapi 与 199 万首搜韵诗词封装成 12 个 MCP 工具,供 AI 助手检索与查证。
- 可以做什么
- 发现并调用上海图书馆开放数据接口,含通用分发器与任意路径 GET 兜底
- 查询中国历史纪年表、家谱谱目、武康路历史建筑、红色旅游与历史事件
- 查看数据集总览与 SPARQL 说明
- 按作者、标题、诗句、朝代、体裁、韵部检索 199 万首诗词
- 查询韵典韵部与对仗词汇,辅助诗词创作
- 适用场景
- 适合需要上海图书馆中文文化数据(家谱、历史建筑、纪年换算、地方历史)或古典诗词与韵典参考的场景,免去手写接口调用。
- 运行要求
- 以 stdio 本地运行,仅用 Python 标准库、无第三方依赖,也可通过 PyPI 的 uvx 启动;另有可选的 Streamable HTTP 模式。多数工具需在上海图书馆开放数据平台免费注册获取 APIKey,通过环境变量 SLC_API_KEY 或工具参数 key 传入。需能访问该平台网络。
安装
在 SourceWeft 中
- 打开 控制台中的 Shanghai Library Open Data Mcp,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
上海图书馆开放数据 MCP
把上海图书馆开放数据平台的 99 个 webapi 接口 + 搜韵诗词库(199 万首,免 token)封装成 12 个 MCP 工具,可接入 WorkBuddy、Cursor、Claude Desktop 等任意 MCP 客户端。
这是啥? 一个把「上海图书馆开放数据」接进 AI 助手的桥。装好之后,你直接在 AI 工具里说"查武康路的历史建筑""找首写月亮的诗",AI 就会自动去上海图书馆的数据里查,再把结果讲给你听——不用懂接口、不用写代码。
你要准备什么? 两样:① 去上海图书馆开放数据平台免费注册,拿一把"钥匙"(APIKey);② 按下面的「快速开始」把项目接进你常用的 AI 编辑器(Cursor、Claude Desktop、VS Code、WorkBuddy 等都能用)。
为什么安全? 项目代码里不含任何钥匙,钥匙只在你自己的电脑 / 配置里,不会被别人看到。
数据源与致谢
- 上海图书馆开放数据平台(官方):https://opendata.library.sh.cn/opendata/ 衷心感谢上海图书馆官方开放数据平台提供权威、丰富且持续维护的历史文献与文脉数据接口。本项目的全部核心数据能力(99 个 webapi)均建立在上海图书馆开放数据之上,若无官方的开放与授权,本项目无从实现。
- 搜韵诗词:https://api.sou-yun.cn/open (199 万首诗词,免 token)
- 本仓库接口版权归各数据方所有,使用请遵守各平台开放数据的使用条款;调用方须使用自己在平台注册的 APIKey,本仓库不内置、不收集任何密钥。
- 本项目已发布至 PyPI、MCP 官方 Registry(
io.github.FreyaBit/shanghai-library-open-data-mcp)、Smithery、ModelScope 与 GitHub,便于各 MCP 客户端一键接入。
特性
- 🧩 12 个 MCP 工具:覆盖家谱 / 古籍 / 碑帖 / 武康路 / 书目 / 地名志 / 红色事件 / 纪年表 / 电影 / 舆图 / 手迹 / 人名库 / 戏单等 99 个官方接口 + 搜韵诗词
- 🔑 密钥由使用者提供:通过环境变量
SLC_API_KEY或工具参数key传入,代码不内置任何密钥 - 🐍 零第三方依赖:仅用 Python 标准库(urllib + json),无需
pip install - 🎵 AIGC 歌词素材:
souyun_poem免 token 检索 199 万首诗词(按作者/标题/诗句/朝代/体裁/韵部),souyun_rhyme/souyun_couplet提供韵典和对仗词汇 - 📚 RAG 骨架:
rag_kb.py纯标准库 TF-IDF 知识库,可离线灌入官方 ZIP 数据
工具总览
接口家族:近代城市文化(20)、古籍循证(15)、国漫革命文献(7)、武康路历史(7)、纪年表关联数据(5)、韬奋纪念馆(4)、书目数据(4)、家谱(4)、地名纪年(4)、竞赛PDF文献(3)、知识图谱人物(2)、文化总库机构(2)、舆图(2)、手迹(2)、红色旅游事件(2)、地名志(2)、纪年(2)、人名规范库(1)、机构名录(1)、戏单(2)、其他(8)。
快速开始
本地 stdio 接入
在你的 MCP 客户端里配置 stdio 服务:
通过 PyPI / uvx 安装(推荐,跨客户端通用)
发布到 PyPI 后,任意支持 MCP 的客户端都能用一条命令拉起,无需克隆仓库:
客户端配置只需:command: uvx, args: ["shanghai-library-open-data-mcp"]。
Streamable HTTP 传输(进阶,可选)
除 stdio 外,本服务原生支持 Streamable HTTP(slc_mcp_http.py,纯标准库实现):
POST /mcp处理 JSON-RPC(initialize 时签发Mcp-Session-Id,通知类返回 202)GET /mcp提供 SSE 流- 已开启 CORS,便于网页端 / 远程网络调用
适合网页版 AI、手机端,或多人共用同一服务;需自行把服务跑在可访问的地址上。个人在编辑器本地使用,stdio 已足够,无需此模式。
客户端配置示例
三种客户端本质都是同一段 mcpServers JSON,区别只在配置文件路径。下面的示例用 uvx 拉起(免克隆仓库);想用本地脚本,把 command/args 换成 ["python3","/绝对路径/slc_mcp_server.py"] 即可。
WorkBuddy(本机已配置过一份)
配置文件:~/.workbuddy/mcp.json。本机已存在一份指向本地脚本 + Key 的配置,只需在连接器管理界面对「上海图书馆开放数据」点击 信任 即可在本会话启用;也可替换成下面的 uvx 写法。
Cursor
配置文件:项目根目录 .cursor/mcp.json 或全局 ~/.cursor/mcp.json(同一段 JSON)。
Claude Desktop / Claude Code
- Claude Desktop:把上面的
mcpServers合并进%APPDATA%\Claude\claude_desktop_config.json(Windows)或~/Library/Application Support/Claude/claude_desktop_config.json(macOS)。 - Claude Code 命令行:
claude mcp add 上海图书馆开放数据 -- uvx shanghai-library-open-data-mcp
说明:12 个工具里
souyun_poem/souyun_rhyme/souyun_couplet/slc_endpoints免 Key 开箱即用,其余 8 个需要SLC_API_KEY。已发布到 PyPI、MCP 官方 Registry(io.github.FreyaBit/shanghai-library-open-data-mcp)、Smithery、ModelScope、GitHub,均可一键拉起。
APIKey 说明
- 上海图书馆开放数据平台要求每个调用者使用自己的 APIKey(在平台注册后获取)。
- 本仓库不包含任何 Key,也不记录、不收集你的 Key。
- Key 读取优先级:工具参数
key> 环境变量SLC_API_KEY。 - 调用需要 Key 的工具时,把 Key 放在工具参数里:
- 免 Key 工具(
souyun_poem/souyun_rhyme/souyun_couplet/slc_endpoints)开箱即用。 - ⚠️ 请勿把你的 Key 配置到公开服务的环境变量里(等于公开给所有调用者)。
目录结构
来源:README.md,提交 707f4fb
工具
0版本历史
1- v1.3.2最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分