mcpField
N
New Mexico Code

New Mexico Code

远程服务
pipeworx.io法律与政务0今天更新

关于 New Mexico Code

New Mexico Code 是供用户按引文或主题查询新墨西哥州现行法令的 MCP 服务,可获取条文正文及历史、搜索官方标题并列出章节。索引覆盖不完整,缺失章节会明确标出。

主要功能

  1. 01按引文获取现行法条全文
  2. 02搜索条文标题和章节名称
  3. 03列出章节及已索引条文数
  4. 04返回章节信息与历史记录

适用场景

  1. 01查询指定 NMSA 1978 条文
  2. 02按主题或关键词查找条文
  3. 03了解章节列表及其索引覆盖情况

MCP 相关

向 MCP 客户端提供 nm_statute、nm_search 和 nm_chapters 工具。可作为本地 stdio MCP 服务运行,也可通过 Pipeworx 网关连接。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://gateway.pipeworx.io/new-mexico-code/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。