SyncContext
Provides embedding generation using locally-hosted Ollama models, enabling offline semantic memory search.
Provides embedding generation using OpenAI's API, enabling semantic search over team memories.
Provides persistent storage for memories and vectors using PostgreSQL with pgvector for relational and semantic queries.
Provides sub-millisecond vector search using Redis Stack for fast memory retrieval.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SyncContextsave: use React with TypeScript for frontend"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SyncContext
Shared team memory for AI coding agents. Sync context, decisions, and knowledge across your entire team via the Model Context Protocol.
The Problem
AI coding agents (Claude Code, Cursor, Windsurf) each maintain isolated context. Developer A's agent knows nothing about Developer B's decisions. This leads to:
Conflicting architecture decisions across team members
Repeated mistakes and lost institutional knowledge
Painful onboarding for new developers
No shared understanding between frontend, backend, and infra
Related MCP server: AIVectorMemory
The Solution
SyncContext provides a shared semantic memory layer that connects your team's AI agents. One token per project, shared brain, unlimited team members.
Developer A (Frontend) --> saves: "Button uses Tailwind, prop X is required"
Developer B (Backend) --> searches: "frontend patterns" --> gets full context
Developer C (New hire) --> runs: get_project_context --> instant onboardingHow It Works
Your team deploys SyncContext (self-hosted or cloud)
Each developer adds the server URL + their project token to their MCP client
On first connection, the project is auto-created in the database
AI agents read and write shared memories scoped to the project
MCP Client (Claude Code, Cursor)
│
│ Authorization: Bearer <project-token>
│ X-Project-Name: "My Project"
│
▼
SyncContext Server (HTTPS)
│
├── New token? → Auto-create project in DB
├── Known token? → Load existing project
│
▼
PostgreSQL + pgvector (semantic search)Quick Start
Option 1: Connect to a hosted instance
Add to your .mcp.json (Claude Code) or MCP settings (Cursor):
{
"mcpServers": {
"synccontext": {
"url": "https://your-synccontext-server.com/mcp",
"headers": {
"Authorization": "Bearer your-project-token",
"X-Project-Name": "My Project"
}
}
}
}That's it. The project is auto-created on first connection.
Option 2: Self-hosted with Docker
git clone https://github.com/infinity-ai-dev/SyncContext.git
cd SyncContext
cp .env.example .env
# Edit .env: set SYNCCONTEXT_GEMINI_API_KEY
docker compose up -dOption 3: Local development (stdio)
# Requires PostgreSQL with pgvector
uv sync
uv run synccontextMCP Client Configuration
Cloud / HTTP mode (recommended)
Works with any MCP client that supports HTTP transport:
{
"mcpServers": {
"synccontext": {
"url": "https://your-server.com/mcp",
"headers": {
"Authorization": "Bearer your-project-token",
"X-Project-Name": "My Project"
}
}
}
}Local / stdio mode
For local development with a direct database connection:
{
"mcpServers": {
"synccontext": {
"command": "uv",
"args": ["--directory", "/path/to/SyncContext", "run", "synccontext"],
"env": {
"SYNCCONTEXT_PROJECT_TOKEN": "my-team-token",
"SYNCCONTEXT_DATABASE_URL": "postgresql://user:pass@localhost:5432/synccontext",
"SYNCCONTEXT_GEMINI_API_KEY": "your-key"
}
}
}
}Tools (14 total)
Memory Management
Tool | Description |
| Store decisions, patterns, bugs, conventions with metadata |
| Retrieve a specific memory by UUID |
| Update content (auto re-embeds if changed) |
| Remove a specific memory |
| Import multiple memories at once |
Search & Discovery
Tool | Description |
| Semantic search across all team knowledge |
| Find context about specific files |
| Discover related memories by similarity |
| Browse recent memories with filters |
Project Overview
Tool | Description |
| Full project summary (onboarding) |
| All knowledge categories with counts |
| Who's contributing knowledge |
Admin
Tool | Description |
| Create a new project (admin token required) |
| List all registered projects (admin token required) |
Architecture
┌─────────────────────────────────────┐
│ Claude Code / Cursor / Windsurf │
│ (MCP Client) │
└──────────┬──────────────────────────┘
│ HTTPS + Bearer Token
┌──────────▼──────────────────────────┐
│ SyncContext MCP Server │
│ ┌────────────┐ ┌───────────────┐ │
│ │ Auth │ │ Per-request │ │
│ │ Middleware │──│ Project Scope │ │
│ └────────────┘ └───────────────┘ │
│ ┌────────────┐ ┌───────────────┐ │
│ │ Embedding │ │ Memory + │ │
│ │ Provider │ │ Search Service│ │
│ └────────────┘ └───────────────┘ │
└──────────┬──────────────────────────┘
│
┌──────────▼──────────────────────────┐
│ PostgreSQL + pgvector │
│ ┌──────────┐ ┌──────────────────┐ │
│ │ projects │ │ memories + │ │
│ │ (tokens) │──│ memory_vectors │ │
│ └──────────┘ └──────────────────┘ │
└─────────────────────────────────────┘Multi-Project Isolation
Each project token maps to an isolated namespace. Multiple teams share the same server with full data isolation:
Token A ("sc_frontend...") → Project "Frontend App" → memories scoped to frontend
Token B ("sc_backend...") → Project "Backend API" → memories scoped to backend
Token C ("sc_infra...") → Project "Infrastructure" → memories scoped to infraEmbedding Providers (auto-detected)
Provider | Dimensions | Cost | Offline | Detected by |
Gemini | 768 | Free (1500 req/min) | No |
|
OpenAI | 1536 | $0.02/1M tokens | No |
|
Ollama | 768 | Free | Yes |
|
Vector Store Backends
Backend | Best For | Persistence |
pgvector (default) | Relational queries + vectors | Disk (durable) |
Redis Stack | Sub-ms latency | AOF + volume (durable) |
Configuration
All settings via environment variables (prefix SYNCCONTEXT_):
Variable | Default | Description |
| — | Default project token (stdio mode) |
| — | Admin token for create/list projects |
|
| PostgreSQL connection string |
|
|
|
|
|
|
| — | Gemini API key |
| — | OpenAI API key |
| — | Ollama server URL |
|
|
|
|
| HTTP bind address |
|
| HTTP port |
Self-Hosted Deployment (Docker Swarm)
Prerequisites
Docker Swarm with Traefik
PostgreSQL with pgvector extension
A domain pointing to your server
1. Prepare the database
# Install pgvector
docker exec $(docker ps -q -f name=postgres) bash -c \
"apt-get update && apt-get install -y postgresql-16-pgvector"
# Create database + extensions
docker exec $(docker ps -q -f name=postgres) psql -U postgres -c "CREATE DATABASE synccontext"
docker exec $(docker ps -q -f name=postgres) psql -U postgres -d synccontext -c \
'CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; CREATE EXTENSION IF NOT EXISTS "vector";'2. Deploy the stack
See deploy/swarm-stack.yml for a complete Portainer-ready stack with Traefik integration.
3. Tables are created automatically
On first startup, the container runs migrations and creates all tables. Check logs to confirm.
Development
uv sync --extra dev
uv run pytest tests/ -v # 53 tests
uv run ruff check core/ server/
uv run synccontext # run locally (stdio)Docker Images
Multi-arch images for linux/amd64 and linux/arm64:
docker pull infinitytools/synccontext:latestRoadmap
14 MCP tools (CRUD, search, bulk, admin)
pgvector + Redis backends
Gemini / OpenAI / Ollama embeddings (auto-detected)
Docker multi-arch builds (amd64 + arm64)
Multi-project with per-request auth
Auto-create projects from Bearer token
Auto-migrations on container startup
SyncContext Cloud (managed SaaS)
Web dashboard for memory management
Webhook notifications on memory changes
Memory expiration / archival policies
RAG integration (index entire codebases)
License
MIT — see LICENSE for details.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/infinity-ai-dev/SyncContext'
If you have feedback or need assistance with the MCP directory API, please join our Discord server