MCP服务器实现项目集

一组展示各种MCP服务器实现和客户端交互的Model Context Protocol (MCP)项目集合。

  • by dawkareshubham
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 dawkareshubham/mcp-server-study

使用说明

MCP服务器研究项目

一组模型上下文协议(MCP)项目,演示了各种MCP服务器实现和客户端交互。

📋 目录

🔧 先决条件

在运行这些项目之前,请确保已安装以下内容:

  • Python 3.11+ (适用于mcp客户端的Python 3.10+)
  • 紫外线 (Python包安装程序和环境管理器)
  • Git (用于克隆存储库)

安装uv

Windows(PowerShell)

powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

macOS/Linux

curl -LsSf https://astral.sh/uv/install.sh | sh

📦 安装

克隆存储库

git clone https://github.com/dawkareshubham/mcp-server-study.git
cd mcp-server-study

所有项目的快速设置

每个项目使用 uv 用于依赖性管理。您可以根据需要设置单个项目:

# Navigate to a specific project directory
cd <project-name>

# Install dependencies
uv sync

# Activate virtual environment (optional)
source .venv/bin/activate  # On macOS/Linux
.venv\Scripts\activate     # On Windows

📚 项目概述

项目 描述 Python版本 密钥依赖关系
客户端 MCP客户端基本实现 3.11+ MCP[cli]
你好世界 简单的hello world MCP服务器 3.11+ MCP[cli]
mcp客户端 具有OpenAI集成的高级MCP客户端 3.10+ MCP[cli]、OpenAI、dotenv
mcp原语和输入 MCP原语和输入处理示例 3.11+ MCP[cli]
mcp服务器深度部署 可部署的MCP服务器包 3.11+ MCP[cli]
mcp服务器深入功能 具有扩展功能的MCP服务器 3.11+ MCP[cli]、枕头、pyautogui、请求
mcp服务器http流已更新 HTTP流式MCP服务器 3.11+ MCP[cli]
mcp构建国际象棋 Chess.com API MCP服务器,带有玩家统计数据 3.10+ MCP[cli],请求
mcp构建内存跟踪器 使用OpenAI进行矢量存储内存管理 3.10+ mcp[cli],OpenAI
mcp构建客户端代理airbnb内存 带Airbnb和内存的多服务器MCP客户端 3.10+ MCP[cli]、openai、streamlit

🚀 运行项目

1.客户

基本MCP客户端示例。

cd client
uv sync
uv run python main.py

备选方案:

cd client
uv run python client.py  # If using client.py

2.你好世界

简单的hello world MCP服务器演示。

cd helloworld
uv sync
uv run python main.py

3.mcp客户端

MCP客户端与OpenAI集成。需要环境配置。

cd mcp-client
uv sync

# Create .env file with your OpenAI API key
echo "OPENAI_API_KEY=your_api_key_here" > .env

# Run the main client
uv run python main.py

# Or run specific clients
uv run python client_simple.py
uv run python client_query.py

# Run the server
uv run python server.py

4.mcp原语和输入

MCP原语和输入处理的示例。

cd mcp-primitives-and-inputs
uv sync

# Run main example
uv run python main.py

# Run specific examples
uv run python prompt.py
uv run python resources.py

5.mcp服务器深度部署

具有适当结构的可部署MCP服务器包。

cd mcp-server-deepdive-deployment
uv sync

# Install the package in development mode
uv pip install -e .

# Run the server using the installed command
mcp-server

# Or run directly
uv run python main.py

6.mcp服务器深入功能

MCP服务器具有高级功能,包括屏幕截图功能、加密操作和文件处理。

cd mcp-server-deepdive-functionality
uv sync

# Run main server
uv run python main.py

# Run specific functionality
uv run python crypto.py
uv run python screenshot.py
uv run python local.py
uv run python other_inputs.py

7.mcp服务器http流已更新

HTTP流式MCP服务器实现。

cd mcp-server-http-streamable-updated
uv sync

# Run the server
uv run python server.py

# Or run main
uv run python main.py

8.mcp构建国际象棋

MCP服务器,通过公共API提供对Chess.com玩家数据的访问。

cd mcp-build-chess
uv sync

# Install the package in development mode
uv pip install -e .

# Run using the installed command
chess

# Or run with PYTHONPATH
$env:PYTHONPATH="src"  # Windows PowerShell
uv run python -m chess.server

主要特点:

  • 获取Chess.com玩家资料
  • 检索玩家统计数据(评分、获胜、失败)
  • FastMCP集成
  • 请参阅中的详细README mcp-build-chess/ 文件夹

9.mcp构建内存跟踪器

MCP服务器与OpenAI矢量存储集成,用于内存管理。

cd mcp-build-memory-tracker
uv sync

# Create .env file with your OpenAI API key
echo "OPENAI_API_KEY=your_api_key_here" > .env

# Run the server
uv run python server.py

主要特点:

  • 将内存保存到OpenAI矢量存储
  • 使用语义搜索搜索记忆
  • 持久内存存储
  • OpenAI集成

10.mcp构建客户端代理airbnb内存

高级MCP客户端,同时连接到多个MCP服务器(Airbnb API+内存服务器)。

cd mcp-build-client-agent-airbnb-memory
uv sync

# Create .env file with your OpenAI API key
echo "OPENAI_API_KEY=your_api_key_here" > .env

# Run the client
uv run python client.py

# Or run the Streamlit UI
uv run streamlit run chat_ui.py

主要特点:

  • 多服务器MCP客户端架构
  • 将Airbnb搜索与内存存储集成
  • 基于Streamlit的聊天界面
  • OpenAI函数调用
  • 演示高级MCP模式

📖 项目详细信息

客户端

演示基本客户端操作的基本MCP客户端实现。

关键文件:

  • main.py -主要入口点
  • client.py -客户端实现
  • weather.py -天气相关功能

你好世界

极简主义MCP服务器示例,非常适合理解基础知识。

关键文件:

  • main.py -服务器入口点
  • weather.py -气象服务示例

mcp客户端

采用OpenAI集成的高级客户端实现,用于AI驱动的MCP交互。

关键文件:

  • main.py -主客户端应用程序
  • client_simple.py -简单客户端示例
  • client_query.py -基于查询的客户端
  • server.py -用于测试的本地服务器
  • .env -环境配置(创建此)

环境变量:

OPENAI_API_KEY=your_openai_api_key

mcp原语和输入

演示MCP原语、提示和资源处理。

关键文件:

  • main.py -主要示例
  • prompt.py -及时处理
  • resources.py -资源管理

mcp服务器深度部署

生产就绪的MCP服务器,具有适当的部署包结构。

结构:

mcp-server-deepdive-deployment/
├── src/
│   └── mcpserver/
│       ├── __init__.py
│       ├── __main__.py
│       └── deployment.py
├── main.py
└── pyproject.toml

关键文件:

  • src/mcpserver/deployment.py -部署逻辑
  • src/mcpserver/__main__.py -包裹入口点
  • main.py -替代入口点

mcp服务器深入功能

功能丰富的MCP服务器,具有多种功能。

关键文件:

  • main.py -主服务器
  • crypto.py -加密操作
  • screenshot.py -截图功能(需要显示)
  • local.py -本地文件操作
  • other_inputs.py -各种输入处理
  • notes.txt / log.txt -数据文件

依赖关系:

  • pillow -图像处理
  • pyautogui -屏幕截图功能
  • pyscreeze -屏幕截图
  • requests -HTTP请求

mcp服务器http流已更新

支持流媒体的现代基于HTTP的MCP服务器。

关键文件:

  • server.py -HTTP服务器实现
  • main.py -服务器入口点

mcp构建国际象棋

Chess.com API集成服务器,用于检索玩家档案和统计数据。

关键文件:

  • src/chess/server.py -带FastMCP的主MCP服务器
  • src/chess/chess_api.py -Chess.com API客户端
  • README.md -全面的文件

工具:

  • get_chess_player_profile -获取玩家资料信息
  • get_chess_player_stats -获取详细的游戏统计数据

API集成: 使用Chess.com Public API(无需身份验证)

mcp构建内存跟踪器

内存管理服务器使用OpenAI向量存储进行语义搜索和存储。

关键文件:

  • server.py -带矢量存储集成的FastMCP服务器
  • main.py -替代入口点
  • .env -OpenAI API密钥配置

工具:

  • search_memory -使用语义相似性搜索记忆
  • save_memory -将新记忆保存到矢量存储

依赖关系:

  • 用于向量存储操作的OpenAI API
  • 需要 OPENAI_API_KEY 环境变量

mcp构建客户端代理airbnb内存

多服务器MCP客户端展示了Airbnb搜索和内存集成的高级模式。

关键文件:

  • client.py -多服务器MCP客户端实现
  • chat_ui.py -基于Streamlit的聊天界面
  • main.py -备选客户端运行程序
  • .env -OpenAI API密钥配置

特征:

  • 同时连接到多个MCP服务器
  • 集成Airbnb房源搜索(通过@openbnb/mcp服务器Airbnb)
  • 内存存储和检索(通过内存跟踪服务器)
  • OpenAI函数调用智能工具选择
  • 交互式流媒体用户界面

架构:

  • 客户端连接到两个服务器:Airbnb API服务器+内存跟踪器服务器
  • 组合来自两个服务器的工具
  • 使用OpenAI进行自然语言理解和工具调用

环境变量:

OPENAI_API_KEY=your_openai_api_key

🔍 常用命令

再进行

uv sync

运行Python文件

uv run python <filename>.py

激活虚拟环境

# Windows
.venv\Scripts\activate

# macOS/Linux
source .venv/bin/activate

更新依赖关系

uv sync --upgrade

检查Python版本

python --version

🐛 故障排除

问题:“uv:找不到命令”

解决方案: 使用先决条件部分中的安装命令安装uv。

问题:Python版本不匹配

解决方案: 请确保您已安装Python 3.11+。与核对 python --version.

问题:mcp-client中的OpenAI API错误

解决方案: 确保您的 .env 文件包含有效 OPENAI_API_KEY.

问题:屏幕截图功能不起作用

解决方案: 确保有可用的显示器。在无头系统上,屏幕截图功能可能不起作用。

问题:找不到模块错误

解决方案: 跑 uv sync 在项目目录中安装所有依赖项。

📝 备注

  • 每个项目都是独立的,有自己的依赖关系
  • 使用 uv 实现更好的依赖关系管理和更快的安装
  • 某些项目可能需要额外的环境设置(例如,API密钥)
  • 检查单个项目的README文件以了解具体的配置详细信息

🤝 贡献

您可以自由地探索、修改这些项目,并从中学习。每个都演示了模型上下文协议的不同方面。

📄 许可证

这些是学习MCP实施的研究项目。

👤 作者

Shubham Dawkare