关于 New Mexico Code
New Mexico Code 是供用户按引文或主题查询新墨西哥州现行法令的 MCP 服务,可获取条文正文及历史、搜索官方标题并列出章节。索引覆盖不完整,缺失章节会明确标出。
主要功能
- 01按引文获取现行法条全文
- 02搜索条文标题和章节名称
- 03列出章节及已索引条文数
- 04返回章节信息与历史记录
适用场景
- 01查询指定 NMSA 1978 条文
- 02按主题或关键词查找条文
- 03了解章节列表及其索引覆盖情况
MCP 相关
向 MCP 客户端提供 nm_statute、nm_search 和 nm_chapters 工具。可作为本地 stdio MCP 服务运行,也可通过 Pipeworx 网关连接。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://gateway.pipeworx.io/new-mexico-code/mcpclaude mcp add --transport http pipeworx-io-new-mexico-code https://gateway.pipeworx.io/new-mexico-code/mcp{"mcpServers":{"pipeworx-io-new-mexico-code":{"type":"http","url":"https://gateway.pipeworx.io/new-mexico-code/mcp"}}}在 Cursor 中打开{"servers":{"pipeworx-io-new-mexico-code":{"type":"http","url":"https://gateway.pipeworx.io/new-mexico-code/mcp"}}}在 VS Code 中打开{"mcpServers":{"pipeworx-io-new-mexico-code":{"type":"http","url":"https://gateway.pipeworx.io/new-mexico-code/mcp"}}}{"mcpServers":{"pipeworx-io-new-mexico-code":{"serverUrl":"https://gateway.pipeworx.io/new-mexico-code/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
@pipeworx/new-mexico-code
《1978 年新墨西哥州注释法典》(NMSA 1978)——可按引文查询州法条文、查看章节列表并搜索条文标题。无需密钥。
这是 Pipeworx 的一部分——一个将 AI Agent 连接到 1837 多个实时数据源的 MCP 网关。这是独立的非官方集成,与上游提供方无关联、未获其认可,也非由其发布。
工具
nm_statute(citation)— 按引文查询 NMSA 1978 条文的现行文本("30-2-1"、"NMSA 1978, § 30-2-1"、"§ 30-2-1")。返回条文标题、完整法条文本、章节名称和history行。新墨西哥州按章节发布 PDF(并非每个条文各发一份),因此仅凭引文无法得知章节名称——本工具通过内置章节索引解决此问题;该索引由各章节 PDF 自带的书签树构建,而不是拒绝该引文。尚未纳入构建索引的章节(见下方“已知限制”)会返回reason: "chapter_not_baked",而非错误地报告未匹配。nm_search(query, limit?)— 搜索官方条文标题和章节名称中的主题或关键词(不搜索完整法条正文——NMOneSource 自带的搜索索引包含判例法和表格,而非法条文本;见“数据源”)。返回匹配的引文、条文标题和章节名称;传入引文即可通过nm_statute获取完整文本。nm_chapters()— 列出所有 NMSA 1978 章节、其官方名称,以及本工具包为每章建立索引的条文数量。可用于按主题查找章节,例如“我知道主题,但不知道章节编号”。
身份验证
无需密钥。调用双方均无需注册或密钥。
数据源
- https://nmonesource.com/nmos/nmsa/en/nav_alpha.do — 当前 NMSA 1978 章节列表(由新墨西哥州法律汇编委员会运营),每个章节都链接到其独立的导航项 ID。ID 按非连续顺序分配(第 7 章的项目 ID 为 4340,第 30 章为 4371),无法通过章节编号推算;这正是本工具包需要内置章节索引的原因(
scripts/bake-index.mjs->src/nm-index-data.ts,通过与 new-hampshire-code 相同的 KV 内置索引机制加载)。 https://nmonesource.com/nmos/nmsa/en/<itemId>/1/document.do— 该章节的完整文本,每章为一份 PDF(第 30 章“刑事犯罪”共 1,138 页、5.8 MB——网站上没有按篇或按条文拆分的版本)。每份章节 PDF 都为每个篇标题和条文引文添加书签,并指定各自的页码位置;extractPdfOutline(在shared/src/pdf-text.ts中新增,fleet #2884)读取该书签树时不会解压任何内容流(即使 PDF 有 1,138 页,也只需几十毫秒),而extractPdfText新增的pageRange选项则只提取匹配引文附近的页面——提取 2 页约需 110 毫秒,相比之下提取整章约需 1.7 秒。随后,工具会在这个较小但范围略宽的页面区间内,通过定位条文自身的标题文本(可容忍换行——渲染后的 PDF 中较长的标题会跨行显示),并在该条文自己的“ANNOTATIONS”子书签或下一条条文的标题处(取两者中较早者)截断,从而提取出准确的条文文本。- NMOneSource 自带的搜索(
/nmos/en/a/s/index.do?cont=<query>)索引的是判例法和表格,而非 NMSA 法条正文——已通过实时查询确认:只出现在法条文本中的短语(来自 30-2-1 的"depraved mind")未返回任何 NMSA 结果,却返回了数十条判例法结果。因此,nm_search会搜索本工具包内置的条文标题索引;由于相同原因,new-hampshire-code 也采用了相同做法。
已知限制:当前提交的索引构建并不完整
nmonesource.com 会针对 document.do 触发按 IP 限制的 CAPTCHA 验证墙(nav_alpha.do 和搜索页面不会),从同一 IP 快速获取约 40 个章节 PDF 后就会触发——构建此包时实测如此(2026-10-09):第 1–43 章成功构建,之后剩余章节全部返回 403,等待几分钟后限制仍未解除。
当前提交的 src/nm-index-data.ts 缺少 84 章中的 37 章(已在该文件自己的头部注释中列出)。nm_statute 和 nm_search 对已涵盖的 47 章均能正常工作(包括第 30 章《刑事犯罪》和第 40 章《家庭事务》);对于其余章节,它们会如实返回 chapter_not_baked,而不是悄然误报未匹配。
scripts/bake-index.mjs 支持断点续跑(会保存进度到 .bake-checkpoint.ndjson,并跳过已获取的内容)——换一个 IP 或等待更长时间后重新运行它,以补齐剩余章节,然后重新生成 src/nm-index-data.ts 并重新部署。这只是构建时的限制:在生产账户上运行的临时 wrangler dev --remote Worker 成功获取了此包的三种 URL 格式(均返回 200,字节正确,包括完整章节 PDF),使用的正是部署此网关的同一账户——NMOneSource 的 CAPTCHA 验证墙只针对短时间内反复请求 document.do 的 IP,并非普遍封锁 Cloudflare 的出口流量。
快速开始
添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):
{
"mcpServers": {
"new-mexico-code": {
"url": "https://gateway.pipeworx.io/new-mexico-code/mcp"
}
}
}
此端点实际提供的内容
https://gateway.pipeworx.io/new-mexico-code/mcp 上的 tools/list 会返回上表中的工具,以及 Pipeworx 共享元工具——ask_pipeworx、discover_tools、search_within、remember/recall 和网关全局工具集中的其他工具。因此,你看到的工具数量会多于此表所列:目前,单个工具包端点除了自身工具外,还会列出约 30 个共享工具。连接的 initialize 响应会说明其确切范围,并且是当天的权威信息。
这是刻意设计的,并非意外复用。元工具让受限范围的连接也能回答此工具包未涵盖的问题——通过 ask_pipeworx 跨整个目录进行路由——无需额外添加第二个 MCP 服务。目前无法挂载不含这些元工具的工具包端点;如果额外的架构定义占用的上下文超过路由带来的收益,请连接完整网关,而不是连接多个工具包端点。
或者,连接完整的 Pipeworx 网关,以直接列出每个工具包的工具,而不只是此工具包的工具:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
两个 URL 都连接到同一个网关和同一组 1837+ 个数据源。唯一的区别是直接列出哪个工具包的工具;无论连接哪个端点,ask_pipeworx 都能访问所有工具。
没有 MCP 客户端?通过 HTTP 调用
curl -X POST https://gateway.pipeworx.io/v1/tools/nm_statute \
-H 'Content-Type: application/json' \
-d '{"citation":"30-2-1"}'
首次调用无需账户。查看任意工具:GET https://gateway.pipeworx.io/v1/tools/nm_statute。查找工具包:使用 {"query":"..."} 向 https://gateway.pipeworx.io/v1/tools/search_packs 发送 POST 请求。
独立运行(无需网关账户)
此软件包也可以作为本地 stdio MCP 服务运行——无需 Pipeworx 账户,也无需经由网关中转:
{
"mcpServers": {
"new-mexico-code": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-new-mexico-code"]
}
}
}
也可以直接运行,以确认它能够启动:
npx -y @pipeworx/mcp-new-mexico-code
它通过 stdin/stdout 使用 MCP 协议,并响应 initialize/tools/list/tools/call,但只提供此工具包的工具——不包含上方网关连接提供的共享元工具。数据来源相同、工具相同,但没有 ask_pipeworx 路由功能。
使用 ask_pipeworx
你也可以不用直接调用工具,而是用自然语言提问——此功能既适用于上方的工具包端点,也适用于完整网关:
ask_pipeworx({ question: "your question about New Mexico Code data" })
网关会自动选择合适的工具并填入参数。
更多信息
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。