MCP服务器

一个基于Python的MCP服务器,支持天气警报和对话代理功能,并提供Docker支持以便于部署。

  • by Muhammadaffan05
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 muhammadaffan05/mcp

使用说明

读取文件:pyproject.toml 运行工具 读取文件:mcpserver/requirements.txt 以下是您的项目的简要而清晰的自述文件,涵盖了MCP服务器、使用和Docker集成:


MCP碰撞课程

该项目演示了如何使用Python构建MCP(模型上下文协议)服务器并与之交互,支持天气警报和会话代理。它还包括Docker支持,便于部署。

特性

  • 天气警报工具:
    使用美国国家气象局API获取美国任何州的实时天气警报。

  • 会话代理:
    用途 langchain-groq 以及MCP工具,以实现与内存的基于聊天的交互。

    所用型号: llama-3.3-70b-versatile (通过ChatGroq)

  • MCP服务器和客户端:
    包括用于工具调用和聊天的服务器和客户端实现。

  • Docker支持:
    在容器化环境中轻松构建和运行服务器。

项目结构

.
├── main.py
├── pyproject.toml
├── README.md
├── server/
│   ├── weather.py         # Weather tool implementation
│   ├── client.py          # Chat client using MCPAgent
│   └── weather.json       # MCP tool configuration
├── mcpserver/
│   ├── server.py          # Example MCP server
│   ├── client-stdio.py    # Example stdio client
│   ├── client-sse.py      # Example SSE client
│   ├── Dockerfile         # Docker setup for server
│   └── requirements.txt   # Minimal requirements for Docker
└── .venv/                 # Virtual environment (ignored)

入门指南

1.克隆存储库

git clone https://github.com/Muhammadaffan05/MCP.git
cd MCP

2.设置虚拟环境(推荐)

uv venv --python=python3.13
source .venv/bin/activate
uv add -r pyproject.toml

3.配置环境变量

创建一个 .env 在根目录下创建文件,或在您的环境中设置以下内容:

  • GROQ_API_KEY (用于语言模型访问)

4.运行MCP服务器

python mcpserver/server.py

5.运行客户端

python server/client.py

或者尝试使用stdio客户端:

python mcpserver/client-stdio.py

Docker使用

在Docker中构建并运行服务器:

cd mcpserver
docker build -t mcp-server .
docker run -p 8000:8000 mcp-server
  • Dockerfile使用Python 3.11,安装依赖关系 uv,并运行MCP服务器。

依赖项

  • Python 3.13+(或Docker的3.11+)
  • httpx
  • 长链
  • mcp使用
  • mcp[cli]
  • 嵌套异步

所有依赖关系都通过以下方式管理 pyproject.toml 和 uv.

备注

  • .venv/, __pycache__/,其他生成的文件将被忽略。
  • 为了获得最佳效果,请使用最新稳定的Python版本。
  • 确保根据需要设置API键和环境变量。

如果你想把这个保存到你的 README.md 或者需要任何更改!