hello world mcp服务器
此存储库提供 hello-world-mcp-server,使用FastMCP Python框架实现模型上下文协议(MCP)服务器。这使得构建、运行和扩展与客户端通信的MCP服务器变得容易,例如 克劳德, 克莱恩, 光标, VSCode以及更多。
特性
- 天气预报:使用简单的API工具获取实时天气数据。
- 添加工具:基本示例工具,说明如何扩展自己的MCP工具。
- 可扩展和Python:基于 FastMCP,支持可组合性和最小设置。
- 为MCP客户端做好准备:与不断增长的MCP应用生态系统兼容。
先决条件
- Python 3.10+
- 紫外线: 星光sh/uv (推荐,用于快速、独立于依赖关系的执行)
- 一 OpenWeather API密钥 (免费注册)
安装 uv
- 窗户:
irm https://astral.sh/uv/install.ps1 | iex- Mac/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh确保 uvx 安装后在shell中运行:
uvx --help快速入门:从MCP客户端运行
将以下JSON粘贴到MCP兼容客户端(光标, 克莱恩, 克劳德等),在输入您的OpenWeather API密钥后:
{
"mcpServers": {
"hello-world-mcp-server": {
"type": "stdio",
"command": "uvx",
"args": [
"--from",
"git+https://github.com/BapanBigData/helloworld-mcp-server-deployment.git",
"--",
"mcp-server"
],
"env": {
"OPENWEATHER_API_KEY": "your-openweather-api-key"
}
}
}
}配置:
- 替换
your-openweather-api-key使用您自己的密钥(必填)。 - 上面运行的是最新的主分支。客户端通过stdio进行通信。
原理
- 服务器利用 FastMCP 用于通过装饰器定义工具,以实现简单的Python扩展。
- 天气工具使用 OpenWeather API 并且需要您的密钥
OPENWEATHER_API_KEY.
技术概述
- 框架: FastMCP
- 语言: Python 3.12+
- 依赖关系: 看
pyproject.toml(使用mcp[cli],requests) - 入口点: CLI命令
mcp-server执行src/mcpserver/__main__.py其运行FastMCP供电的服务器。 - 配置: 所有敏感值都通过环境变量进行管理。
- 部署: 用户通过以下方式实现零安装
uvx --from git+...意味着您永远不需要手动克隆或pip安装--uvx处理临时沙盒中的依赖关系。
关于FastMCP
FastMCP是一个轻量级的Python框架,用于构建模型上下文协议服务器和客户端。 主要特点:
- 低样板:用装饰器定义工具。
- 灵活性:轻松组合/修改服务器。
- 集成:支持OpenAPI、FastAPI等,可快速创建工具。
- 代理和可组合性:轻松创建代理、多路复用器和转换。
请参阅 FastMCP文档 了解高级功能和用法。
关于 uv 和 uvx
- 紫外线: 一个用Rust编写的速度极快的Python包/项目管理器。提供健壮、可重复的环境和通用锁文件。
- uvx: 一个命令行实用程序,允许直接从Git存储库中即时、独立地执行Python包,而无需显式安装。非常适合运行全局工具/MCP服务器。
更多信息请访问 uv 文档.
环境与安全
- 将您的OpenWeather API密钥放在如上所示的环境中。永远不要将秘密提交给源代码管理。
- 所有运行环境都使用沙盒
uv.
支持
对于问题或功能请求,请在上打开问题 .
______________________________________________________________________
