Skip to main content
Glama

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.

Доступные инструменты

Инструмент

Что он делает

brain_status

/health Brain + полный /context империи (KPI, проекты, системный промпт)

brain_search

Семантический поиск по воспоминаниям Qdrant (/memory/search)

brain_get_project

Контекст проекта с глубиной `minimal

standard

full (/codedeck/context/{slug}`)

brain_vault_search

Поиск учетных данных на естественном языке (/vault/search)

brain_log

Быстрый лог Supabase (/log) — менее секунды

brain_memory

Запись семантической памяти (/memory) — ~30–60 с на эмбеддинг

cc_dispatch

Запуск claude -p без графического интерфейса на VPS RackNerd с автоматической передачей в Brain

Все инструменты проходят аутентификацию в 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 unit

1. Развертывание 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 --push

1b. Создание сервиса 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_dispatch

2. Подключение из веб-версии Claude.ai

  1. Откройте claude.ai → Settings → Connectors → Add custom connector.

  2. Name: KJE MCP.

  3. URL: https://<your-railway-host>/mcp/ (обратите внимание на косую черту в конце и путь /mcp/).

  4. Auth: API key / Bearer token → вставьте jim-brain-kje-2026-kingjames (или то, что вы указали в MCP_AUTH_KEY).

  5. Save. Claude.ai выполняет рукопожатие MCP initialize + tools/list; если рядом с «KJE MCP» появилась зеленая галочка, 7 инструментов доступны в чате.

В любом новом разговоре в Claude.ai:

  • Откройте меню инструментов/коннекторов разговора и включите KJE MCP.

  • Начните свой промпт с эквивалента brain_session_start:

    "Use KJE MCP. Call brain_status and brain_get_project for kj_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.txt

3c. Настройка .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-sessions

3d. Установка + запуск модуля 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/health

3e. Открытие через 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 nginx

3f. Подключение к нему сервиса 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 использует это от начала до конца

  1. Начало сеанса. Коннектор включен. Claude.ai вызывает brain_status → контекст империи, затем brain_get_project("kj_codedeck", "standard") → промпт внедрения.

  2. Работа. Claude.ai отвечает на основе рассуждений в чате. В процессе он вызывает brain_search для поиска предыдущих решений или brain_vault_search для учетных данных, которые ему нужно обсудить.

  3. Тяжелая работа. Когда для работы нужен реальный сеанс сборки CC, Claude.ai вызывает cc_dispatch(project="kj_codedeck", prompt="<full build prompt>"). Диспетчер VPS немедленно подтверждает получение с помощью session_id. Сеанс CC выполняется в фоновом режиме.

  4. Передача. Когда сеанс CC завершается, диспетчер VPS отправляет передачу в Brain /codedeck/handoff (быстрый лог + обновление next_action проекта + карточка сборки, если затронуто 3+ файла + семантическая память в очереди). Следующий сеанс Claude.ai увидит это через brain_search.

  5. Ритуал завершения. Claude.ai вызывает brain_memory (полное резюме), brain_log (событие прогресса), а сохранение карточки сборки происходит автоматически на стороне сервера через передачу. Никаких вопросов Джиму «какой вариант выбрать?» — это правило.

F
license - not found
-
quality - not tested
C
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

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