使用说明
项目简介
mcp-nyc 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 提供访问纽约市立法信息的工具。通过此服务器,LLM 可以查询纽约市议会的议案、议员及其职位等数据,从而增强 LLM 在城市治理和公共事务领域的应用能力。
主要功能点
- MCP 协议兼容: 遵循 MCP 协议标准,能够与支持 MCP 协议的客户端(如 Claude Desktop)进行通信。
- Legistar API 数据访问: 集成纽约市 Legistar API,提供对公开立法数据的访问能力。
- 工具化数据查询: 提供多个工具,允许 LLM 查询:
- 议会事务 (get_matters):获取议会立法议案等信息。
- 议员信息 (get_council_members):查询市议会成员列表。
- 议员职位 (get_council_member_positions):获取特定议员的委员会职位信息。
- JSON-RPC 通信: 使用 JSON-RPC 协议与客户端进行数据交换。
- Stdio 传输: 支持标准输入/输出 (stdio) 作为数据传输通道。
安装步骤
- 安装依赖: 在仓库根目录下,运行以下命令安装项目依赖:
或者使用 npm:bun installnpm install - 准备构建: 运行以下命令进行项目构建准备:
或者使用 npm:bun run preparenpm run prepare - 配置服务器: 运行以下命令配置 MCP 服务器,并启用调试模式(可选):
如果不需要调试模式,可以省略 '--debug' 参数:node build/index.js config --debug
此命令会自动更新 Claude Desktop 的配置文件,添加 mcp-nyc 服务器。node build/index.js config
服务器配置
为了让 MCP 客户端(例如 Claude Desktop)连接到 mcp-nyc 服务器,需要配置客户端的 MCP 服务器列表。'node build/index.js config' 命令已经自动完成配置,以下是配置信息示例,供参考(通常无需手动配置,除非你想自定义配置或用于其他 MCP 客户端):
{ "mcpServers": { "mcp-nyc-server": { "command": "node", // 启动服务器的命令,通常为 node 或 npx "args": [ // 命令参数 "<你的项目路径>/build/index.js" // 指向构建后的 index.js 文件路径 (config 命令会自动修正为当前脚本的路径) ] } } }
注意: '<你的项目路径>' 需要替换为 'build/index.js' 文件所在的实际路径。 'config' 命令会自动处理路径问题,用户通常无需手动修改此配置。 如果使用 'npx mcp-nyc' 启动,command 可能会是 'npx', args 可能会是 '["mcp-nyc"]'。
基本使用方法
- 启动 MCP 客户端: 启动支持 MCP 协议的客户端,例如 Claude Desktop。
- 连接 MCP 服务器: 客户端会自动连接到配置中指定的 mcp-nyc 服务器。
- 使用工具: 在客户端中,你可以看到 mcp-nyc 服务器提供的工具列表,例如 'get_matters', 'get_council_members', 'get_council_member_positions'。
- 调用工具: 在 LLM 的提示词中,可以指示 LLM 使用这些工具来查询纽约市立法信息。例如,你可以让 LLM 使用 'get_council_members' 工具来获取当前纽约市议员的名单。
示例提示词 (Claude Desktop):
"请使用 'get_council_members' 工具查询当前纽约市议员的名字。"
LLM 接收到指令后,会调用 'get_council_members' 工具,并将返回的议员数据用于后续的对话或任务。
信息
分类
网页与API