ContextBase (MCP Server)

ContextBase (MCP Server)

By imfeniljikadara GitHub

A mcp server for storing and managing user context for ai apps via api

Overview

what is ContextBase?

ContextBase is a Model Context Protocol (MCP) server designed for AI agents, assistants, and applications to store, retrieve, and manage user-specific context through a simple API.

how to use ContextBase?

To use ContextBase, clone the repository, install dependencies, set up environment variables, run database migrations, and start the server. You can interact with the API endpoints for authentication and memory management.

key features of ContextBase?

  • Secure user authentication using JWT and bcrypt
  • API endpoints for memory management
  • Comprehensive logging of user actions
  • Built with TypeScript, Fastify, and Prisma ORM
  • PostgreSQL for persistent storage and Redis for caching

use cases of ContextBase?

  1. Storing user preferences for personalized AI interactions
  2. Managing user context for AI-driven applications
  3. Logging user actions for analytics and debugging

FAQ from ContextBase?

  • What technologies does ContextBase use?

ContextBase is built with TypeScript, Fastify, and uses PostgreSQL and Redis for data management.

  • Is ContextBase suitable for production use?

Yes, ContextBase is designed for production environments with secure authentication and efficient memory management.

  • How can I contribute to ContextBase?

You can contribute by submitting issues or pull requests on the GitHub repository.

Content

ContextBase (MCP Server)

ContextBase – A Model Context Protocol (MCP) server for AI agents, assistants, and apps which store, retrieve, and manage per-user context using a simple API.

Features

  • Authentication System: Secure user authentication using JWT and bcrypt
  • Memory Management: API endpoints for storing and retrieving memory data
  • Logging System: Comprehensive logging of user actions
  • Modern Tech Stack: Built with TypeScript, Fastify, Prisma ORM
  • Database Integration: PostgreSQL for persistent storage
  • Caching: Redis for high-performance caching

Prerequisites

  • Node.js (v14 or higher)
  • PostgreSQL
  • Redis
  • Docker and Docker Compose (optional, for containerized deployment)

Installation

  1. Clone the repository

    git clone https://github.com/imfeniljikadara/contextbase.git
    cd mcp
    
  2. Install dependencies

    cd mcp-server
    npm install
    
  3. Set up environment variables Create a .env file in the mcp-server directory with the following variables:

    DATABASE_URL=postgresql://username:password@localhost:5432/mcp
    REDIS_HOST=localhost
    REDIS_PORT=6379
    JWT_SECRET=your_jwt_secret
    PORT=3000
    
  4. Run database migrations

    npx prisma migrate dev
    
  5. Start the server

    npm start
    

    Or using Docker:

    docker-compose up
    

API Endpoints

  • Authentication

    • POST /api/auth/register - Register a new user
    • POST /api/auth/login - Login and get JWT token
  • Memory

    • GET /api/memory - Get all memories
    • POST /api/memory - Create a new memory
    • GET /api/memory/:id - Get a specific memory
    • PUT /api/memory/:id - Update a memory
    • DELETE /api/memory/:id - Delete a memory
  • Logs

    • GET /api/logs - Get user action logs

Development

  • Run in development mode:

    npm run dev
    
  • Run tests:

    npm test
    

Project Structure

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

License

MIT

No tools information available.
No content found.