Minecraft命令处理服务器

基于FastAPI、Celery、Redis、WebSockets、LangChain和CrewAI构建的Minecraft命令处理服务器,提供API和WebSocket接口执行命令,支持异步任务处理和AI辅助命令生成。

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

使用说明

Python MCP Server

基于FastAPI、Celery、Redis、WebSockets、LangChain和CrewAI构建的Minecraft命令处理服务器。

功能特点

  • 通过API和WebSocket接口执行Minecraft命令
  • 使用Celery进行异步任务处理
  • 实时WebSocket通信
  • 使用LangChain和CrewAI进行AI辅助命令生成和任务处理
  • Redis作为消息队列和结果后端

项目结构

app/
  ├── api/                  # API接口
  │   ├── endpoints/        # REST API端点
  │   └── websockets/       # WebSocket接口
  ├── core/                 # 核心配置
  ├── models/               # 数据库模型
  ├── schemas/              # Pydantic模型
  ├── services/             # 业务服务
  ├── utils/                # 工具函数
  └── workers/              # Celery工作者
      ├── agents/           # AI代理
      └── tasks/            # Celery任务

安装与运行

前提条件

  • Python 3.10+
  • Docker和Docker Compose (可选)

使用Docker运行

  1. 复制环境变量示例文件并根据需要修改:
cp .env-example .env
  1. 使用Docker Compose启动服务:
docker-compose up

本地开发

  1. 创建并激活虚拟环境:
python -m venv .venv
source .venv/bin/activate  # Linux/Mac
# 或
.venv\Scripts\activate  # Windows
  1. 安装依赖:
pip install -r requirements.txt
  1. 复制环境变量示例文件并根据需要修改:
cp .env-example .env
  1. 启动Redis(如果没有使用Docker):
redis-server
  1. 启动FastAPI服务:
uvicorn app.main:app --reload
  1. 在另一个终端启动Celery工作者:
celery -A app.workers.celery_worker worker --loglevel=info

API文档

启动服务后,可以通过以下URL访问API文档:

  • Swagger UI: http://localhost:8000/docs
  • ReDoc: http://localhost:8000/redoc

WebSocket连接

可以通过以下URL连接WebSocket:

ws://localhost:8000/api/v1/ws/connect/{client_id}

许可证

MIT