Token导航 LogoToken导航

MCP Server · AI代理

And Plugins

一个支持HTTP REST API和原生MCP协议的模块化天气查询服务器,提供当前天气和5天天气预报功能,适用于需要天气数据的应用集成。

stdio官方级别未说明来源级核验工具 2
位置天气模块化架构FastAPIClaudeAPI集成Claude Desktop

快速开始

作者 / 组织
deepanshudave
提供方
deepanshudave

工具数量

2

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

And Plugins 属于AI代理类 MCP Server,公开资料标注 2 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前要先准备 API Key。

分类

AI代理

传输方式

stdio

认证方式

API Key

部署方式

公开资料未说明

安装与配置

安装命令

pip install -e .

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 2 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

MCP服务器和插件

这个项目是一个模块化的MCP(模型上下文协议)服务器,使用FastAPI支持包括天气功能在内的多个客户端。它同时提供HTTP REST API和原生MCP协议支持,以便与Claude Desktop和其他MCP兼容客户端进行集成。

架构概述

*完整的系统架构,展示了HTTP桥接和原生MCP集成路径*

选项1:HTTP桥接集成

Claude Desktop → MCP HTTP Bridge → HTTP API Server → Weather Client → OpenWeatherMap API
     ↓              ↓                    ↓                ↓              ↓
   User asks    Converts MCP        Validates API     Processes      Returns weather
  "weather?"   to HTTP requests      key & routes     request        data to user

选项2:原生MCP集成

Claude Desktop → Native MCP Server → Weather Client → OpenWeatherMap API
     ↓               ↓                    ↓              ↓
   User asks     Direct stdio        Processes       Returns weather
  "weather?"    protocol comm.      request         data to user

主要区别:

  • HTTP桥接器兼容Python 3.9+,通过HTTP层进行API密钥验证
  • 原生MCP(多点触控处理器)要求:Python 3.10+,直接协议通信,可选API密钥

详细流程示例

用户请求: *“伦敦的天气怎么样?”*

HTTP桥接流:
1. Claude Desktop → "get_current_weather(location: 'London')" → MCP HTTP Bridge
2. MCP HTTP Bridge → POST /tools/get_current_weather + API Key → HTTP Server
3. HTTP Server → Validates "api_http_bridge_***" → Weather Client  
4. Weather Client → GET weather?q=London → OpenWeatherMap API
5. OpenWeatherMap → Weather Data → Weather Client → HTTP Server
6. HTTP Server → Logs "Claude Desktop HTTP Bridge executed tool" → MCP Bridge
7. MCP Bridge → Weather Response → Claude Desktop → User
原生MCP流
1. Claude Desktop → "get_current_weather(location: 'London')" → Native MCP Server
2. Native MCP Server → Logs "Claude Desktop MCP Native executed tool" → Weather Client
3. Weather Client → GET weather?q=London → OpenWeatherMap API  
4. OpenWeatherMap → Weather Data → Weather Client → Native MCP Server
5. Native MCP Server → Weather Response → Claude Desktop → User

特点/功能

  • 天气工具使用OpenWeatherMap API查看当前天气状况和5天天气预报
  • 双协议支持以下是原文内容的翻译:“HTTP REST API”和“native MCP stdio protocol”
  • API密钥认证使用安全API密钥进行客户端识别和使用追踪
  • 客户追踪客户端API访问和工具使用的全面日志记录
  • Claude 桌面集成即开即用的配置文件,实现无缝集成
  • 模块化架构可扩展的客户端系统,用于添加新工具
  • 热重载带有自动代码重新加载功能的开发服务器
  • 集中式缓存Python字节码缓存组织在 .cache/pycache/
  • 全面日志记录用于调试、监控和客户端分析的详细日志记录

快速入门

1. 安装依赖项

pip install -e .

2. 配置环境

复制 .env.example 到;向;对于;为了;由 .env 并添加您的OpenWeatherMap API密钥:

OPENWEATHERMAP_API_KEY=your_api_key_here
LOG_LEVEL=INFO
PYTHONPYCACHEPREFIX=.cache/pycache

3. 启动服务器

./scripts/start.sh

4. 测试API

# Test HTTP API with authentication
./test/check_endpoints.sh

# Test Native MCP server authentication (optional)
./test/check_native_mcp.sh

5. 停止服务器

./scripts/stop.sh

Claude桌面集成

这个项目支持两种与Claude Desktop的集成方法,两者都 API密钥认证 用于客户追踪:

选项1:HTTP桥接(推荐用于Python 3.9+)

使用将MCP协议转换为HTTP REST调用的HTTP桥接器:

{
  "mcpServers": {
    "weather-server": {
      "command": "
/mcp-server-env/bin/python",
      "args": ["
/mcp_http_bridge.py"],
      "env": {
        "SERVER_URL": "http://localhost:8008",
        "API_KEY": "api_http_bridge_3f8a2c9d1e6b4f7a8c5d2e9f1a3b6c8d"
      }
    }
  }
}

复制 claude-desktop-config-http-bridge.json.example 并更新路径。

选项2:原生MCP(需要Python 3.10+)

使用原生的MCP stdio协议:

{
  "mcpServers": {
    "weather-server": {
      "command": "
/mcp-server-env/bin/python",
      "args": ["-m", "src.mcp_server"],
      "env": {
        "API_KEY": "api_mcp_native_3f8a2c9d1e6b4f7a8c5d2e9f1a3b6c8d"
      }
    }
  }
}

复制 claude-desktop-config-native-mcp.json.example 并更新路径。

身份验证与客户端追踪

API密钥认证

两种集成方法均支持使用API密钥进行客户端身份验证和使用追踪:

可用的API密钥:

  • api_mcp_native_3f8a2c9d1e6b4f7a8c5d2e9f1a3b6c8d → Claude Desktop MCP 本机(或:原生)
  • api_http_bridge_3f8a2c9d1e6b4f7a8c5d2e9f1a3b6c8d → Claude Desktop HTTP 桥接器

使用追踪

所有API调用均记录有客户端标识:

2025-09-09 14:42:30,882 - src.middleware.auth - INFO - API access: Claude Desktop MCP Native - Key: api_mcp_***
2025-09-09 14:42:30,883 - __main__ - INFO - Client 'Claude Desktop MCP Native' executing tool: get_current_weather

日志位置: logs/mcp-server.log

认证行为

HTTP API(端口8008):

  • ✅ 公共终端节点: /, /health, /docs, /openapi.json
  • 🔐 受保护的端点: /tools, /tools/{tool_name} (需要 X-API-Key 头球
  • 无效/缺失API密钥:HTTP 401错误

原生MCP服务器:

  • ✅ 有效的API密钥:已识别客户端,使用情况已记录
  • ⚠️ 无API密钥:已记录警告,以“匿名MCP客户端”模式运行
  • 无效的API密钥:服务器启动失败

API 端点

服务器信息

根端点

GET http://localhost:8008/

返回服务器信息和已加载的客户端

健康检查

GET http://localhost:8008/health

返回服务器健康状态和客户端状态

列出所有工具 🔐(锁形符号,常用于表示密码、保密或安全)

GET http://localhost:8008/tools
X-API-Key: api_http_bridge_3f8a2c9d1e6b4f7a8c5d2e9f1a3b6c8d

返回所有可用工具及其模式

天气工具

获取当前天气 🔐(锁形符号,常用于表示安全、保密或密码等含义)

POST http://localhost:8008/tools/get_current_weather
Content-Type: application/json
X-API-Key: api_http_bridge_3f8a2c9d1e6b4f7a8c5d2e9f1a3b6c8d

{
  "location": "London"
}

获取天气预报 🔐(锁形符号,常用于表示密码或保密)

POST http://localhost:8008/tools/get_weather_forecast
Content-Type: application/json
X-API-Key: api_http_bridge_3f8a2c9d1e6b4f7a8c5d2e9f1a3b6c8d

{
  "location": "New York",
  "days": 3
}

可用的天气工具

  1. 获取当前位置天气(单位默认为公制)

- 获取任意地点的当前天气状况 - 位置可以是城市名、“城市,国家”,或者坐标 - 温度始终以摄氏度表示

  1. 获取天气预报(地点,天数=3,单位=公制)

- 获取1-5天的天气预报 - 与当前天气相同的位置选项 - 温度一律以摄氏度表示

测试

交互式测试

  • 参观 http://localhost:8008/docs 用于 Swagger UI
  • 使用不同参数测试所有端点
  • 查看各城市的实时天气数据

命令行测试

# Test current weather (with API key)
curl -X POST "http://localhost:8008/tools/get_current_weather" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: api_http_bridge_3f8a2c9d1e6b4f7a8c5d2e9f1a3b6c8d" \
  -d '{"location": "Paris"}'

# Test weather forecast (with API key)
curl -X POST "http://localhost:8008/tools/get_weather_forecast" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: api_http_bridge_3f8a2c9d1e6b4f7a8c5d2e9f1a3b6c8d" \
  -d '{"location": "Tokyo", "days": 5}'

# Test without API key (will return 401 error)
curl -X POST "http://localhost:8008/tools/get_current_weather" \
  -H "Content-Type: application/json" \
  -d '{"location": "London"}'

Claude桌面端测试

配置完成后,请询问Claude Desktop:

  • “伦敦现在的天气怎么样?”
  • “给我一份纽约5天的天气预报”
  • “比较悉尼和温哥华的天气”

项目结构

├── src/
│   ├── app.py                 # FastAPI HTTP server
│   ├── mcp_server.py         # Native MCP stdio server
│   ├── clients/
│   │   └── weather/          # Weather client implementation
│   ├── core/                 # Base client classes
│   ├── types/                # Common type definitions
│   └── utils/                # Utilities and config
├── scripts/
│   ├── start.sh              # Server startup script
│   └── stop.sh               # Server stop script
├── test/
│   └── check_endpoints.sh    # API testing script
├── mcp_http_bridge.py        # MCP to HTTP bridge
├── run.py                    # Server entry point
└── claude-desktop-config-*.json.example  # Claude Desktop configs

发展

添加新客户

  1. 在(指定位置)创建一个新的客户端目录 src/clients/
  2. 实现一个扩展自(某基类的)客户端类 BaseClient
  3. 定义工具及其架构
  4. 在加载器中注册客户端

环境变量

  • OPENWEATHERMAP_API_KEY天气功能所需的(条件/设置)
  • LOG_LEVEL日志级别(INFO,DEBUG,WARNING,ERROR)
  • PYTHONPYCACHEPREFIX集中式的Python缓存位置

虚拟环境

该项目使用了一个虚拟环境 mcp-server-env/ 使用 Python 3.12+ 以获得完整的 MCP 支持。

要求

  • Python 3.10及以上版本
  • OpenWeatherMap API密钥 (支持免费层级)
  • FastAPI 以及依赖项(通过 pip install -e .)

故障排除

常见问题

  1. “工具执行失败”检查API密钥是否已设置 .env 文件
  2. “缺少API密钥”(HTTP 401)确保 API_KEY 在Claude Desktop配置中设置
  3. 无效的API密钥使用身份验证部分中的正确API密钥进行验证
  4. “服务器已断开连接”在Claude Desktop配置中验证Python路径
  5. 导入错误确保已激活虚拟环境并安装了依赖项
  6. 端口冲突确保端口8008可用

日志

  • HTTP服务器检查控制台输出 ./scripts/start.sh
  • 客户跟踪见 logs/mcp-server.log API访问日志
  • MCP桥见 logs/mcp-bridge.log
  • MCP服务器见 logs/mcp-server.log
  • Claude Desktop(可译为“克劳德桌面版”或根据具体语境简化为“克劳德桌面”)检查Claude Desktop的MCP日志

监控客户端使用情况:

# Real-time client tracking
tail -f logs/mcp-server.log | grep "API access"

# Search specific client
grep "Claude Desktop MCP Native" logs/mcp-server.log

工具与能力

工具数量

2

资源数量

0

提示词数量

0

能力标签

天气服务Python本地部署API服务器MCP协议FastAPI模块化架构

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 2 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 需要自备API Key,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到API Key的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
And Plugins

MCP World · 本页

2stdio有1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

And Plugins 怎么安装?

公开资料给出的安装命令是 pip install -e .,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

And Plugins 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

And Plugins 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

And Plugins 需要 API Key 吗?

公开资料标注的认证方式是API Key,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

And Plugins 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP