MCP Server
by ningwenjie
The MCP (Multi-functional Computing Platform) server is a powerful backend service supporting file access, database connections, API integration, and vector database access. It is designed for integration with large language models like Qwen.
View on GitHub
Last updated: N/A
MCP服务器项目说明
项目概述
MCP(多功能计算平台)服务器是一个功能强大的后端服务,支持文件访问、数据库连接、API集成和向量数据库访问等多种功能。本项目专为与通义千问(Qwen)等大型语言模型集成而设计,提供了完整的Docker部署配置和通义千问调用示例。
项目结构
mcp_server/
├── src/ # 源代码目录
│ ├── __init__.py # 初始化模块
│ ├── config.py # 配置管理
│ ├── server.py # 服务器主类
│ └── modules/ # 功能模块
│ ├── __init__.py # 模块注册
│ ├── file_module.py # 文件访问模块
│ ├── database_module.py # 数据库连接模块
│ ├── api_module.py # API集成模块
│ └── vector_module.py # 向量数据库模块
├── docker/ # Docker配置
│ ├── Dockerfile # Docker镜像配置
│ └── docker-compose.yml # Docker Compose配置
├── examples/ # 示例代码
│ ├── qwen_client.py # 通义千问客户端库
│ └── qwen_example.py # 通义千问使用示例
├── docs/ # 文档
│ ├── user_guide.md # 用户指南
│ ├── api_docs.md # API文档
│ └── qwen_examples.md # 通义千问示例说明
├── test_server.py # 服务器测试脚本
├── test_qwen_client.py # 通义千问客户端测试脚本
├── main.py # 主入口文件
└── requirements.txt # 依赖列表
功能特性
- 文件访问:上传、下载、列表和删除文件
- 数据库连接:MongoDB集成,支持文档的增删改查
- API集成:支持调用外部API服务
- 向量数据库:支持向量存储和相似度搜索
- Docker部署:完整的Docker配置,支持一键部署
- 通义千问集成:提供通义千问调用MCP服务器的客户端和示例
快速开始
安装
- 克隆项目代码:
git clone https://github.com/ningwenjie/mcp_server
cd mcp_server
- 使用Docker Compose启动服务:
docker-compose -f docker/docker-compose.yml up -d
- 验证服务是否正常运行:
curl http://localhost:8000/health
使用通义千问客户端
from examples.qwen_client import QwenMCPClient
# 初始化客户端
client = QwenMCPClient("http://localhost:8000")
# 上传文件
file_info = client.upload_file("example.txt")
# 存储向量
vector = [0.1, 0.2, 0.3] * 512 # 1536维向量
metadata = {"text": "这是一个示例文本", "source": "通义千问"}
vector_info = client.store_vector("qwen_embeddings", vector, metadata)
# 搜索向量
query_vector = [0.15, 0.25, 0.35] * 512
search_results = client.search_vector("qwen_embeddings", query_vector, top_k=3)
文档
详细文档请参阅:
测试
运行服务器测试:
python test_server.py
运行通义千问客户端测试:
python test_qwen_client.py
依赖
- Python 3.10+
- FastAPI
- Uvicorn
- PyMongo
- FAISS
- Docker (用于部署)
详细依赖列表请参阅 requirements.txt
。