whereami-mcp

WhereAmI-MCP:轻量级MCP服务器,助力AI模型精准定位。

whereami-mcp
whereami-mcp能力展示

whereami-mcp 解决方案概述

whereami-mcp 是一个轻量级的MCP服务器,旨在通过IP地址为AI模型提供地理位置信息。它通过动态资源和工具两种方式实现这一目标。资源方面,它支持通过location://{type} 动态获取IP、国家、城市等特定地理位置数据。工具方面,get_location() 可以生成包含详细地理位置信息的Markdown表格,方便AI模型理解和利用。

该解决方案简化了AI模型获取地理位置信息的流程,开发者无需处理复杂的API调用和数据解析。只需简单的资源引用或工具调用,即可将精确的地理位置数据集成到AI应用中。例如,AI模型可以根据用户所在城市提供定制化服务,或者根据用户所在国家调整语言设置。whereami-mcp 通过标准输入/输出或HTTP/SSE与AI模型无缝交互,极大地提升了AI应用的智能化和用户体验。

whereami-mcp 核心能力

动态资源访问地理位置信息

whereami-mcp的核心功能之一是通过location://{type}资源动态获取地理位置信息。用户可以通过指定不同的{type}参数,例如ipcountrycity等,来获取对应的地理位置数据。这种动态资源访问的方式,使得AI模型能够灵活地获取所需的地理位置信息,而无需预先定义所有可能的地理位置字段。例如,一个AI助手可以利用这个功能,根据用户的IP地址,动态地回答“我现在在哪个城市?”或者“我的IP地址是什么?”等问题。这种方式简化了数据获取流程,提高了AI模型与外部数据源交互的效率。技术实现上,whereami-mcp通过解析location://{type}资源请求,调用ipapi.co API获取相应的地理位置数据,并将结果返回给客户端。

一键生成详细地理位置报告

get_location()工具是whereami-mcp提供的另一个核心功能,它能够生成包含IP地址、国家、城市、经纬度、时区等详细信息的地理位置报告。这个报告以Markdown表格的形式呈现,方便用户阅读和理解。对于开发者来说,这个工具可以用于快速验证地理位置服务的准确性,或者用于在AI应用中展示详细的地理位置信息。例如,一个旅游推荐应用可以使用get_location()工具,根据用户的IP地址,生成一份包含用户所在城市、国家、时区等信息的报告,并将其作为推荐旅游目的地的依据。技术实现上,get_location()工具调用ipapi.co API获取所有地理位置字段,并将这些字段格式化为Markdown表格。

自然语言查询地理位置

whereami-mcp支持通过自然语言提示词"Where am I?"来触发get_location()工具,从而获取详细的地理位置报告。这种自然语言查询的方式,使得用户可以通过简单的提问,就能获得所需的地理位置信息,而无需了解复杂的API调用方式。例如,用户可以在Claude Desktop中安装whereami-mcp服务后,直接提问“Where am I?”,AI模型就会自动调用get_location()工具,生成一份包含用户当前地理位置信息的报告。这种方式降低了用户的使用门槛,提高了用户体验。技术实现上,whereami-mcp通过预定义的提示词where_am_i_prompt,将用户的自然语言查询映射到get_location()工具的调用。

强大的错误处理机制

whereami-mcp具备强大的错误处理机制,能够优雅地处理API和网络问题。当ipapi.co API出现故障或者网络连接不稳定时,whereami-mcp不会直接崩溃,而是会返回相应的错误信息,例如“API请求失败”或者“网络连接超时”。这种错误处理机制,保证了whereami-mcp的稳定性和可靠性,避免了因外部依赖问题导致的服务中断。对于开发者来说,这种错误处理机制可以帮助他们更好地调试和优化AI应用,提高用户体验。例如,一个AI助手可以使用whereami-mcp提供的错误信息,向用户解释为什么无法获取地理位置信息,并建议用户检查网络连接或者稍后再试。技术实现上,whereami-mcp通过try-except语句捕获API请求和网络连接可能出现的异常,并将这些异常转换为友好的错误信息。