Token导航 LogoToken导航TokenDH.com
MCP Hotels logo
地图位置stdio官方级别未说明来源级核验

MCP Hotels

MCP Server

一个基于Docker的Python服务器,整合了Google Maps API(附近搜索、地理编码)和Meteoblue天气API,为AI代理提供地点搜索和天气查询功能,并支持Nginx侧车认证。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
位置天气AI代理PythonDocker

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

netraluis

提供方

netraluis

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python client_test.py

详细介绍

谷歌附近搜索MCP服务器(带身份验证和天气)

一个用Python编写的可扩展的、Docker化的模型上下文协议(MCP)服务器。它包含了谷歌地图API(附近搜索、地理编码)和Meteoblue Weather API,允许人工智能代理查找位置并检查天气。

它包括一个强大的 Nginx Sidecar 对于承载令牌认证,在不干扰SSE(服务器发送事件)流协议的情况下确保安全性。

特性

  • 谷歌附近搜索工具:通过坐标、半径和关键字查找位置。
  • 地理编码工具:将地址(例如“埃菲尔铁塔”)转换为坐标。
  • 距离矩阵工具:计算两点之间的行程时间和距离。
  • 天气工具:通过Meteoblue获取当前天气和预报。
  • 认证:基于Nginx的承载令牌保护(前向认证兼容)。
  • 模拟支持:禁用使用环境变量测试/dev的实际API调用。
  • Docker化:已准备好进行本地部署和Dokploy等平台。

先决条件

  • Python 3.11+(用于本地开发)
  • Docker&Docker编写
  • 谷歌地图API密钥(已启用API和API地理编码)
  • Meteoblue API密钥(可选,适用于天气)

设置和配置

1.环境变量

复制示例环境文件:

cp .env.example .env

编辑 .env 并填写您的详细信息:

变量描述
GOOGLE_API_KEY您的谷歌地图API密钥。
METEOBLUE_API_KEY您的Meteoblue API密钥(可选)。
MCP_AUTH_TOKEN秘密令牌 对于承载认证(例如。, my-secret-token).
MOCK_GOOGLE_API设置为 true 使用硬编码的谷歌回复(节省学分)。
MOCK_WEATHER_API设置为 true 模拟天气数据。
TRANSPORTsse 对于HTTP服务器(Docker), stdio 对于CLI。
HOST / PORT绑定配置(默认为0.0.0.0:8000)。

建筑

此项目使用 侧车图案 用于身份验证:

  1. Nginx(端口8080): 公共入口点。处理SSL(如果已配置)和 承载令牌身份验证。如果令牌有效,它会将请求代理到Python后端。
  2. Python MCP服务器(端口8000): 内部逻辑。处理MCP协议、工具和API调用。它在没有身份验证逻辑的情况下运行,以确保SSE的稳定性。

运行项目

选项A:Docker部署(建议使用Auth)

这将运行整个堆栈:Nginx(Auth)+Python(Logic)。

  1. 构建并启动容器:
   docker-compose up --build -d
  1. 访问SSE端点 端口8080:

- 网址: http://localhost:8080/sse - 认证: 必修的。发送标头 Authorization: Bearer 或URL参数 ?token=.

  1. 使用客户端脚本进行测试:
   # Ensure local python env is set
   source venv/bin/activate 
   export MCP_AUTH_TOKEN=your_token_from_env
   python client_test.py

选项B:本地Python开发人员(无身份验证)

只直接运行Python后端。这跳过了Nginx,所以 身份验证已禁用.

  1. 创建虚拟环境:
   python3 -m venv venv
   source venv/bin/activate
   pip install -r requirements.txt
  1. 运行服务器:
   export PYTHONPATH=$(pwd)/src
   fastmcp run src/server.py --transport sse --host 0.0.0.0 --port 8000
  1. 访问地址: http://localhost:8000/sse.

项目结构

  • src/server.py:入口点。初始化FastMCP。
  • src/tools/:

- google_nearby.py:Google Places API逻辑。 - geocoding.py:地址到坐标逻辑。 - weather.py:气象蓝天气逻辑。

  • nginx/:

- nginx.conf.template:带有Auth逻辑的Nginx配置模板。

  • docker-compose.yml:Python+Nginx的编排。

Dokloy部署

  1. 将此存储库推送到Git提供商。
  2. 在Dokloy,创造一个新的 应用 (Docker Compose)。
  3. 在Dokloy中设置环境变量(GOOGLE_API_KEY, MCP_AUTH_TOKEN等等)。
  4. 重要提示: 将外部端口(例如域)映射到内部容器端口 8080 (Nginx),而不是8000。

目录标签

目录标签

位置天气AI代理PythonDocker地图服务本地部署天气查询API整合Docker部署

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP