loading…
Search for a command to run...
loading…
Unified knowledge management and agent orchestration MCP server for Claude Code that remembers project patterns, assigns specialist agents, loads relevant knowl
Unified knowledge management and agent orchestration MCP server for Claude Code that remembers project patterns, assigns specialist agents, loads relevant knowledge into prompts, and tracks work across sessions to save time and reduce costs.
External memory and agent orchestration for Claude Code. CHARLIE remembers your project's patterns, conventions, and decisions across sessions so you never re-explain context. When you ask Claude to do something, CHARLIE automatically assigns the right specialist agent, loads relevant knowledge into its prompt, and tracks the work.
CHARLIE is built to save you time and money with AI. Reusing recalled patterns instead of re-explaining them, routing work to the cheapest model that can handle it (Haiku → Sonnet → Opus only when needed), capping per-session spend with hard budgets, and bypassing redundant tool calls all add up. The dashboard's /savings page tracks the token and dollar savings over time so you can see the ROI.
Runs as a Docker-based FastMCP server with PostgreSQL+pgvector database, file watcher, scheduler, and web dashboard. The project will change how your claude environment works. So please either deploy on a fresh system or back up your claude files first before using this.
git clone https://github.com/T3CCH/charlie.git
cd charlie
cp .env.example .env # edit DB_PASSWORD at minimum
bash setup.sh # full installer: wizard, build, start, migrate, host config
setup.sh is idempotent — re-running it after changing .env fixes stale MCP registrations and re-applies host config without prompting again.
Verify everything is running:
bash scripts/check-install.sh # post-setup diagnostic: checks every artifact setup.sh creates
docker exec charlie-mcp python scripts/migrate_data.py --verify
CHARLIE is a unified FastMCP server for knowledge management and agent orchestration.
Stack:
gpu/ Docker image on a host with CUDA) or remotely (point EMBED_SERVICE_URL at a shared GPU host). Falls back to CPU-only inference inside the MCP container if no embed service is reachable..start, .stop, .ksh, .csh, OpenRC init scripts, git hooks, etc.)Agent Pool: 20 pool slots (2 opus, 12 sonnet, 6 haiku)
preferred_model (opus/sonnet/haiku). Upgrade or downgrade an agent's tier any time with charlie_update_agent(agent_id, preferred_model="opus"). CHARLIE also auto-escalates an agent to a higher tier after repeated failures (controlled by MODEL_ESCALATION_THRESHOLD, default 3).Scheduler: Embedded cron scheduler in MCP process
scheduler_runs table| Service | Purpose | Image |
|---|---|---|
| db | PostgreSQL 16 with pgvector extension | pgvector/pgvector:pg16 |
| mcp | FastMCP server + alembic migrations | charlie-mcp:latest (from Dockerfile) |
| watcher | File watcher + cron scheduler | charlie-watcher:latest (from Dockerfile) |
| dashboard | Web UI (agent pool, sessions, knowledge, metrics) | charlie-dashboard:latest (from Dockerfile) |
All MCP/watcher/dashboard images use Python 3.11-slim with CPU-only PyTorch. GPU embeddings come from a fifth optional service defined in gpu/Dockerfile — run it locally on a CUDA host or point EMBED_SERVICE_URL at a remote one (default: http://192.168.1.100:8100). If unreachable, embeddings fall back to CPU.
Edit .env to customize:
| Variable | Default | Notes |
|---|---|---|
DB_PASSWORD |
changeme |
Change this! PostgreSQL password |
DB_HOST |
db |
Database hostname (in Docker) |
DB_PORT |
5432 |
Database port |
DB_NAME |
charlie |
Database name |
EMBED_SERVICE_URL |
http://192.168.1.100:8100 |
Remote GPU embeddings endpoint |
DASHBOARD_PORT |
8200 |
Web dashboard port |
HOST_HOME |
$HOME |
Host home directory for file watching |
AGENT_POOL_SIZE |
20 |
Total agent pool slots |
AGENT_MAX_CONCURRENT |
10 |
Max concurrent agents in-flight |
SCHEDULER_ENABLED |
true |
Enable background job scheduler |
SCHEDULER_CHECK_INTERVAL_SECONDS |
60 |
Job scheduler poll interval |
MCP_MEM_LIMIT |
2g |
MCP container memory limit (one long-lived streamable-HTTP daemon; 2g is ample) |
DB_MAX_CONNECTIONS |
200 |
PostgreSQL max connections |
For advanced configuration, schema details, tool inventory, and architecture diagrams, see TECHNICAL.md.
Open http://localhost:8200 to view:
/jobs)docker exec charlie-mcp python scripts/migrate_data.py --verify
docker compose logs -f mcp
docker compose logs -f watcher
docker compose logs -f dashboard
docker exec -it charlie-db psql -U charlie -d charlie
docker compose --profile db build
docker compose --profile db up -d
Once CHARLIE is running, use it via Claude Code:
You: fix the login bug where users get logged out after 5 minutes
CHARLIE:
-> Classifies as "debugging"
-> Assigns Senior Engineer agent
-> Agent recalls past auth patterns
-> Agent searches codebase for session logic
-> Agent fixes the bug and reports findings
For shortcuts and advanced usage, see README.md in the original repo.
GPL-3.0-or-later
If CHARLIE saves you time, consider buying me a coffee:
Выполни в терминале:
claude mcp add charlie -- npx Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development