Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Unified observability gateway for AI agents — Prometheus, Loki & more, with anomaly detection.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
MCP_TRANSPORT, PROMETHEUS_URL, LOKI_URL必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"observability": {
"command": "npx",
"args": [
"-y",
"@thotischner/observability-mcp"
],
"env": {
"MCP_TRANSPORT": "your-value",
"PROMETHEUS_URL": "your-value",
"LOKI_URL": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add observability --env MCP_TRANSPORT=your-value --env PROMETHEUS_URL=your-value --env LOKI_URL=your-value -- npx -y @thotischner/observability-mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"observability": {
"command": "npx",
"args": [
"-y",
"@thotischner/observability-mcp"
],
"env": {
"MCP_TRANSPORT": "your-value",
"PROMETHEUS_URL": "your-value",
"LOKI_URL": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"observability": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@thotischner/observability-mcp"
],
"env": {
"MCP_TRANSPORT": "your-value",
"PROMETHEUS_URL": "your-value",
"LOKI_URL": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
MCP_TRANSPORT envPROMETHEUS_URL envLOKI_URL envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント ThoTischner で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(3.9.18)がレジストリに届いたのは4 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, zanadir
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況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.
Find what a repository's CI is missing, and which security checks cannot fail the build.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
The unified observability gateway for AI agents.
One MCP server that connects to any observability backend through pluggable connectors, normalizes the data, adds robust anomaly analysis, and provides a web UI for configuration.
*One MCP endpoint, every backend — so an agent triaging an incident asks one normalized question instead of juggling N vendor servers and their query languages.*
0/10 → 10/10: the same 8B local model goes from hallucinating blast-radius answers to exactly correct ones once it gets this gateway's topology tools — measured, not asserted.
npx @thotischner/observability-mcp # start (UI on :3000)
claude mcp add observability --transport http http://localhost:3000/mcp # wire into Claude
Twelve read-only tools (readOnlyHint: true on every one) · server-side filter/aggregate so agents get numbers, not haystacks · For-Agents guide
All badges — CI, Helm, supply chain (cosign / SBOM / SLSA / provenance)
📖 Full documentation site: https://thotischner.github.io/observability-mcp/
🔌 Open in MCP Inspector — one-line interactive explorer:
npx --yes @modelcontextprotocol/inspector \
--config <(npx --yes @thotischner/observability-mcp inspector-config)
On a real Kubernetes-platform-team question ("which other pods share a node with payment-service so we know what else falls over if that node goes down?"), the same local model produces wildly different answers depending on the tools you hand it:
| Tools available to the agent (llama3.1:8b, n=10) | Cross-namespace blast-radius accuracy |
|---|---|
| Generic metric + log + service tools | 0 / 10 — hallucinates the wrong entity type (prometheus, loki, kubernetes) |
Same model + get_topology + get_blast_radius | 10 / 10 — exact correct co-tenant list, every iteration |
Raw JSON for both arms, plus three more scenarios (single-service RCA, in-namespace blast radius, scenarios where topology does *not* help), live in docs/benchmark-astronomy-shop.md. The harness is in scripts/benchmark-rca.mjs; re-run with make benchmark-up && make benchmark-run.
We don't claim universal speedup — the doc spells out exactly where the topology tools help (graph-shaped questions) and where they don't (pure single-metric drill-downs).
npx @thotischner/observability-mcp
Wire it into Claude Code with one CLI call:
claude mcp add observability --transport http http://localhost:3000/mcp
…or commit it to your repo as .mcp.json (works the same in Claude Desktop / Cursor):
{
"mcpServers": { "observability": { "transport": { "type": "http", "url": "http://localhost:3000/mcp" } } } }
The server starts with zero sources. Add Prometheus/Loki via the Web UI or PROMETHEUS_URL / LOKI_URL env vars.
If you'd rather have the snippets above printed by a Make target — including
custom-host / custom-port substitution — use
make connect-claude-codeor
make connect-cursor.make doctorround-trips a real MCP handshake against
a running server, reports the live governance posture (auth mode, redaction,
audit-log persistence, per-identity rate cap), and tells you what to fix if
it can't.
Multi-user / production? See docs/access-control.md
for the opt-in basic-mode login + RBAC + audit log + per-identity rate limit
setup. All off by default; the demo above is unchanged.
SSO via OIDC?
make demo-oidcboots a Keycloak + an OIDC-flavored
mcp-server on port 3001 with three pre-provisioned users
(
admin/operator/viewer, password = username, DEMO ONLY).
See docs/auth-oidc.md for production Keycloak /
Authentik / Auth0 / Azure AD setups.
External RBAC via OPA?
make demo-opaboots an Open Policy Agent
with an example Rego policy + an OPA-backed mcp-server on port 3002.
See docs/policy-engines.md for the
built-in / file / OPA backend trade-offs and migration paths.
Curated MCP Products? Set
OMCP_PRODUCTS_FILEto a YAML catalog
(
config/products.yaml.example)
and ship per-tenant/per-agent tool bundles instead of "everything,
all the time". RBAC-gated, audited, hot-editable. Details in
docs/products.md.
Want the full chaos-engineering demo (Prometheus + Loki + 3 example services + the autonomous agent)? Clone and run:
make demo # equivalent to: docker compose --profile demo up --build --wait
Or run the sovereign quickstart — one command, fully on-prem, zero external calls: it starts the stack, injects a real incident, and shows side by side what an agent gets *without* vs *with* the analysis layer (a wall of raw numbers vs a scored verdict that pinpoints the culprit). The optional agent reasons over it with a local model (Ollama):
make demo-sovereign
See make help for all canonical workflows.
Every observability vendor ships its own MCP server — Prometheus, Grafana, Datadog, Elastic, each siloed. An AI agent triaging an incident across systems must juggle N separate servers and learn each query language (PromQL, LogQL, …). There is no unified abstraction layer.
observability-mcp is that layer: one MCP endpoint that normalizes every backend and answers in plain service/metric/log terms, plus an analysis engine that flags anomalies the agent would otherwise have to reconstruct from raw queries itself.
Who it's for: SRE / platform teams running Prometheus + Loki who use an AI agent (Claude, local LLMs, …) for incident triage. The gateway's leverage is largest when the agent is *not* a frontier model — a smaller or local model that can't reliably hand-write PromQL/LogQL benefits most from normalized tools and pre-computed analysis. A strong frontier model can query raw backends competently on its own; there the value is consistency and the analysis engine, not query convenience. We state this honestly rather than claiming a universal speedup.
job / service / app / service_name so service filtering Just Works.service_name / service / job / app / container, including Docker-shipped streams with leading slashes.You handed an agent (or a CI bot, or a leaked credential) a key to your observability backends. Inspect answers the question RBAC can't: *is this call normal for this identity, compared to what it has actually been doing?*
It borrows AppArmor's learning workflow and a service-mesh traffic view (think Kiali, for agent tool calls):
OFF ──▶ OBSERVE ──▶ DRY-RUN (complain) ──▶ ENFORCE
│ │ │ record calls compute what WOULD be block calls that only (zero blocked, but still allow fall outside the risk, default) — review before enforcing accepted profile
anonymous → query_logs · service ∈ {payment-service} — lea冒頭だけを表示しています。続きはリポジトリで読めます