Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
Syslog receiver and MCP server for homelab log intelligence.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
CORTEX_RECEIVER_HOST, CORTEX_TOKEN, CORTEX_RECEIVER_PORT비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
웹, 데스크톱, 모바일의 Claude에서 쓸 수 있어요:
https://cortex.tootie.tv/mcpClaude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"cortex": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"CORTEX_RECEIVER_HOST",
"-e",
"CORTEX_TOKEN",
"-e",
"CORTEX_RECEIVER_PORT",
"ghcr.io/jmagar/cortex:v3.9.0"
],
"env": {
"CORTEX_RECEIVER_HOST": "your-value",
"CORTEX_TOKEN": "your-value",
"CORTEX_RECEIVER_PORT": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add --transport http cortex https://cortex.tootie.tv/mcpclaude mcp add cortex --env CORTEX_RECEIVER_HOST=your-value --env CORTEX_TOKEN=your-value --env CORTEX_RECEIVER_PORT=your-value -- docker run -i --rm -e CORTEX_RECEIVER_HOST -e CORTEX_TOKEN -e CORTEX_RECEIVER_PORT ghcr.io/jmagar/cortex:v3.9.0실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"cortex": {
"url": "https://cortex.tootie.tv/mcp"
}
}
}프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"cortex": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"CORTEX_RECEIVER_HOST",
"-e",
"CORTEX_TOKEN",
"-e",
"CORTEX_RECEIVER_PORT",
"ghcr.io/jmagar/cortex:v3.9.0"
],
"env": {
"CORTEX_RECEIVER_HOST": "your-value",
"CORTEX_TOKEN": "your-value",
"CORTEX_RECEIVER_PORT": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"cortex": {
"type": "http",
"url": "https://cortex.tootie.tv/mcp"
}
}
}프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"cortex": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"CORTEX_RECEIVER_HOST",
"-e",
"CORTEX_TOKEN",
"-e",
"CORTEX_RECEIVER_PORT",
"ghcr.io/jmagar/cortex:v3.9.0"
],
"env": {
"CORTEX_RECEIVER_HOST": "your-value",
"CORTEX_TOKEN": "your-value",
"CORTEX_RECEIVER_PORT": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요:
https://cortex.tootie.tv/mcp메뉴 이름은 요금제나 시기에 따라 조금 다를 수 있어요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
CORTEX_RECEIVER_PORT env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
아직 이 서버의 도구 목록을 읽지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 6일 점검
게시자(tootie.tv)가 저장소 소유자(jmagar)가 아니에요. 다른 사람이 등록했을 수 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 점검하지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요
아직 점검하지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요
아직 점검하지 않았어요. 엔드포인트를 점검할 때 도구 목록을 읽어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 0개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: CORTEX_RECEIVER_HOST, CORTEX_TOKEN
둘 다 가능해요. 내 컴퓨터에 설치해도 되고, 클라우드 버전에 연결해도 돼요.
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(3.9.0)은 4개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, HotCodePush
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Manage over-the-air (OTA) updates for React Native, Expo, Capacitor and Cordova apps.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Self-hosted homelab log intelligence over MCP, CLI, and REST with SQLite/FTS.
It collects logs and operational evidence, stores them in SQLite with FTS5 search, and exposes one shared intelligence layer through CLI, REST, MCP, and a bundled browser workspace.
Cortex began as a syslog receiver. It now covers network logs, Docker, managed files, OpenTelemetry logs, metrics, and traces, host heartbeats, fleet inventory, shell and agent activity, and Claude, Codex, Gemini CLI, and Antigravity transcripts. It correlates those sources into timelines, incidents, and an evidence-backed topology graph without making the graph a second source of truth.
| Area | What Cortex provides |
|---|---|
| Ingest | UDP/TCP syslog, OTLP/HTTP logs, metrics, and traces, Docker logs and events, managed file tails, host heartbeats, AI transcripts, shell history, agent command records, and fleet inventory |
| Storage | SQLite in WAL mode, FTS5 full-text search, bounded metadata, retention, storage budgets, maintenance jobs, checkpoints, and 63 sequential schema migrations |
| Investigation | Search, filtering, context, timelines, patterns, anomaly comparison, cross-source correlation, recurring error signatures, deterministic incident bundles, and graph explanations |
| Fleet intelligence | SSH and API inventory collectors, host state, service topology, container and route relationships, redacted evidence, and rebuildable graph projections |
| AI operations | Claude, Codex, Gemini CLI, and Antigravity session indexing; skill, MCP, and hook event extraction where each provider exposes them; incident clustering; and guarded local LLM assessments |
| Interfaces | Native CLI, one action-dispatched MCP tool, authenticated REST APIs, MCP prompts and resources, an MCP Apps search widget, and a bundled investigation workspace |
| Operations | Setup and repair, diagnostics, Compose control, backup, integrity checks, WAL checkpoints, vacuum, update workflows, agents, and health endpoints |
[!IMPORTANT]
Cortex is designed for a trusted homelab or small private fleet. It is not a clustered log warehouse, a general-purpose SIEM, or a safe place to expose unauthenticated administrative surfaces to the public internet.
The first-class guided path is:
npx skills add dinglebear-ai/cortex --skill install-cortex
Start a fresh agent task and invoke $install-cortex. It chooses server or client-only role, delegates to the canonical installer/setup engine, configures auth/network/storage, and verifies the live client connection.
The npm launcher remains the fastest manual path for local CLI and stdio MCP use:
npx -y @dinglebear/cortex --help
npx -y @dinglebear/cortex mcp
Install it permanently with:
npm install --global @dinglebear/cortex
cortex --version
The launcher requires Node.js 18 or newer. It downloads a checksum-verified native release binary for Linux x64, Linux ARM64, macOS ARM64, or Windows x64.
Build from source with the current stable Rust toolchain:
git clone https://github.com/dinglebear-ai/cortex.git
cd cortex mise install # optional, but pins the repository tools just build ./.cache/cargo/debug/cortex --version
The full daemon starts UDP and TCP syslog receivers plus the shared HTTP server. Use separate MCP and REST tokens:
mkdir -p "$HOME/.cortex/data"
export CORTEX_DB_PATH="$HOME/.cortex/data/cortex.db" export CORTEX_TOKEN="$(openssl rand -hex 32)" export CORTEX_API_TOKEN="$(openssl rand -hex 32)"
cortex serve mcp
Defaults:
0.0.0.0:1514 over UDP and TCP127.0.0.1:3100http://127.0.0.1:3100/mcphttp://127.0.0.1:3100/api/*http://127.0.0.1:3100/appVerify it from another terminal:
curl -fsS http://127.0.0.1:3100/health
logger -n 127.0.0.1 -P 1514 --tcp "cortex quickstart from $(hostname)"
export CORTEX_API_TOKEN="the-same-api-token" cortex tail --limit 10
For a managed local deployment, cortex setup repair creates or repairs the Cortex home, Compose assets, data paths, and missing 64-character MCP and REST tokens without replacing existing token values.
Query-only stdio mode reads the configured local database and starts no network listeners:
{
"mcpServers": { "cortex": { "command": "npx", "args": ["-y", "cortex-rmcp", "mcp"], "env": { "CORTEX_DB_PATH": "/absolute/path/to/cortex.db" } } } }
Streamable HTTP mode connects to the persistent daemon:
{
"mcpServers": { "cortex": { "url": "http://127.0.0.1:3100/mcp", "headers": { "Authorization": "Bearer your-cortex-token" } } } }
A useful first call is:
{"action":"status"}
Then narrow the investigation with tail, errors, search, timeline, or context before using broader analysis operations.
Cortex is one Rust binary with multiple operating modes. The same application and service layer backs the CLI, REST handlers, and MCP handlers, so validation, limits, identity resolution, redaction, and business rules do not belong to one transport alone.
INGESTION
Syslog UDP/TCP OTLP signals Docker agent / pull Managed file tails Heartbeats Claude / Codex / Gemini / Antigravity Shell history Agent commands Fleet inventory \ | / \ | / +---- bounded parsing and enrichment ----+ | scrub, normalize, batch | SQLite WAL + FTS5 | +----------------+----------------+ | | authoritative records derived accelerators logs, heartbeats, rollups, signatures, inventory, sessions graph projections | | +----------------+----------------+ | shared service layer | CLI REST MCP Web workspace
The daemon supervises its receivers and background services with cooperative cancellation. Shutdown drains HTTP requests, gives maintenance tasks 10 seconds to finish before abort-and-join, gives ingest 5 seconds to flush, and then attempts a WAL checkpoint. Already-running blocking SQLite calls cannot be cancelled by Tokio.
Background services include:
Heavy analytical reads and maintenance jobs have separate concurrency controls so one expensive investigation cannot starve the ingest path.
All log-like sources are normalized into the same durable log model, enriched where safe, scrubbed where configured, and written through bounded batch paths.
Cortex listens on the same configurable port for UDP and TCP syslog. It parses common RFC 3164 and RFC 5424 shapes, preserves the raw frame, records sender identity, normalizes severity and facility, and enriches known application formats.
Relevant defaults:
0.0.0.0:1514Syslog has no application-layer authentication. Restrict senders with network controls and CORTEX_ALLOWED_SOURCE_CIDRS when the listener is reachable beyond a trusted network.
Built-in enrichment recognizes useful signals from AdGuard, Authelia, Docker lifecycle events, fail2ban, Linux kernel and OOM events, SWAG, reverse-proxy logs, and host-local Cortex Docker agent metadata. Source gates can restrict enrichment that would otherwise trust a marker inside an unauthenticated syslog body.
Cortex accepts protobuf OTLP/HTTP export requests on the shared HTTP listener. Logs use POST /v1/logs with a 4 MiB body limit and flow through the normal writer. Metrics use POST /v1/metrics and traces use POST /v1/traces, each with an 8 MiB body limit and dedicated storage. Metric requests admit at most 5,000 points and also enforce a bounded normalized payload budget.
Current OTLP scope is intentionally narrow:
All three OTLP endpoints authenticate with `CORTEX_TOKEN` — the same static MCP bearer token that guards POST /mcp, read from the managed ~/.cortex/.env on a deployed host. It is not CORTEX_API_TOKEN (REST /api/*) and not CORTEX_API_ADMIN_TOKEN. Loopback and trusted-gateway policies skip the check. An OAuth-only deployment with no static token denies OTLP outright, because machine exporters have no OAuth flow — so a non-loopback OAuth-only OTLP exposure is rejected at startup unless CORTEX_TOKEN is set.
Cortex supports two Docker collection paths:
Central pull is disabled by default. The CORTEX_DOCKER_HOSTS shorthand expands hosts into insecure http://host:2375 endpoints and should only be used on a tightly controlled private network. A hosts file supports explicit base URLs and safer endpoint configuration.
Managed file-tail sources are persisted in a registry and supervised by the daemon. Add, remove, list, and inspect sources through the CLI, REST, or the file_tails MCP admin action.
The path policy rejects unsafe targets, including paths outside configured roots, symlink escap
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요