Stadia地图MCP服务器(TypeScript)
这是一个模型上下文协议(MCP)服务器 它为AI助手提供了对Stadia Maps API的访问,以实现位置服务、地理编码、路由和地图功能。
能力
- 地球上任何地方的时间信息
- 当前时间 - 时区信息(ID、UTC偏移以及夏令时/夏令时等特殊偏移是否生效)
- 地理编码
- 地址查找 - 地点搜索(POI,如餐馆、咖啡馆等)
- 静态地图图像生成(包括标记和路线叠加)
- 路线和旅行时间
- 等时线(可达范围;时间和距离轮廓)
用例
这里只是提示LLM的几种方法 使用工具:
- “东京现在几点了?”
- “给我做一张地图,显示从Depoo Turg到Põhjala Tap Room的步行路线。”
- “Põhjala自来水室现在开放吗?使用Stadia地图获取此信息。”
- “对所附电子表格中的地址进行地理编码。”
快速启动
建筑
我们将使用 bun 对于我们所有的指示, 但你可以使用 npm 我也是。
- 跑
bun install以获取依赖关系。 - 然后,执行构建脚本:
bun run build.
构建代码应位于 build 目录现在。
配置
此MCP服务器需要Stadia Maps API密钥。 按照指示操作 这里 获取您的免费密钥。 然后,设置 API_KEY 运行服务器时的环境变量。
集成示例
API密钥在手,这里有几种方法可以使用MCP服务器。
克劳德桌面
看 Claude桌面设置 详细说明 使用Claude Desktop配置此MCP服务器。 Claude Desktop是测试工作流的好工具。
曲速
看 扭曲设置 详细说明 使用此MCP服务器设置Warp。 Warp是一个强大的代理环境,它使用LLM代表您做事。 而你需要上传一个文件给克劳德, Warp可以直接访问文件, 在您的计算机上编写代码并执行程序。
与Stadia Maps MCP配合使用,它是执行批量地理编码等任务的强大工具, 空间过滤数据集等。
与Anthropic SDK的程序化集成
对于希望以编程方式将MCP服务器集成到TypeScript应用程序中的开发人员来说, 我们有一个 Anthropic SDK集成示例. 此示例演示了如何:
- 从代码连接到MCP服务器
- 与Claude的API集成,用于自然语言查询
- 通过MCP服务器使用Stadia Maps API增强克劳德的空间智能
提示和技巧
LLM远非完美, 有时你需要在制作提示时考虑一下 以获得良好的结果。
如果可能,请具体说明要使用哪种工具
有时,模型需要微调才能使用正确的工具。 例如,如果你要求开放时间, 许多模特会尝试在网上搜索。 模型并不总是很容易在网上找到这些信息。
例如,看看模型在这里做什么:
A model struggling to find opening hours online
您可以轻推模型以使用此MCP中的工具,如下所示:
A model using the Stadia Maps API after a different prompt
发挥创意
LLMs有很多能力,但他们不能总是做所有事情。 作为一个例子,让我们来看看在电子表格中批量地理编码地址的一种方法。
首先,在Claude Desktop中附加一个Excel表,其中一列中有几个地址。
提示: 对电子表格中的所有地址进行地理编码。将地理编码的纬度和经度作为新列添加到工作表中。
在撰写本文时,Claude无法生成电子表格附件 直接,但 _能_ 生成一个HTML页面或其他为您生成它的代码! 事实上,Claude Desktop可能会问你是否需要下载Excel表格, 但它只会继续为你生成这个。
这种创造力是必要的,尤其是在与电流互动时 通过通常的用户界面生成LLM。 MCP的强大功能 你可以通过代码与它们交互, 这可以克服这些限制中的一些,以提供令人愉快的用户体验。
自定义它!
就像人类一样,LLMs在获得合适的工作工具时表现更好。 就像一个大师级的工匠,你可能需要 _一些_ 专家知识 了解如何最好地组合合适的工具和材料。
此外,模型有上下文限制。 虽然有先进的技术可以从中挤出更多, 您只能通过根据您需要的特定API功能定制MCP来获益。 更不用说,它将 _许多_ 只需使用所需工具,操作起来更便宜 对于特定的上下文。 在一个简单的演示中,工具模式是上下文成本的绝大多数! 如果你将套件构建到大约10个工具,你最终可能会得到数万个输入令牌。
这个项目是一个起点, 我们在整个过程中都留下了评论 index.ts 注意到我们构建工具的方法, 以及如何为您的用例量身定制它们。
