使用说明
项目简介
Location MCP Server 是一个基于 Spring Boot 构建的 MCP 服务器示例,旨在演示如何通过 MCP 协议向 LLM 客户端提供位置上下文信息。它提供了 'location_get' 工具用于获取用户位置,并提供了一个名为 'location' 的 Prompt 模板,方便 LLM 客户端通过标准化的方式获取位置信息。
主要功能点
- 提供位置获取工具 (Tool): 通过 'location_get' 工具,LLM 客户端可以调用服务器获取用户的位置信息。位置信息可以配置为静态值,也可以通过网络 IP 地址定位获取。
- 提供位置获取 Prompt (Prompt): 预置了 'location' Prompt 模板,LLM 客户端可以使用该模板快速发起获取位置信息的请求。
- 灵活的位置配置: 支持通过配置静态位置,或通过调用外部 IP 定位 API 获取动态位置,满足不同场景的需求。
安装步骤
- 克隆仓库:
git clone https://github.com/alexandreroman/mcp-location cd mcp-location - 构建项目:
确保已安装 Maven 和 JDK 17+,然后执行以下命令构建项目:
构建成功后,会在 'target' 目录下生成 'location-0.0.1-SNAPSHOT.jar' 文件。./mvnw package
服务器配置
MCP 客户端需要配置以下信息以连接 Location MCP Server:
{ "serverName": "location-mcp-server", "command": "java", "args": [ "-jar", "target/location-0.0.1-SNAPSHOT.jar" ], "env": { // 可选:配置静态位置,例如设置为 "Paris"。 // 如果不配置 location 环境变量,则默认使用网络 IP 定位获取位置信息。 // "location": "Paris" } }
参数说明:
- 'serverName': MCP 服务器的名称,可以自定义。
- 'command': 启动 MCP 服务器的命令,这里使用 'java' 命令。
- 'args': 启动命令的参数,包括:
- '-jar': 指定运行 jar 包。
- 'target/location-0.0.1-SNAPSHOT.jar': 指定要运行的 jar 文件路径,请根据实际构建结果修改。
- 'env': 环境变量配置,用于配置服务器的行为。
- 'location': 可选。如果设置此环境变量,服务器将返回静态配置的位置信息,例如设置为 '"London"'。如果不设置,服务器将尝试通过网络 IP 地址定位获取位置信息。
注意:
- 确保 MCP 客户端能够访问到 'location-0.0.1-SNAPSHOT.jar' 文件所在的路径。
- 如果使用网络 IP 定位,服务器需要能够访问 'https://api.my-ip.io' 接口。
基本使用方法
-
启动 MCP 服务器: 根据上述服务器配置,在 MCP 客户端中配置并启动 Location MCP Server。
-
客户端发现工具和 Prompt: MCP 客户端连接到服务器后,可以发现服务器提供的工具和 Prompt。在本例中,客户端应能发现名为 'location_get' 的工具和名为 'location' 的 Prompt。
-
调用 'location_get' 工具: 客户端可以调用 'location_get' 工具来获取位置信息。工具调用无需参数。服务器将返回包含位置信息的字符串,例如:
Location: Paris // 静态配置 或 Country: France Region: Ile-de-France City: Paris Latitude: 1.000000 Longitude: 1.000000 // 网络 IP 定位 -
使用 'location' Prompt: 客户端可以使用 'location' Prompt 模板来发起获取位置信息的请求。Prompt 模板预定义了用户消息 "What is my current location?"。服务器将返回包含该消息的 Prompt 结果。
通过以上步骤,LLM 客户端即可利用 Location MCP Server 提供的工具和 Prompt 获取位置上下文信息,从而实现基于位置的应用场景。
信息
分类
网页与API