项目简介
'mcp-ip-geo' 是一个实现了 Model Context Protocol (MCP) 协议的服务器,专注于提供IP地址的地理位置查询功能。它作为一个独立的后端服务,可以与任何支持 MCP 协议的 LLM 客户端集成,为 LLM 应用提供 IP 地址的地理位置信息。
主要功能点
- IP 地理位置查询工具: 提供一个名为 'ip-parser' 的工具,允许 LLM 客户端通过提供 IP 地址来查询该 IP 的地理位置信息,包括国家、地区、城市、经纬度、ISP 等详细信息。
- MCP 服务器标准实现: 遵循 MCP 协议,可以通过标准化的 JSON-RPC 协议与客户端通信,易于集成到任何支持 MCP 客户端的应用中。
- 支持多种集成方式: 支持可执行文件集成和 HTTP 集成两种方式,方便用户根据实际环境选择合适的部署方式。
安装步骤
方式一:使用 Go 命令安装 (推荐)
这是最简单的安装方式,前提是你已经安装了 Go 语言环境。
打开终端,运行以下命令:
go install github.com/chenmingyong0423/mcp-ip-geo/cmd/mcp-ip-geo@latest
安装成功后,'mcp-ip-geo' 可执行文件将会安装到你的 '$GOPATH/bin' 目录(或者 '$HOME/go/bin',取决于你的 Go 环境配置)。
方式二:从源码构建
如果你需要自定义构建或者不想使用 'go install',可以按照以下步骤从源码构建:
-
克隆仓库:
git clone https://github.com/chenmingyong0423/mcp-ip-geo.git cd mcp-ip-geo -
构建可执行文件:
-
Linux/macOS:
go build -o mcp-ip-geo ./cmd/mcp-ip-geo -
Windows:
go build -o mcp-ip-geo.exe .\cmd\mcp-ip-geo
构建成功后,会在当前目录下生成 'mcp-ip-geo' (或 'mcp-ip-geo.exe') 可执行文件。
-
方式三:使用 Docker 构建
如果你熟悉 Docker,可以使用 Docker 构建镜像并运行:
-
构建 Docker 镜像:
docker build -t mcp-ip-geo-server . -
运行 Docker 容器:
docker run -d --name mcp-ip-geo-server -p 8000:8000 mcp-ip-geo-server这将会在后台运行 'mcp-ip-geo' 服务器,并将容器的 8000 端口映射到主机的 8000 端口。
服务器配置
MCP 客户端需要配置 MCP 服务器的连接信息才能正常使用 'mcp-ip-geo' 服务。以下是两种集成方式的配置示例,你需要根据你的实际部署方式选择其一配置到 MCP 客户端中。
1. 可执行文件集成 (Executable Integration)
如果你将 'mcp-ip-geo' 可执行文件放在本地,并希望通过直接运行该程序来集成,可以使用以下配置:
{ "mcpServers": { "mcp-ip-geo": { "command": "/path/to/mcp-ip-geo" // 将 "/path/to/mcp-ip-geo" 替换为 mcp-ip-geo 可执行文件的实际路径 } } }
配置参数说明:
- 'command': 必填。'mcp-ip-geo' 可执行文件的绝对路径。你需要将其替换为你实际安装或构建的 'mcp-ip-geo' 可执行文件的路径。
2. HTTP 集成 (HTTP Integration)
如果你将 'mcp-ip-geo' 服务器部署在远程服务器上,并希望通过 HTTP 协议连接,可以使用以下配置:
{ "mcpServers": { "mcp-ip-geo": { "url": "http://host:port/sse" // 将 "http://host:port/sse" 替换为 mcp-ip-geo 服务器的 SSE 地址 } } }
配置参数说明:
- 'url': 必填。'mcp-ip-geo' 服务器的 SSE (Server-Sent Events) 地址。你需要将其替换为你实际部署的 'mcp-ip-geo' 服务器的访问地址,例如 'http://your_server_ip:8000/sse'。 如果使用 Docker 运行,并且端口映射为主机的 8000 端口,那么 'host:port' 部分通常是你的主机 IP 地址和 8000 端口。
基本使用方法
在 MCP 客户端配置好 'mcp-ip-geo' 服务器后,你就可以通过调用 'ip-parser' 工具来查询 IP 地址的地理位置信息了。
例如,你可以向 MCP 服务器发送如下 JSON-RPC 请求来调用 'ip-parser' 工具查询 '8.8.8.8' 的地理位置:
{ "jsonrpc": "2.0", "method": "call_tool", "params": { "tool_name": "ip-parser", "arguments": { "ip": "8.8.8.8" } }, "id": 1 }
请求参数说明:
- 'tool_name': 要调用的工具名称,这里是 'ip-parser'。
- 'arguments': 工具的参数,'ip-parser' 工具接受一个 'ip' 参数,值为要查询的 IP 地址。
MCP 服务器会返回 JSON-RPC 响应,其中 'result' 字段包含 'ip-parser' 工具的执行结果,即 IP 地址的地理位置信息 (JSON 格式的文本内容)。
请注意: 该项目使用了免费的 ip-api.com 服务,仅限于非商业用途。商业用途请务必遵守其服务条款或购买商业许可。
信息
分类
网页与API