上下文管理服务

ContextBase是一个基于Model Context Protocol (MCP)的服务器,为AI代理、助手和应用程序提供用户上下文存储、检索和管理功能。

  • by imfeniljikadara
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 imfeniljikadara/contextbase

使用说明

ContextBase(MCP服务器)

ContextBase–用于人工智能代理、助手和应用程序的模型上下文协议(MCP)服务器,使用简单的API存储、检索和管理每个用户的上下文。

特性

  • 验证系统:使用JWT和bcrypt进行安全的用户身份验证
  • 内存管理:用于存储和检索内存数据的API端点
  • 记录系统:全面记录用户操作
  • 现代技术栈:使用TypeScript、Fastify、Prisma ORM构建
  • 数据库集成:PostgreSQL用于持久存储
  • 缓存:Redis用于高性能缓存

先决条件

  • Node.js(v14或更高版本)
  • PostgreSQL
  • 雷迪斯
  • Docker和Docker Compose(可选,用于容器化部署)

安装

  1. 克隆存储库

    git clone https://github.com/imfeniljikadara/contextbase.git
    cd mcp
    
  2. 安装依赖项

    cd mcp-server
    npm install
    
  3. 设置环境变量 创建一个 .env 文件在 mcp-server 包含以下变量的目录:

    DATABASE_URL=postgresql://username:password@localhost:5432/mcp
    REDIS_HOST=localhost
    REDIS_PORT=6379
    JWT_SECRET=your_jwt_secret
    PORT=3000
    
  4. 运行数据库迁移

    npx prisma migrate dev
    
  5. 启动服务器

    npm start
    

    或者使用Docker:

    docker-compose up
    

API终点

  • 认证

    • POST /api/auth/register -注册新用户
    • POST /api/auth/login -登录并获取JWT令牌
  • 记忆

    • GET /api/memory -获取所有回忆
    • POST /api/memory -创建新内存
    • GET /api/memory/:id -获取特定内存
    • PUT /api/memory/:id -更新内存
    • DELETE /api/memory/:id -删除内存
  • 日志

    • GET /api/logs -获取用户操作日志

发展

  • 在开发模式下运行:

    npm run dev
    
  • 运行测试:

    npm test
    

项目结构

mcp-server/
├── prisma/              # Database schema and migrations
├── src/
│   ├── api/             # API routes and controllers
│   ├── config/          # Configuration files
│   ├── db/              # Database connections (PostgreSQL, Redis)
│   ├── middleware/      # Custom middleware
│   ├── models/          # Data models
│   ├── services/        # Business logic
│   ├── utils/           # Utility functions
│   └── index.ts         # Application entry point
├── scripts/             # Helper scripts
├── .env                 # Environment variables
└── package.json         # Dependencies and scripts

许可证

麻省理工学院