Pocket MCP服务器商店API
这是一个基于FastAPI的MCP Server Store后端服务。它提供了针对MCP服务器、活动日志、点赞资源的CRUD(创建、读取、更新、删除)API。
要求
- Python 3.11及以上版本
- PostgreSQL 13及以上版本
- FastAPI
本地开发环境(.venv)
- 虚拟环境的创建与激活
python3 -m venv .venv
source .venv/bin/activate- 安装依赖项
pip install --upgrade pip
pip install -e .- 设置环境变量
- .env 请参考文件 DATABASE_URL 将其调整为所需的值。
- 准备数据库
createdb pocket- 应用程序运行
uvicorn pocket.app.main:app --reload- 查看文档
- Swagger UI:http://localhost:8000/docs - ReDoc: http://localhost:8000/redoc(中文可表述为:“ReDoc 文档界面:http://localhost:8000/redoc”)
基于Docker的运行环境
- 容器构建与运行
docker-compose up --build- 基本服务
- API: http://localhost:8000 - PostgreSQL: 本地主机:5432 (用户名/密码: pocket)
项目结构
pocket/
├── app/
│ ├── api/
│ │ └── v1/
│ │ └── endpoints/
│ ├── core/
│ ├── models/
│ └── schemas/
├── Dockerfile
├── docker-compose.yml
├── main.py
├── pyproject.toml
└── README.mdOpenAPI文档
在FastAPI自带的Swagger UI中,可以查看并测试整个API规范。 /docs 使用路径时,JSON模式、请求/响应示例、查询参数说明等会自动显示。
数据库初始化
RUN_MIGRATIONS_ON_STARTUP=true 在设置环境变量时,在应用程序启动时使用SQLAlchemy create_all执行此操作后,将创建所需的表。在生产环境中,建议使用单独的迁移工具(如Alembic等)。
