UNPKG

@cnwhy/qqwry-mcp

Version:

MCP server for QQWry IP database query

82 lines (56 loc) 2.26 kB
# QQWry MCP 服务 一个基于 [Model Context Protocol (MCP)](https://modelcontextprotocol.io) 的轻量级服务,用于提供纯真(QQWry) IP 数据库的地理定位查询能力。 ## 功能特点 - 提供符合 MCP 规范的服务接口,支持与支持 MCP 的客户端集成 - 基于 `lib-qqwry` 实现对纯真 IP 数据库(QQWry.dat)的解析与查询 - 支持多种部署方式:命令行调用(CLI)、HTTP 服务等 - 支持 Node.js 18+ 的 ES 模块语法(type: "module") - 提供标准化的输入验证(Zod)和错误处理 ## 工具列表 | 工具名称 | 描述 | |---------|------| | `query_ip` | 通过 IP 检索纯真 IP 库,获取 IP 地址的归属地信息;通过查询 255.255.255.255,可以查询纯真 IP 库的版本信息 | | `query_ip_scope` | 通过 IP 检索纯真 IP 库,查询 IP 段内的所有 IP 地址的归属地信息,结果以 IP 段的形式返回 | | `get_ip_use_keyword` | 通过检索纯真 IP 库,查询符合关键字的所有 IP 段 | | `chinge_ip_data_path` | 用户可以指定要切换的纯真 IP 库文件;如果不指定文件路径,则使用默认的纯真 IP 库文件 | ## 使用方法 ### 作为命令行工具使用 ```bash # 全局安装后使用 npm install -g qqwry-mcp mcp-qqwry # 或者使用 npx 直接运行 npx qqwry-mcp ``` ### 作为 HTTP 服务运行 ```bash # 启动 HTTP 服务 npm start # 默认监听在 3000 端口,可通过 PORT 环境变量修改 # 服务端点为 http://localhost:3000/mcp ``` ### 作为 MCP 插件集成 该服务可以作为 MCP 插件集成到支持 MCP 的 IDE 或 AI 工具中。 ### 环境变量 - `QQWRY_DATA_PATH`: 指定纯真 IP 数据库文件路径(可选,默认使用内置路径) - `PORT`: HTTP 服务监听端口(可选,默认 3000) ## 测试示例 ### Stdio 测试 ```bash npm test ``` ### HTTP 测试 ```bash # 首先启动服务 npm start # 然后在另一个终端运行测试 npm run test:http ``` ## 技术栈 - [Node.js](https://nodejs.org/) >=18.0.0 - [Express](https://expressjs.com/) ^5.1.0 - [@modelcontextprotocol/sdk](https://modelcontextprotocol.io) ^1.0.0 - [lib-qqwry](https://github.com/cnwhy/lib-qqwry) ^1.0.0 - [zod](https://zod.dev/) ^3.25.76 ## 许可证 MIT