Skip to main content
Glama
GuardForever

Local Weather MCP Server

by GuardForever
README.md
# 本地 Dify 可用的 MCP Server(HTTP)

这是一个最小可用的 MCP Server,提供 2 个工具:
- `health`:连通性检查
- `get_weather(location)`:按城市名查询当前天气

## 1)安装依赖

如果你有系统 Python:

```bash
pip install -r requirements.txt
```

如果你要使用 Codex 内置 Python 运行时:

```powershell
C:\\Users\\86318\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe -m pip install -r requirements.txt
```

## 2)启动 MCP Server

```bash
python server.py
```

默认监听:
- Host:`0.0.0.0`
- Port:`8787`
- MCP URL:`http://127.0.0.1:8787/mcp`

可选环境变量覆盖:
- `MCP_HOST`
- `MCP_PORT`
- `MCP_PATH`

示例:

```powershell
$env:MCP_PORT='8800'; python .\\server.py
```

## 3)在本地 Dify 接入

在 Dify 的 MCP Server(HTTP)配置里填写:
- Server URL:`http://127.0.0.1:8787/mcp`
- Name:`local-weather`
- Server ID:`local_weather`

保存后,Dify 应该能自动发现以下工具:
- `health`
- `get_weather`

## 4)调用示例

在 Agent 或 Workflow 中让模型调用:
- `health`
- `get_weather`,参数 `location = "Shanghai"`

## 5)常见问题

- 如果 Dify 运行在 Docker 容器里,`127.0.0.1` 指向容器本身,不是宿主机。
  - 通常改用:`http://host.docker.internal:8787/mcp`
- 如果连接失败:
  - 检查端口 `8787` 是否被占用
  - 检查防火墙规则
  - 确认 URL 包含 `/mcp` 路径