MCP服务器存储API

基于FastAPI的MCP服务器存储后端服务,提供MCP服务器、活动日志和点赞资源的CRUD API。

  • by pbkdpwls
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 pbkdpwls/pocket-mcp-api

使用说明

Pocket MCP服务器商店API

这是一个基于FastAPI的MCP Server Store后端服务。它提供了针对MCP服务器、活动日志、点赞资源的CRUD(创建、读取、更新、删除)API。

要求

  • Python 3.11及以上版本
  • PostgreSQL 13及以上版本
  • FastAPI

本地开发环境(.venv)

  1. 虚拟环境的创建与激活
    python3 -m venv .venv
    source .venv/bin/activate
    
  2. 安装依赖项
    pip install --upgrade pip
    pip install -e .
    
  3. 设置环境变量
    • .env 请参考文件 DATABASE_URL 将其调整为所需的值。
  4. 准备数据库
    createdb pocket
    
  5. 应用程序运行
    uvicorn pocket.app.main:app --reload
    
  6. 查看文档
    • Swagger UI:http://localhost:8000/docs
    • ReDoc: http://localhost:8000/redoc(中文可表述为:“ReDoc 文档界面:http://localhost:8000/redoc”)

基于Docker的运行环境

  1. 容器构建与运行
    docker-compose up --build
    
  2. 基本服务
    • API: http://localhost:8000
    • PostgreSQL: 本地主机:5432 (用户名/密码: pocket)

项目结构

pocket/
├── app/
│   ├── api/
│   │   └── v1/
│   │       └── endpoints/
│   ├── core/
│   ├── models/
│   └── schemas/
├── Dockerfile
├── docker-compose.yml
├── main.py
├── pyproject.toml
└── README.md

OpenAPI文档

在FastAPI自带的Swagger UI中,可以查看并测试整个API规范。 /docs 使用路径时,JSON模式、请求/响应示例、查询参数说明等会自动显示。

数据库初始化

RUN_MIGRATIONS_ON_STARTUP=true 在设置环境变量时,在应用程序启动时使用SQLAlchemy create_all执行此操作后,将创建所需的表。在生产环境中,建议使用单独的迁移工具(如Alembic等)。