What is MCP Server?
MCP Server is a multifunctional computing platform designed to provide robust backend services, including file access, database connections, API integration, and vector database access, specifically tailored for integration with large language models like Qwen.
How to use MCP Server?
To use MCP Server, clone the project repository, set up the Docker environment, and utilize the provided client library to interact with the server functionalities.
Key features of MCP Server?
- File access: Upload, download, list, and delete files.
- Database connection: Integration with MongoDB for CRUD operations.
- API integration: Support for calling external API services.
- Vector database: Storage and similarity search for vectors.
- Docker deployment: Complete Docker configuration for one-click deployment.
- Qwen integration: Client and examples for calling MCP Server from Qwen.
Use cases of MCP Server?
- Managing files in a cloud environment.
- Performing database operations for applications.
- Integrating with external APIs for enhanced functionality.
- Storing and searching vector embeddings for machine learning applications.
FAQ from MCP Server?
- Can MCP Server handle large files?
Yes, MCP Server is designed to manage file operations efficiently.
- Is Docker required to run MCP Server?
Yes, Docker is used for deployment, but you can also run it locally without Docker if preferred.
- What programming languages are supported?
MCP Server is primarily developed in Python, but it can be accessed via any language that can make HTTP requests.
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
。