关于 North Carolina Code
North Carolina Code 是供北卡罗来纳州法规研究者使用的 MCP 服务,可按引文获取法规章节,也能按主题搜索全文。有预取章节文本时优先使用,否则进行实时抓取。
主要功能
- 01按引文获取法规
- 02按主题搜索法规文本
- 03使用预取的章节文本
- 04报告数据时效信息
适用场景
- 01阅读指定引文对应的法规章节
- 02查找特定法律主题的条文
- 03确认法规章节是否存在
MCP 相关
向 MCP 客户端提供法规查询和主题搜索工具。可在本地通过 stdio 运行,也可经由 Pipeworx 网关连接。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://gateway.pipeworx.io/north-carolina-code/mcpclaude mcp add --transport http pipeworx-io-north-carolina-code https://gateway.pipeworx.io/north-carolina-code/mcp{"mcpServers":{"pipeworx-io-north-carolina-code":{"type":"http","url":"https://gateway.pipeworx.io/north-carolina-code/mcp"}}}在 Cursor 中打开{"servers":{"pipeworx-io-north-carolina-code":{"type":"http","url":"https://gateway.pipeworx.io/north-carolina-code/mcp"}}}在 VS Code 中打开{"mcpServers":{"pipeworx-io-north-carolina-code":{"type":"http","url":"https://gateway.pipeworx.io/north-carolina-code/mcp"}}}{"mcpServers":{"pipeworx-io-north-carolina-code":{"serverUrl":"https://gateway.pipeworx.io/north-carolina-code/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
北卡罗来纳州法规
可按引文查询北卡罗来纳州法规,也可按主题进行全文搜索。无需密钥。
属于 Pipeworx 的一部分 — 一个将 AI Agent 连接到 1800 多个实时数据源的 MCP 网关。这是独立的非官方集成,与上游提供方无关联、未获其认可,也非由其发布。
请参阅 docs/state-law-probe.md,了解如何验证此数据源 — 每个州的数据包在发布前都会确认 MISS 可与 HIT 区分,因为有几个州的网站会对不存在的法规返回 HTTP 200。
覆盖范围(舰队 #2505)
按条款查询的实时路径(BySection/Chapter_N/GS_N-M.html)受到
ncleg.gov 的限流 — 2026-09-29 测得 85 次调用中有 82 次超时。现在,nc_general_statute
会先尝试使用预抓取文本:scripts/ingest-nc-statutes.mjs 会抓取 ncleg.gov
自己的按章批量文档(ByChapter/Chapter_N.html — 396 次请求,
包括带字母的子章节,而非约 34,000 次按条款请求),并根据 § N-M. 标题。 标记拆分每份文档,然后将每章写成一个 JSON 包,存入共享的 pipeworx-datasets R2 存储桶,路径为 statutes/nc/<chapter>.json。
如果某章已抓取,而某条款不在其中,则这是权威结果(废止/重新编号的条款很常见),工具会直接说明,不会发起实时请求。如果某章尚未抓取,则回退到原来的按条款实时抓取方式。
每个响应中的 data_as_of 都会说明数据来自预抓取文本(抓取时间为 ingested_at)还是实时抓取(当前时间)。
主题搜索
nc_statute_search 能回答单纯按引文查询无法解决的问题 — 例如“投票站的选举行为”“房东报复性驱逐” — 搜索通过共享的 SEARCH_SHARD Durable Object 执行,使用 FTS5(workers/gateway/src/search-shard.ts,
分片名称为 nc-statutes;无需新增 Cloudflare 绑定)。搜索结果包含引文和标题;调用 nc_general_statute 并传入结果中的条款,即可获取全文。
已知限制:“Reserved”子条款标题
章节拆分器以 § <section>. <Heading> 为锚点 — 标题前必须有一个句点。少数条款使用冒号,具体来说是带点号的子编号,用来标记占位条款:§ 1-87.2: Reserved for future codification purposes. 拆分器的句点锚点会回溯到“1-87.2”中的点号,并将其归入基准条款(1-87),因此 11 个占位子条款可能作为多个独立数组项附加到某个真实条款的包条目中,并共用其编号。对 2026-09-30 全量抓取结果的测量显示,受影响的(章节、条款)组合有 460 个,额外条目有 1,875 个,几乎全部都是“Reserved for future codification purposes”(已核实 — 在受影响组合的抽样中,未发现实质性的条款标题)。对其中某个编号进行实际引文查询仍会返回结果(匹配到的第一项是真实条款);只有用于解析搜索命中结果的索引包含冗余的占位行,而搜索索引本身的排序仍然正确,因为占位条款没有有意义的全文内容可供排序。这里未作修复,因为受影响内容完全是“reserved,无正文”的填充项;如果真实引文以后确实发生此类冲突,可将拆分器改为区分带点子编号中的 . 与作为标题终止符的 .,这属于范围明确的后续工作。
刷新
node scripts/ingest-nc-statutes.mjs — 定期重新运行(北卡罗来纳州立法会议每年举行一次,因此这里不需要每日更新)。目前没有配置调度:可以手动运行,也可以在添加工作流后通过 gh workflow run 运行 — 自约 2026-09-09 起,GitHub 自带的 schedule: 触发器一直不可靠(参见 CLAUDE.md),因此定期刷新应采用监控分发模式,而非单纯的 cron 触发器。
数据来源
州立法机关官方网站(ncleg.gov)。北卡罗来纳州法规属于公共记录;未发现此处使用的批量文档路径存在再利用限制。
快速开始
添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):
{
"mcpServers": {
"north-carolina-code": {
"url": "https://gateway.pipeworx.io/north-carolina-code/mcp"
}
}
}
此端点实际提供的内容
https://gateway.pipeworx.io/north-carolina-code/mcp 上的 tools/list 会返回上表中的工具,以及 Pipeworx 共享元工具——ask_pipeworx、
discover_tools、search_within、remember/recall,以及网关全局工具集中的其他工具。因此,你看到的工具数量会多于此表:目前,单个工具包端点除了列出该工具包自身的工具,还会列出大约 30 个共享工具。连接的 initialize 响应会说明其确切范围,是当天判断工具范围的权威依据。
这是有意为之,并非意外的多路复用。元工具让范围受限的连接也能回答本工具包未涵盖的问题——通过 ask_pipeworx 跨整个目录进行路由——而无需添加第二个 MCP 服务。目前无法挂载不包含这些元工具的工具包端点;如果额外的 schema 消耗的上下文多于路由带来的价值,请连接一次完整网关,而不要连接多个工具包端点。
或者连接完整的 Pipeworx 网关,直接列出所有工具包的工具,而不只是此工具包的工具:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
两个 URL 都会连接到同一个网关和相同的 1800 多个数据源。唯一的区别在于直接列出的是哪个工具包的工具;通过任一端点,ask_pipeworx 都能访问所有工具包的工具。
没有 MCP 客户端?通过 HTTP 调用
curl -X POST https://gateway.pipeworx.io/v1/tools/nc_general_statute \
-H 'Content-Type: application/json' \
-d '{"section":"14-17"}'
首次调用无需账号。查看任意工具:GET https://gateway.pipeworx.io/v1/tools/nc_general_statute。查找工具包:POST https://gateway.pipeworx.io/v1/tools/search_packs,请求体为 {"query":"..."}。
独立运行(无需网关账号)
此软件包也可以作为本地 stdio MCP 服务运行——无需 Pipeworx 账号,也不必经由网关中转:
{
"mcpServers": {
"north-carolina-code": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-north-carolina-code"]
}
}
}
或者直接运行,确认它能启动:
npx -y @pipeworx/mcp-north-carolina-code
它通过 stdin/stdout 使用 MCP 协议,并且只会针对此工具包的工具响应 initialize/tools/list/tools/call——不包含上述网关连接额外提供的任何共享元工具。数据源相同,工具相同,但没有 ask_pipeworx 路由功能。
使用 ask_pipeworx
你可以用通俗英语提问,而不是直接调用工具——这既适用于上面的工具包端点,也适用于完整网关:
ask_pipeworx({ question: "your question about North Carolina Code data" })
网关会选择合适的工具并自动填入参数。
更多信息
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。