MCP Server (Model Context Protocol)
LocalAbout MCP Server (Model Context Protocol)
An MCP context-management server that stores data in SQLite and communicates in real time over SSE. It is intended for MCP clients that need context to persist between sessions, with REST endpoints for managing that data.
Key features
- 01SQLite context persistence
- 02Real-time SSE communication
- 03REST context CRUD endpoints
- 04Batch context operations
- 05Health and capability endpoints
Use cases
- 01Persisting context between sessions
- 02Writing or updating context in batches
- 03Reading or deleting context through REST
MCP support
Implements MCP, using SSE for real-time updates and JSON-RPC 2.0 messages for context operations.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP Server (Model Context Protocol)
Serveur de gestion de contexte compatible avec le protocole MCP (Model Context Protocol), utilisant SQLite pour la persistance et SSE (Server-Sent Events) pour les communications en temps réel.
Version actuelle : 2.0.0
🚀 Installation
Docker (Une seule commande)
docker run -d --name mcp-server --restart unless-stopped -p 3000:3000 -v "$(pwd)/data":/app/data -e NODE_ENV=docker -e PORT=3000 -e DB_PATH=/app/data/context.db -e LOG_LEVEL=info --memory=512m --cpus=1 --health-cmd="wget -qO- http://localhost:3000/health || exit 1" --health-interval=30s --health-timeout=10s --health-retries=3 --health-start-period=10s --log-driver json-file --log-opt max-size=10m --log-opt max-file=3 maf38/mcp-server:2.0.0
Docker Compose (Installation avancée)
version: '3'
services:
mcp-server:
image: maf38/mcp-server:2.0.0
container_name: mcp-server
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- /path/to/data:/app/data
environment:
NODE_ENV: docker
PORT: 3000
DB_PATH: /app/data/context.db
LOG_LEVEL: info
deploy:
resources:
limits:
memory: 512M
cpus: '1.0'
⚠️ N'oubliez pas de remplacer /path/to/data par le chemin réel où vous voulez stocker la base de données.
Unraid
- Allez dans l'Apps
- Recherchez "MCP Server"
- Cliquez sur Install
🔧 Configuration
Variables d'environnement
Essentielles
PORT: Port d'écoute du serveur (défaut: 3000)DB_PATH: Chemin de la base de données (défaut: /app/data/context.db)
Logging
NODE_ENV: Environnement d'exécution ("docker" pour désactiver les fichiers de logs)LOG_LEVEL: Niveau de log (error, warn, info, http, debug) (défaut: info)
📖 API
Routes MCP
Route SSE (Server-Sent Events)
GET /sse
Établit une connexion SSE pour recevoir les mises à jour en temps réel.
Message MCP
POST /message
Content-Type: application/json
{
"jsonrpc": "2.0",
"method": "context/update",
"params": {
"key": "string",
"value": "string",
"metadata": {
"type": "string",
"timestamp": "string",
"source": "string"
}
}
}
Routes REST
Sauvegarder/Mettre à jour un contexte
POST /context
Content-Type: application/json
{
"key": "string",
"value": "string",
"metadata": {
"type": "string",
"timestamp": "string",
"source": "string"
}
}
Récupérer un contexte
GET /context/:key
Opérations par lots (batch)
POST /context/batch
Content-Type: application/json
[
{
"key": "string",
"value": "string",
"metadata": {
"type": "string",
"timestamp": "string",
"source": "string"
}
}
]
Supprimer un contexte
DELETE /context/:key
Routes système
Vérifier l'état du serveur
GET /health
Obtenir les capacités du serveur
GET /capabilities
🔍 Logging
En environnement Docker
- Les logs sont envoyés vers stdout/stderr
- Accessibles via
docker logs mcp-server - Niveaux de log configurables via
LOG_LEVEL
En environnement standard
- Logs stockés dans le dossier
logs/ - Rotation quotidienne des fichiers
- Compression automatique des anciens logs
- Conservation pendant 14 jours
- Limite de 20MB par fichier
Format des logs
YYYY-MM-DD HH:mm:ss.SSS [LEVEL] [CONTEXT] Message {Metadata}
🔒 Persistance des données
Les données sont stockées dans SQLite à l'emplacement spécifié par DB_PATH.
Pour Docker et Unraid, montez un volume sur /app/data.
🛠️ Développement
Prérequis
- Node.js >= 18
- npm
Installation
npm install
npm run build
npm start
Tests
npm test
📦 Publication Docker
L'image est disponible sur Docker Hub :
- Version stable (2.0.0) :
maf38/mcp-server:2.0.0 - Version latest :
maf38/mcp-server:latest
🔄 Intégration avec GitHub Copilot
Ce serveur implémente le protocole MCP (Model Context Protocol) qui permet à GitHub Copilot de maintenir un contexte persistent entre les sessions. Les fonctionnalités incluent :
- Communication bidirectionnelle via SSE
- Format de messages JSON-RPC 2.0
- Persistance SQLite
- Support des métadonnées
- Opérations batch
Pour plus d'informations sur le protocole MCP, consultez la documentation dans le dossier docs/.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.