本地MCP服务器

Alice是一个轻量级的本地服务器,专为AI编码环境中的敏捷任务工作流设计,支持项目管理、任务跟踪和消息记录。

  • by soapko
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 soapko/alice-mcp-server

使用说明

Alice-本地MCP服务器

爱丽丝 是一个轻量级的本地服务器,旨在支持AI编码环境中的敏捷任务工作流,如使用模型上下文协议(MCP)的环境。它提供了一个后端,用于在您的计算机上本地管理项目、任务、史诗和消息,具有项目隔离功能,以支持多个不同的软件项目。

请参阅 文档 部分提供详细指南的链接。

主要特点

  • 项目管理: 创建和管理不同的项目。
  • 任务和史诗追踪: 使用任务组织工作,并将其分组为史诗。
  • 消息记录: 为特定任务附加消息或注释。
  • 项目隔离: 所有任务、史诗和消息都适用于一个项目。
  • 本地操作: 使用简单的SQLite数据库完全在本地计算机上运行。
  • MCP集成: 设计用作MCP环境中的工具提供者。

设置

  1. 克隆存储库:

    git clone <repository-url> # Replace with the actual URL
    cd alice-mcp-server
    
  2. 创建并激活Python虚拟环境:

    # Create the environment
    python -m venv venv
    
    # Activate it (Linux/macOS)
    source venv/bin/activate
    
    # Activate it (Windows)
    # venv\Scripts\activate
    
  3. 安装依赖项:

    pip install -r requirements.txt
    

运行服务器

要使用热重新加载启动开发服务器,请执行以下操作:

uvicorn app.main:app --reload

服务器通常在以下时间可用 http://127.0.0.1:8000.

入门指南

  1. 启动服务器 (见上文)。
  2. 创建项目: 发送a POST ……的请求 /projects/ 具有唯一的项目名称。
    { "name": "my-new-project" }
    
  3. 拿到 project_id: 您可以列出项目(GET /projects/)或按名称获取(GET /projects/by-name/my-new-project)以查找分配的整数ID。
  4. 使用项目范围的端点: 任务、史诗和消息的所有后续操作都需要 project_id 在URL路径中(例如。, /{project_id}/tasks/).

项目隔离API结构

Alice在URL路径中使用项目ID来确保数据隔离:

  • 项目管理: /projects/ (例如。, POST /projects/, GET /projects/{project_id})
  • 任务: /{project_id}/tasks/ (例如。, POST /1/tasks/, GET /1/tasks/{task_id})
  • 史诗: /{project_id}/epics/ (例如。, POST /1/epics/, GET /1/epics/{epic_id})
  • 信息: /{project_id}/tasks/{task_id}/messages/ (例如。, POST /1/tasks/5/messages/)

替换 1 与你的实际 project_id.

运行测试

确保已激活虚拟环境并安装了依赖项。然后运行:

pytest

API文档

服务器运行时,您可以在浏览器中访问交互式API文档(由FastAPI提供):

  • Swagger用户界面: http://127.0.0.1:8000/docs
  • 重新记录: http://127.0.0.1:8000/redoc

文档

详细文档可以在 docs/ 目录:

贡献

欢迎投稿!请遵循以下指南:

  • 遵循编码风格(PEP 8, black, isort).
  • 使用类型提示。
  • 记录公共函数和API。
  • 为新功能或错误修复编写单元测试。
  • 在提交更改之前,确保所有测试和过梁都通过。
  • 对于重大更改,请考虑先打开一个问题来讨论方法。