关于 mcp-libraryofcongress
mcp-libraryofcongress 将美国国会图书馆目录与数字馆藏接入聊天客户端,可检索扫描报纸中的文字并读取馆藏记录。无需 API 密钥或账户。
主要功能
- 01检索扫描报纸文字
- 02按字段搜索馆藏目录
- 03读取记录、权利与馆藏地点
- 04浏览数字馆藏
适用场景
- 01查找某地或某年份报纸报道
- 02按主题发现照片、地图或书籍
- 03核对馆藏记录的权利和原件所在地
- 04查找特定主题的数字馆藏
MCP 相关
作为 MCP 服务,它向客户端提供报纸搜索、目录搜索、记录读取和馆藏列表工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
4收录的工具列表 · 更新于 今天
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| page | integer | 否 | 匹配结果的页码,从 1 开始。 |
| limit | integer | 否 | 要返回的匹配项数。 |
| query | string | 是 | 要搜索的词语或带引号的短语,例如 '"cure for influenza"'。索引读取页面文本并保留单个字符,因此也能处理仅含一个字符的查询。 |
| year_to | integer | 否 | 最晚年份,包含该年份。 |
| location | string | 否 | 报纸的出版州,按图书馆使用的写法填写:'new york'、'district of columbia'。这是此工具返回的匹配结果中 'state' 所携带的值。 |
| year_from | integer | 否 | 最早年份,包含该年份。 |
| publication | string | 否 | 一份报纸,名称需包含其城镇和发行年份:'new-york tribune (new york [n.y.]) 1866-1924'。请从此处匹配结果中的 'publication',或从 search_items 中 media_type 为 'newspapers' 的标题获取写法。 |
| max_excerpt_chars | integer | 否 | 单个段落的字符数预算。请结合 'max_excerpts_per_match' 阅读:答案大小等于这两项的乘积再乘以匹配数。 |
| max_excerpts_per_match | integer | 否 | 每条匹配结果保留的段落数。一页中多次出现匹配词语时会返回多个段落,后续段落很少包含首段没有的信息。 |
详细介绍
mcp-libraryofcongress
美国国会图书馆是美国的国家图书馆,并将其大量馆藏发布到网上:书籍、照片、地图、录音、手稿,以及可追溯至 18 世纪的美国报纸页面。报纸页面经过扫描和光学字符识别处理,因此可以搜索上面的印刷文字。馆藏策展人还会将资料汇集成数字馆藏,并对每个馆藏单独进行描述和发布。
此服务可将聊天客户端连接到该图书馆。你可以搜索报纸上的印刷文字,按标题、创作者、主题、地点或语言搜索目录,查看单条记录及其权利声明和原件收藏地点,并列出数字馆藏。无需 API 密钥或账户。
安装
一键安装
Claude Code
claude mcp add libraryofcongress -- npx -y mcp-libraryofcongress
Claude Desktop、Cursor 和所有使用标准配置格式的客户端
{
"mcpServers": {
"libraryofcongress": {
"command": "npx",
"args": ["-y", "mcp-libraryofcongress"]
}
}
}
需要 Node 24 或更高版本,无需设置任何环境变量。
使用 Docker
{
"mcpServers": {
"libraryofcongress": {
"command": "docker",
"args": ["run", "-i", "--rm", "ghcr.io/smeet666/mcp-libraryofcongress:3.0.2"]
}
}
}
-i 用于保持标准输入处于打开状态,协议通过此输入传输;省略 -t,因为 TTY 会改写数据流。容器需要能够通过 HTTPS 访问 www.loc.gov 和 chroniclingamerica.loc.gov,除此之外不需要任何内容:无需卷、端口或凭据。
使用不依赖 npm 的 Bundle
从最新发布版本下载 mcp-libraryofcongress-3.0.2.mcpb 并打开。支持 MCP bundle 的客户端会自动安装,无需 npm,也无需编辑配置文件。该 bundle 包含其依赖项,因此安装时不会下载任何内容。
你可以询问什么
- “俄克拉荷马州报纸如何报道 1907 年的建州投票?”
- “帮我找找 1920 年以前芝加哥贫民窟的照片。”
- “读取那条记录,并告诉我原件由谁持有。”
- “有哪些关于南北战争的数字馆藏?”
- “我可以重复使用那张照片吗?”
常规流程是先搜索,再查看记录:搜索结果行中包含 identifier,然后用 get_item 读取记录。
工具
| 工具 | 功能说明 |
|---|---|
search_newspapers | 搜索扫描报纸页面上印刷的文字。 |
search_items | 按标题、创建者、主题、地点或语言搜索目录。 |
get_item | 读取一条记录、其权利信息以及原件的保存地点。 |
list_collections | 列出策展人员发布的数字馆藏。 |
search_newspapers
搜索扫描报纸页面的文字,这些文字通过光学字符识别从页面中提取。
| 参数 | 类型 | 必填 | 功能说明 |
|---|---|---|---|
query | 字符串,1 至 300 个字符 | 是 | 要在页面上查找的文字。 |
location | 字符串,最多 120 个字符 | 否 | 报纸的出版地。 |
publication | 字符串,最多 200 个字符 | 否 | 一份报纸。 |
year_from | 整数,1000 至 9999 | 否 | 起始年份,包含该年份。 |
year_to | 整数,1000 至 9999 | 否 | 结束年份,包含该年份。 |
limit | 整数,1 至 25,默认值为 10 | 否 | 返回的匹配结果数。 |
page | 整数,1 至 100,默认值为 1 | 否 | 要查看第几页匹配结果。 |
max_excerpt_chars | 整数,80 至 1200,默认值为 300 | 否 | 返回的段落长度。 |
max_excerpts_per_match | 整数,1 至 10,默认值为 3 | 否 | 每个匹配页面返回的段落数。 |
返回内容: hits,每条都包含 identifier,可供 get_item 使用;title;creator,即提供该扫描件的图书馆;year;page_number,即该期报纸中的页码;published_on;publication,以及报纸的发行年份;state;excerpts;和 excerpt_kind。
excerpt_kind 用于判断摘录的价值。 passage 是匹配文字周围的内容,并以匹配文字为中心。page_opening 是该页开头的内容;之所以返回它,是因为图书馆随结果行返回的文字在匹配词出现之前就结束了:它不包含匹配内容,因此引用它就等于引用了别的内容,而 source_url 会在应用查询的情况下打开该页。**total 统计的是报纸页数,并支持分页:**它绝不会统计这些文字出现的次数。
search_items
一次搜索一种类型的目录内容。
| 参数 | 类型 | 必填 | 作用 |
|---|---|---|---|
query | 字符串,1 至 300 个字符 | 是 | 要查找的词语。 |
media_type | books、photos、maps、audio、manuscripts 或 newspapers | 否 | 要查询的目录。 |
year_from | 整数,1000 至 9999 | 否 | 起始年份,包含该年份。 |
year_to | 整数,1000 至 9999 | 否 | 结束年份,包含该年份。 |
subject | 字符串,最多 120 个字符 | 否 | 主题标题。 |
location | 字符串,最多 120 个字符 | 否 | 地点。 |
language | 字符串,最多 120 个字符 | 否 | 语言,以英文书写。 |
collection | 字符串,最多 160 个字符 | 否 | 一个馆藏,名称与 list_collections 中的相同。 |
online_only | 布尔值,默认 true | 否 | 仅保留可在线访问的记录。 |
sort | relevance、newest、oldest 或 title,默认 relevance | 否 | 结果行的排序方式。 |
limit | 整数,1 至 50,默认 10 | 否 | 返回的结果行数。 |
page | 整数,1 至 100,默认 1 | 否 | 要返回的结果页码。 |
返回内容: items,其中每项包含 identifier、title、creator、year、
出版时的 date(通常是一个范围)、is_collection 和 source_url。
Library 按内容类型分别维护目录,因此不指定
media_type 时会查询通用目录,total 则统计其中符合条件的记录数。
get_item
读取一条记录。较繁重的内容需要主动请求,不会默认提供; 较长的描述会分页。
| Argument | Type | Required | What it does |
|---|---|---|---|
identifier | string, 1 to 300 characters | yes | 记录所带的标识符。 |
sections | array of basic, citations, resources, full_metadata, default ["basic"] | no | 要返回的部分。 |
offset | integer, 0 or more, default 0 | no | 描述的续读位置。 |
max_description_chars | integer, 200 to 20000, default 2000 | no | 要提供多少描述内容。 |
**返回内容:**记录及其 title、creator、year、date、format
和 source_url,以及 description、subjects、location、language、
part_of(记录所属的馆藏和分部)、repository(原件的保存地点)、
call_number 和 rights。记录中为空的字段为 null。next_offset 用于
继续读取较长的描述,到末尾时为 null。标识符可以包含斜杠:单期报纸由报纸名称、
日期和版次共同标识。
list_collections
列出数字馆藏,即由策展人挑选、描述并一起发布的资料集合。
| Argument | Type | Required | What it does |
|---|---|---|---|
limit | integer, 1 to 50, default 20 | no | 要提供的馆藏数量。 |
page | integer, 1 to 100, default 1 | no | 要查看的馆藏页码。 |
searchable_only | boolean, default false | no | 仅保留可用于缩小搜索范围的馆藏。 |
max_description_chars | integer, 80 to 2000, default 300 | no | 每条描述要提供的字符数。 |
返回内容:collections,其中每项包含 identifier(用于访问该馆藏的 slug)、
title、collection_filter(search_items 使用的筛选条件文字)、
searchable_media_types、description、item_count、subjects、
formats(馆藏所含资料的类型)和 source_url。total 统计图书馆发布的馆藏总数,
该数量大于返回的馆藏数。
扫描文本的价值
报纸页面上的文字是通过光学字符识别从页面中提取的,因此摘录中会包含这一过程产生的误读。 提供的文本保留了识别结果,不会经过校正。引用时请注明这是扫描文本,并链接到页面, 以便读者查看原始页面。
权利
每条记录都会在 rights 中说明自身的权利信息,而图书馆的条款因每次捐赠而异。
重新使用任何内容前,请先阅读相关声明,并在展示内容时一并注明。
配置
所有变量均为可选项。在客户端配置的 env 块中设置它们。
| 变量 | 默认值 | 作用 |
|---|---|---|
LOC_USER_AGENT | 项目标识 | 向 Library 标识你的应用,并提供可联系到相关人员的地址。 |
LOC_MIN_INTERVAL_MS | 6000 | 两次请求之间的间隔,范围为 3000 到 60000。 |
LOC_TIMEOUT_MS | 30000 | 单次请求的截止时间,范围为 1000 到 120000。 |
LOC_NEWSPAPER_TIMEOUT_MS | 90000 | 搜索报纸的截止时间,范围为 1000 到 300000。 |
LOC_MAX_RETRIES | 3 | 临时故障后的重试次数,范围为 0 到 8。 |
LOC_CACHE_TTL_MS | 900000 | 答案在内存中的保留时间,范围为 0 到 86400000。 |
LOC_CACHE_MAX_ENTRIES | 200 | 同时保存在内存中的答案数量,范围为 1 到 5000。 |
LOC_LOG_LEVEL | error | silent、error、info 或 debug,写入 stderr。 |
超出范围的值将回退为默认值,原因会写入 stderr。
错误
每个故障都带有六种代码之一、一条消息,以及在有帮助时指出下一步操作的提示。
| 代码 | 发生的情况 | 处理方法 |
|---|---|---|
not_found | Library 已响应,但没有该记录。 | 使用 search_items 检查标识符。 |
invalid_input | 请求尚未发出,参数就已被拒绝。 | 阅读消息,其中会指出相关参数。 |
rate_limited | Library 要求此客户端放慢速度。 | 等待提示中指出的秒数,然后使用相同参数再次调用。记录仍然存在。 |
parse_failure | 收到的响应格式无法由此客户端读取。 | 在问题跟踪器中报告。 |
network_error | 请求未能完成。 | 稍后重试。 |
timeout | 请求超时。 | 提高 LOC_TIMEOUT_MS;搜索报纸时则提高 LOC_NEWSPAPER_TIMEOUT_MS。 |
作为一个库
读取 Library 的这一层单独发布,包含自身的请求间隔、缓存和错误处理,且不绑定任何协议。
import { LocClient } from "mcp-libraryofcongress/client";
const client = new LocClient();
const { data, cached } = await client.searchItems({ query: "tenement", mediaType: "photos" });
console.log(data.total, cached);
每次读取都会返回 { data, cached },并在出错时抛出带有六种代码之一的错误。这里同样会确保两次请求之间有最短间隔。
请求节奏与来源说明
Library 发布的限制是其 API 每分钟 20 次请求,整个网站每分钟 10 次请求,取两者中较低的限制:请求逐个发送,间隔至少 6 秒;无论服务器如何配置,间隔下限均为 3 秒。User-Agent 始终以项目标识和可联系到相关人员的地址结尾。
每条结果都附有读取该内容的页面地址。Library of Congress 是公共机构,其记录会注明各自的权利信息。
此 MCP 服务是一个非官方项目,与 Library of Congress 没有关联。
隐私
此服务不会收集任何关于你的信息,也不会向其作者发送任何内容。它在你的计算机上运行,只会连接 www.loc.gov 和 chroniclingamerica.loc.gov,除此之外不会连接任何其他地址;运行期间,它会将回答保存在内存中,不会写入磁盘。
PRIVACY.md 说明了请求会携带哪些信息,以及哪些设置会改变这些信息。
开发
npm install
npm run build:fixtures
npm test
npm run check
测试使用生成的测试夹具运行,不会发起网络请求。实时测试套件 npm run test:live 会针对每个路由发起一次请求,并每晚直接对 Library 运行。
贡献
错误报告、问题和想法请提交到 问题跟踪器。 欢迎提交拉取请求;先创建问题有助于就更改方案达成一致。请参阅 CONTRIBUTING.md。
许可证
MIT,详见 LICENSE。记录属于 Library of Congress 及其注明的提交者,并受各条记录所声明的权利约束。
mcp-libraryofcongress(法语版)
Library of Congress 是美国国家图书馆,并在网上发布了其大量馆藏:书籍、照片、地图、录音、手稿,以及自 18 世纪以来的美国报纸页面。这些报纸页面经过数字化处理和光学字符识别,因此可以搜索其中印刷的文字。馆藏人员还会将资料汇集成数字馆藏,每个馆藏都会作为一个独立集合进行描述和发布。
此服务将对话客户端连接到这座图书馆。你可以搜索报纸页面上印刷的文字,按标题、作者、主题、地点或语言搜索目录,查看包含权利条款及原件保存地点的记录,并列出数字馆藏。无需 API 密钥或账号。
安装
一键安装
Claude Code
claude mcp add libraryofcongress -- npx -y mcp-libraryofcongress
Claude Desktop、Cursor 以及任何采用标准配置格式的客户端
{
"mcpServers": {
"libraryofcongress": {
"command": "npx",
"args": ["-y", "mcp-libraryofcongress"]
}
}
}
需要 Node 24 或更高版本,无需设置任何环境变量。
使用 Docker
{
"mcpServers": {
"libraryofcongress": {
"command": "docker",
"args": ["run", "-i", "--rm", "ghcr.io/smeet666/mcp-libraryofcongress:3.0.2"]
}
}
}
-i 会保持标准输入打开,它是协议通道;省略 -t 是因为 TTY 会改写数据流。容器只需能够通过 HTTPS 连接到 www.loc.gov 和 chroniclingamerica.loc.gov,除此之外不需要任何内容:无需卷、端口或凭据。
无需 npm 的安装包
下载 mcp-libraryofcongress-3.0.2.mcpb,文件位于
最新发布版本,
然后打开它。支持 MCP 安装包的客户端会自动完成安装,无需 npm,也无需修改
配置文件。安装包包含其依赖项,因此安装时不会下载任何内容。
可以这样提问
- “1907 年俄克拉荷马州的报纸对加入联邦的投票有什么报道?”
- “帮我找找 1920 年以前芝加哥的公寓楼照片。”
- “读一下这条记录,告诉我原件由谁保存。”
- “有哪些关于南北战争的数字馆藏?”
- “我可以重复使用这张照片吗?”
通常的流程是先搜索,再查看记录:一条结果包含一个
identifier,然后用 get_item 读取该记录。
工具
| 工具 | 功能 |
|---|---|
search_newspapers | 在数字化报纸页面的印刷文字中搜索。 |
search_items | 按标题、作者、主题、地点或语言搜索目录。 |
get_item | 查看记录、权利信息以及原件的保存地点。 |
list_collections | 列出馆藏人员发布的数字馆藏。 |
search_newspapers
在数字化报纸页面的文本中搜索,这些文本由光学字符识别生成。
| 参数 | 类型 | 必填 | 功能 |
|---|---|---|---|
query | 字符串,1 至 300 个字符 | 是 | 要在页面中搜索的词语。 |
location | 字符串,最多 120 个字符 | 否 | 报纸的出版地点。 |
publication | 字符串,最多 200 个字符 | 否 | 特定报纸。 |
year_from | 整数,1000 至 9999 | 否 | 最早年份,包含该年。 |
year_to | 整数,1000 至 9999 | 否 | 最晚年份,包含该年。 |
limit | 整数,1 至 25,默认值为 10 | 否 | 返回的匹配结果数。 |
page | 整数,1 至 100,默认值为 1 | 否 | 要返回的匹配结果页码。 |
max_excerpt_chars | 整数,80 至 1200,默认值为 300 | 否 | 返回的文本片段长度。 |
max_excerpts_per_match | 整数,1 至 10,默认值为 3 | 否 | 每个匹配页面返回的文本片段数。 |
返回内容: hits,每条结果都带有 identifier,可供 get_item 使用;
title;creator,即提供数字化内容的图书馆;year;page_number,即报纸
该期中的页码;published_on;包含报纸出版年份的 publication;state;
excerpts;以及 excerpt_kind。
excerpt_kind 决定了文本片段的含义。 passage 是围绕搜索词截取的文本,
以搜索词为中心。page_opening 是页面开头的内容;当图书馆提供的文本在搜索词
出现之前就结束时,会返回此类内容:它不包含匹配词,因此引用它就等于引用了别的
内容;而 source_url 会打开应用了搜索查询的页面。**total 统计的是报纸页面数,
并用于分页:**它绝不是搜索词出现次数的统计。
search_items
在目录中搜索,每次搜索一种类型的内容。
| 参数 | 类型 | 必填 | 作用 |
|---|---|---|---|
query | 字符串,1 到 300 个字符 | 是 | 要搜索的词语。 |
media_type | books、photos、maps、audio、manuscripts 或 newspapers | 否 | 要查询的目录。 |
year_from | 整数,1000 到 9999 | 否 | 最早年份,包含该年。 |
year_to | 整数,1000 到 9999 | 否 | 最晚年份,包含该年。 |
subject | 字符串,最多 120 个字符 | 否 | 一个主题词。 |
location | 字符串,最多 120 个字符 | 否 | 一个地点。 |
language | 字符串,最多 120 个字符 | 否 | 一种语言,使用英文书写。 |
collection | 字符串,最多 160 个字符 | 否 | 一个合集,名称与 list_collections 中的名称一致。 |
online_only | 布尔值,默认 true | 否 | 仅保留在线记录。 |
sort | relevance、newest、oldest 或 title,默认 relevance | 否 | 行的排序方式。 |
limit | 整数,1 到 50,默认 10 | 否 | 返回的行数。 |
page | 整数,1 到 100,默认 1 | 否 | 要查询的行页码。 |
返回内容: items,每项包含 identifier、title、creator、year、
date(按发布时的内容显示,通常是一个时间范围)、is_collection 和 source_url。该
图书馆按内容类型分别设有目录,因此不指定 media_type 的搜索会查询总目录,而 total
统计的是其中匹配的记录数。
get_item
读取一条记录。较大的部分需按需请求,而非默认提供;较长的描述则分页返回。
| 参数 | 类型 | 必填 | 作用 |
|---|---|---|---|
identifier | 字符串,1 至 300 个字符 | 是 | 某条记录所带的标识符。 |
sections | basic、citations、resources、full_metadata 数组,默认 ["basic"] | 否 | 要返回的部分。 |
offset | 整数,0 或更大,默认 0 | 否 | 从描述的哪个位置继续。 |
max_description_chars | 整数,200 至 20000,默认 2000 | 否 | 返回的描述长度。 |
**返回:**记录包含 title、creator、year、date、format 和
source_url,以及 description、subjects、location、language、
适用于所属馆藏和分部的 part_of、指出原件保存地点的 repository、
call_number 和 rights。记录中为空的字段值为 null。较长描述可通过
next_offset 继续读取;读到末尾时,该值为 null。标识符可以包含斜杠:
期刊编号由其标题、日期和版次共同确定。
list_collections
列出数字馆藏,即由馆员挑选、编目并一起发布的文档集合。
| 参数 | 类型 | 必填 | 作用 |
|---|---|---|---|
limit | 整数,1 至 50,默认 20 | 否 | 返回的馆藏数量。 |
page | 整数,1 至 100,默认 1 | 否 | 要查看的馆藏页码。 |
searchable_only | 布尔值,默认 false | 否 | 仅保留可用于缩小搜索范围的馆藏。 |
max_description_chars | 整数,80 至 2000,默认 300 | 否 | 每条描述的返回长度。 |
返回:collections,其中每个馆藏都包含 identifier(用于访问该馆藏的 slug);
title;collection_filter(search_items 使用的表述);searchable_media_types;
description;item_count;subjects;表示馆藏内容类型的 formats;以及
source_url。total 统计图书馆发布的馆藏总数,数量多于本次返回的馆藏数。
数字化文本的价值
报纸页面中的文字来自光学字符识别,因此摘录可能带有该过程产生的识读错误。 返回的内容会照原样提供,不作校正。引用时请注明这是数字化文本,并附上页面链接, 以便读者查看原始报纸页面。
权利
记录会在 rights 中说明自身的权利信息,而不同馆藏库的图书馆使用条件也各不相同。
重新使用前请阅读相关说明,并在展示内容旁注明该说明。
配置
每个变量都是可选的。请将它们放在客户端配置的 env 块中。
| 变量 | 默认值 | 作用 |
|---|---|---|
LOC_USER_AGENT | 项目标识 | 向该库标识您的应用,并提供可联系到相关人员的地址。 |
LOC_MIN_INTERVAL_MS | 6000 | 两次请求之间的间隔,范围为 3000 到 60000。 |
LOC_TIMEOUT_MS | 30000 | 请求的超时时间,范围为 1000 到 120000。 |
LOC_NEWSPAPER_TIMEOUT_MS | 90000 | 报纸搜索的超时时间,范围为 1000 到 300000。 |
LOC_MAX_RETRIES | 3 | 临时故障后的重试次数,范围为 0 到 8。 |
LOC_CACHE_TTL_MS | 900000 | 响应在内存中的保留时间,范围为 0 到 86400000。 |
LOC_CACHE_MAX_ENTRIES | 200 | 同时保存在内存中的响应数,范围为 1 到 5000。 |
LOC_LOG_LEVEL | error | 可选值为 silent、error、info 或 debug,日志写入错误输出。 |
超出范围的值会回退到默认值,原因会写入错误输出。
错误
每次失败都会带有六种代码之一、一条消息,以及在有帮助时提供的后续操作提示。
| 代码 | 发生的情况 | 该怎么做 |
|---|---|---|
not_found | 该库已响应,但没有这条记录。 | 使用 search_items 检查标识符。 |
invalid_input | 请求发出前,参数已被拒绝。 | 阅读消息,其中会指出相关参数。 |
rate_limited | 该库要求此客户端降低请求频率。 | 等待指定的秒数,然后使用相同参数再次调用。该记录仍然存在。 |
parse_failure | 响应已到达,但格式无法在此处读取。 | 请在问题跟踪页上报告。 |
network_error | 请求未能完成。 | 稍后重试。 |
timeout | 请求超时。 | 增大 LOC_TIMEOUT_MS;如果是报纸搜索,则增大 LOC_NEWSPAPER_TIMEOUT_MS。 |
作为库使用
读取该库的层单独发布,带有自己的请求频率、缓存和错误处理,不附带任何协议。
import { LocClient } from "mcp-libraryofcongress/client";
const client = new LocClient();
const { data, cached } = await client.searchItems({ query: "tenement", mediaType: "photos" });
console.log(data.total, cached);
每次读取都会返回 { data, cached },并在出错时抛出带有六种代码之一的错误。两次请求之间的最短间隔在此处同样适用。
请求频率与归属
该库公布的 API 限额为每分钟 20 个请求,整个网站的限额为每分钟 10 个请求,以较低者为准:请求会逐个发送,间隔至少六秒;无论如何配置,间隔都不会低于三秒。User-Agent 始终以项目身份和联系人员的地址结尾。
每条结果都附有读取该结果的页面地址。Library of Congress 是公共机构,其记录会注明各自的权利声明。
此 MCP 是一个非官方项目,与 Library of Congress 无关联。
隐私
此服务不会收集您的任何信息,也不会向其作者发送任何信息。它在您的计算机上运行,只连接 www.loc.gov 和 chroniclingamerica.loc.gov,在运行期间将响应保存在内存中,且不会写入磁盘。PRIVACY.md 说明了请求会携带哪些信息,以及哪些设置会改变这些行为。
开发
npm install
npm run build:fixtures
npm test
npm run check
测试使用生成的 fixtures 运行,不会发出任何请求。在线测试套件 npm run test:live 会针对每个路由发出一个请求,并且每晚都会对照该图书馆运行。
贡献
问题、疑问和想法都可以提交到问题跟踪区。欢迎提交修改建议;先创建 issue 有助于就修改方案达成共识。请参阅 CONTRIBUTING.md。
许可证
MIT,详见 LICENSE。记录归 Library of Congress 及其列明的提交者所有,并受每条记录所述权利声明约束。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。