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}
参数,例如ip
、country
、city
等,来获取对应的地理位置数据。这种动态资源访问的方式,使得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请求和网络连接可能出现的异常,并将这些异常转换为友好的错误信息。