kje-mcp
kje-mcp
MCP-сервер, совместимый с Claude.ai, который объединяет Jim Brain (постоянная память + состояние империи + хранилище) и диспетчер Claude Code без графического интерфейса на VPS RackNerd, чтобы любой веб-сеанс Claude.ai мог:
читать текущее состояние империи, проекты и недавние воспоминания,
выполнять семантический поиск по памяти и хранилищу учетных данных,
записывать быстрые логи и семантические воспоминания обратно в Brain,
запускать сеансы сборки
claude -pна VPS.
Сервер использует MCP Streamable HTTP (транспорт, который ожидает пользовательский интерфейс «Custom Connector» в Claude.ai). Он работает в режиме без сохранения состояния / JSON-ответов, поэтому его можно запустить везде, где работает обычный HTTP API — в данном случае на Railway.
Доступные инструменты
Инструмент | Что он делает | ||
|
| ||
| Семантический поиск по воспоминаниям Qdrant ( | ||
| Контекст проекта с глубиной `minimal | standard | full |
| Поиск учетных данных на естественном языке ( | ||
| Быстрый лог Supabase ( | ||
| Запись семантической памяти ( | ||
| Запуск |
Все инструменты проходят аутентификацию в Brain с помощью заголовка x-brain-key в нижнем регистре (единственный заголовок, который принимает Brain — зафиксировано при отладке BridgeDeck 2026-04-27). Сам уровень MCP принимает токен Bearer в заголовке Authorization — именно его отправляет интерфейс коннектора Claude.ai.
Структура файлов
kje-mcp/
├── main.py # FastAPI + FastMCP server (deployed to Railway)
├── requirements.txt
├── railway.toml
├── .env.example
├── README.md
└── vps/
├── cc_dispatch_server.py # Companion dispatcher — runs on the RackNerd VPS
├── requirements.txt
└── kje-cc-dispatch.service # systemd unit1. Развертывание kje-mcp на Railway
1a. Отправка репозитория на GitHub
cd C:\Users\Jim\Documents\GitHub\kje-mcp
git add .
git commit -m "feat: kje-mcp v1.0.0 — Claude.ai MCP wrapper for Jim Brain + CC dispatch"
gh repo create jharriGH/kje-mcp --public --source=. --remote=origin --push1b. Создание сервиса Railway
# from inside the kje-mcp dir
railway init # name it: kje-mcp
railway link # link to the new project
railway up # builds + deploysИли через панель управления: New Project → Deploy from GitHub Repo → jharriGH/kje-mcp. Railway автоматически определяет Nixpacks Python и использует startCommand из railway.toml.
1c. Установка переменных окружения
railway variables --set BRAIN_KEY=jim-brain-kje-2026-kingjames
railway variables --set BRAIN_URL=https://jim-brain-production.up.railway.app
railway variables --set MCP_AUTH_KEY=jim-brain-kje-2026-kingjames
# OPTIONAL — only set these once the VPS dispatcher is up (step 2):
# railway variables --set VPS_DISPATCH_URL=https://cc.kj.empire/dispatch
# railway variables --set VPS_DISPATCH_KEY=<long-random-string>Согласно ПРАВИЛУ АВТОМАТИЗАЦИИ ПЕРЕМЕННЫХ ОКРУЖЕНИЯ, этим управляет Claude Code — Джим никогда не кликает по панелям управления Railway.
1d. Проверка развертывания
# replace <host> with the Railway-assigned URL (railway domain or your custom one)
curl -s https://<host>/health | jq
# expect: {"status":"ok","service":"kje-mcp",...,"vps_dispatch_configured":false,...}
# initialize handshake (Claude.ai will send the same)
curl -s -X POST https://<host>/mcp/ \
-H "Authorization: Bearer jim-brain-kje-2026-kingjames" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"curl","version":"1"}}}' | jq
# list tools
curl -s -X POST https://<host>/mcp/ \
-H "Authorization: Bearer jim-brain-kje-2026-kingjames" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}' | jq '.result.tools[].name'
# expect 7 names: brain_status, brain_search, brain_get_project, brain_vault_search,
# brain_log, brain_memory, cc_dispatch2. Подключение из веб-версии Claude.ai
Откройте claude.ai → Settings → Connectors → Add custom connector.
Name:
KJE MCP.URL:
https://<your-railway-host>/mcp/(обратите внимание на косую черту в конце и путь/mcp/).Auth:
API key / Bearer token→ вставьтеjim-brain-kje-2026-kingjames(или то, что вы указали вMCP_AUTH_KEY).Save. Claude.ai выполняет рукопожатие MCP
initialize+tools/list; если рядом с «KJE MCP» появилась зеленая галочка, 7 инструментов доступны в чате.
В любом новом разговоре в Claude.ai:
Откройте меню инструментов/коннекторов разговора и включите KJE MCP.
Начните свой промпт с эквивалента
brain_session_start:"Use KJE MCP. Call
brain_statusandbrain_get_projectforkj_codedeck(depth=standard) before answering. Then [task]."
Когда вы закончите, Claude.ai выполнит ритуал завершения через тот же коннектор — brain_memory для резюме, brain_log для прогресса и cc_dispatch, если нужно продолжить сборку на VPS.
3. (Опционально) Настройка диспетчера VPS для cc_dispatch
Без этого cc_dispatch вернет чистую ошибку cc_dispatch_not_configured, а остальные шесть инструментов будут работать нормально. Настройте это, когда действительно захотите, чтобы Claude.ai запускал сеансы CC на VPS.
3a. Синхронизация папки vps/ с 104.223.120.21
# from your laptop, in the kje-mcp repo
scp -r vps/ jim@104.223.120.21:/home/jim/kje-mcp/3b. Создание venv и установка зависимостей на VPS
ssh jim@104.223.120.21
cd /home/jim/kje-mcp
python3 -m venv .venv
.venv/bin/pip install -r vps/requirements.txt3c. Настройка .env
cat > /home/jim/kje-mcp/vps/.env <<'EOF'
VPS_DISPATCH_KEY=<long-random-string-paste-same-on-railway>
BRAIN_URL=https://jim-brain-production.up.railway.app
BRAIN_KEY=jim-brain-kje-2026-kingjames
PROJECT_REPOS_BASE=/home/jim/repos
# Optional overrides for slugs whose repo dir name differs from the slug:
# PROJECT_REPOS_OVERRIDES={"kj_autonomous":"/home/jim/n8n-canvas/kj-autonomous"}
CLAUDE_BIN=/usr/local/bin/claude
DISPATCH_LOG_DIR=/var/log/kje-cc-sessions
EOF
sudo mkdir -p /var/log/kje-cc-sessions
sudo chown jim:jim /var/log/kje-cc-sessions3d. Установка + запуск модуля systemd
sudo cp /home/jim/kje-mcp/vps/kje-cc-dispatch.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now kje-cc-dispatch
sudo systemctl status kje-cc-dispatch
curl -s http://127.0.0.1:8088/health3e. Открытие через TLS (nginx + Let's Encrypt)
# /etc/nginx/sites-available/cc.kj.empire
server {
listen 443 ssl http2;
server_name cc.kj.empire;
ssl_certificate /etc/letsencrypt/live/cc.kj.empire/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/cc.kj.empire/privkey.pem;
client_max_body_size 4m;
proxy_read_timeout 65s;
location /dispatch {
proxy_pass http://127.0.0.1:8088/dispatch;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Dispatch-Key $http_x_dispatch_key;
}
location /health {
proxy_pass http://127.0.0.1:8088/health;
}
}sudo ln -s /etc/nginx/sites-available/cc.kj.empire /etc/nginx/sites-enabled/
sudo certbot --nginx -d cc.kj.empire
sudo nginx -t && sudo systemctl reload nginx3f. Подключение к нему сервиса kje-mcp
# from the kje-mcp repo on your laptop
railway variables --set VPS_DISPATCH_URL=https://cc.kj.empire/dispatch
railway variables --set VPS_DISPATCH_KEY=<same-random-string>
railway redeploy/health в сервисе kje-mcp теперь должен показывать "vps_dispatch_configured": true.
Как сеанс Claude.ai использует это от начала до конца
Начало сеанса. Коннектор включен. Claude.ai вызывает
brain_status→ контекст империи, затемbrain_get_project("kj_codedeck", "standard")→ промпт внедрения.Работа. Claude.ai отвечает на основе рассуждений в чате. В процессе он вызывает
brain_searchдля поиска предыдущих решений илиbrain_vault_searchдля учетных данных, которые ему нужно обсудить.Тяжелая работа. Когда для работы нужен реальный сеанс сборки CC, Claude.ai вызывает
cc_dispatch(project="kj_codedeck", prompt="<full build prompt>"). Диспетчер VPS немедленно подтверждает получение с помощьюsession_id. Сеанс CC выполняется в фоновом режиме.Передача. Когда сеанс CC завершается, диспетчер VPS отправляет передачу в Brain
/codedeck/handoff(быстрый лог + обновлениеnext_actionпроекта + карточка сборки, если затронуто 3+ файла + семантическая память в очереди). Следующий сеанс Claude.ai увидит это черезbrain_search.Ритуал завершения. Claude.ai вызывает
brain_memory(полное резюме),brain_log(событие прогресса), а сохранение карточки сборки происходит автоматически на стороне сервера через передачу. Никаких вопросов Джиму «какой вариант выбрать?» — это правило.
This server cannot be installed
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
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/jharriGH/kje-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server