niahub-mcp
NiaHub — Niaインデックスマーケットプレイス
一度インデックス化すれば、一行でサブスクライブ。 どんなMCP互換エージェント(Cursor、Claude Code、Codex)でも、貼り付けるだけでサブスクライブできる、事前インデックス済みNiaナレッジパックのマーケットプレイスです。Stripe、React、Next.js、Postgres、AWS、Tailwind、MCP、Nozomioなど、事前インデックス化され、1時間ごとに更新され、出典に基づいた回答を提供します。
Nozomioハッカソン向けに構築 · 2026年5月9日 · サンフランシスコ
ウェッジ(切り口)
すべてのCursorユーザーは、2022年のトレーニングデータではなく、実際のドキュメントに基づいたエージェントを求めています。 彼らはNiaを求めています。しかし:
誰もが同じStripe / React / Postgres / S3のドキュメントを、自分のラップトップでゼロから再インデックス化している
それらのインデックスを維持する人はおらず、1週間以内に陳腐化してしまう
適切なURL、ブランチ、更新頻度を選ぶことこそが、実は最も難しい部分である
セットアップの摩擦が「ちょうどいい具合」にあるため、ほとんどのチームが着手しない
NiaHubはそれを覆します。一度インデックス化すれば、一行でサブスクライブ。8つのローンチパックはTensorlakeによって1時間ごとに更新され、Codexによって毎晩監査され、実際のNiaを基盤とするスナップショットファーストのゲートウェイによって300ミリ秒未満で提供されます。
// ~/.cursor/mcp.json — that's the whole install
{
"mcpServers": {
"niahub-stripe": {
"command": "npx",
"args": ["-y", "niahub-mcp@latest"],
"env": {
"NIAHUB_PACK": "stripe-api-current",
"NIAHUB_TOKEN": "tok_…"
}
}
}
}Cursorを再起動します。こう尋ねてください:「14日間のトライアル付きサブスクリプションのためのStripe Checkoutセッションを作成して。」 Cursorが niahub_search_pack を呼び出し、ゲートウェイが現在のStripeドキュメントから実際のチャンクを返し、gpt-5-miniが「なぜこの回答なのか」というトレースを書き、Cursorがライブの docs.stripe.com URLへの出典付きで正しいコードを生成します。
Related MCP server: Mintlify Index
アーキテクチャ
flowchart TD
classDef client fill:#1d1d28,stroke:#666,color:#f8fafc
classDef gateway fill:#1f9eff,stroke:#1f9eff,color:#fff
classDef nia fill:#0e5497,stroke:#1f9eff,color:#fff
classDef sponsor fill:#16161e,stroke:#a855f7,color:#f8fafc
classDef store fill:#161620,stroke:#34d399,color:#f8fafc
Cursor["Cursor / Claude Code / Codex<br/><sub>any MCP-compatible agent</sub>"]:::client
Browser["niahub.dev<br/><sub>marketplace · /playground · /me · /about</sub>"]:::client
Aside["Aside (Chrome)<br/><sub>docs.stripe.com → install offer</sub>"]:::client
Gateway{{"NiaHub Gateway · apps/web<br/>/api/mcp/[pack_id] · /api/playground · /api/recommend · /api/curator"}}:::gateway
Snapshots[("snapshots.json<br/><sub>17 frozen-real responses</sub>")]:::store
Nia["Nia /v2<br/><sub>POST /search · /oracle/jobs · /contexts</sub>"]:::nia
Codex["OpenAI /v1/responses<br/><sub>gpt-5-mini · why-this-answer + audit</sub>"]:::sponsor
Tensorlake["Tensorlake Sandbox<br/><sub>µVM refresh · GitHub webhook</sub>"]:::sponsor
Hyperspell["Hyperspell<br/><sub>private company packs</sub>"]:::sponsor
Devin["Devin Sessions<br/><sub>autonomous pack curator</sub>"]:::sponsor
Postgres[("InsForge Postgres<br/><sub>packs · subs · query_events · refresh_runs</sub>")]:::store
Convex[("Convex feed_events<br/><sub>reactive query · live ticker</sub>")]:::store
Cursor -->|stdio MCP| MCP[niahub-mcp<br/>npm forwarder]:::client
MCP -->|HTTPS JSON-RPC| Gateway
Browser -->|fetch| Gateway
Aside -->|webhook| Gateway
Gateway -->|snapshot-first| Snapshots
Gateway -->|real path| Nia
Gateway --> Codex
Gateway -->|nightly cron| Tensorlake
Gateway -->|/create| Devin
Gateway -->|/api/hyperspell| Hyperspell
Gateway -->|writes| Postgres
Gateway -->|push| Convex
Browser -.->|reactive subscribe| Convex3つのデモパス、すべてライブ:
/playground(ブラウザのみ) — パックを選択し、提案をクリックすると、ハルシネーション(幻覚)の比較差分が5秒以内に表示されます。Cursorのセットアップは不要です。Cursor MCP —
~/.cursor/mcp.jsonに貼り付けて、再起動して、尋ねるだけ。本物のエージェント、本物のチャンク、本物の出典。初回ユーザーでもエンドツーエンドで約60秒。/recommend— スタックを説明するか、package.jsonを貼り付けます。Nia Oracleが最適な3つのパックを選び、統合されたインストールスニペットを1つ提供します。
スポンサースタック — 各役割の実際
スポンサー | 役割 | このリポジトリでの接点 | |
🏆 | Nia (Nozomio) | インデックス基盤 · | |
🚀 | InsForge | 認証 + Postgres + エッジ — パックレジストリ、サブスクリプション、クエリログ | |
🛰 | Tensorlake | サンドボックス分離更新 · Webhookインデックス化 | |
🎯 | OpenAI Codex |
| |
▲ | Vercel | Next.js 16 / Turbopack · マーケットプレイスの表面 | |
⚡ | Convex | リアクティブな | |
🎓 | Devin | 自律型パックキュレーター · 実際の | |
🧠 | Hyperspell | プロティア — Slack/Gmail/Drive/GitHubからのプライベートな「社内脳」パック | |
🔍 | Aside | ブラウザコンパニオン — ドキュメントドメインを検出し、ワンクリックインストールを提供 |
これらすべてがデモ中にライブで呼び出されます。 52項目のエンドツーエンドスイート(scripts/e2e.ps1)が各パスを検証します:
pwsh -NoProfile -File scripts/e2e.ps1
# → 52 / 52 passed
# → All sponsors live, end-to-end.リポジトリの内容
niahub/
├─ apps/
│ ├─ web/ Next.js 16 marketplace + MCP gateway
│ │ ├─ app/
│ │ │ ├─ page.tsx homepage (grid · ticker · diff feed)
│ │ │ ├─ packs/[id]/page.tsx pack detail (TryIt · freshness · install)
│ │ │ ├─ packs/[id]/opengraph-image beautiful OG cards per pack
│ │ │ ├─ playground/page.tsx in-browser chat to any pack
│ │ │ ├─ recommend/page.tsx intent + package.json → Oracle picks
│ │ │ ├─ create/page.tsx Devin curator wizard
│ │ │ ├─ about/page.tsx pitch · how it works · arch diagram
│ │ │ ├─ me/page.tsx your subs + 14-day query sparkline
│ │ │ └─ api/
│ │ │ ├─ mcp/[pack_id]/route.ts MCP gateway (JSON-RPC, real Nia + Codex)
│ │ │ ├─ playground/route.ts browser equivalent + with/without compare
│ │ │ ├─ subscriptions/route.ts mint per-pack tokens + install snippet
│ │ │ ├─ recommend/route.ts Nia Oracle wrapper + ranker fallback
│ │ │ ├─ recommend/from-package package.json → tailored picks
│ │ │ ├─ curator/route.ts dispatch real Devin session
│ │ │ ├─ refresh/route.ts spin Tensorlake sandbox per pack
│ │ │ ├─ benchmark/route.ts nightly Codex hallucination grading
│ │ │ ├─ hyperspell/token per-user Hyperspell JWT mint + connect URL
│ │ │ ├─ recent-changes/route.ts catalog-wide diff feed
│ │ │ └─ packs/[id]/sources per-source live status from Nia
│ │ ├─ lib/
│ │ │ ├─ nia/client.ts real /v2/search query mode + snapshot-first
│ │ │ ├─ nia/snapshots.json 17 preloaded responses, all 8 packs
│ │ │ ├─ codex/auditor.ts gpt-5-mini benchmark + trace
│ │ │ ├─ tensorlake/indexer.ts Sandbox.create() refresh runner
│ │ │ ├─ convex/{feed,server}.ts useQuery + ConvexHttpClient.mutation
│ │ │ ├─ devin/curator.ts real /v1/sessions dispatch + polling
│ │ │ ├─ hyperspell.ts auth.userToken + collections.list
│ │ │ ├─ insforge.ts SDK auth + raw pg for SQL
│ │ │ ├─ env.ts per-sponsor demo flags
│ │ │ └─ install-snippet.ts single source of truth for mcp.json snippets
│ │ └─ components/ UI: PackCard, TryIt, Playground, About,
│ │ HallucinationScore, SourceFreshness, …
│ ├─ mcp/ niahub-mcp — 80-line stdio↔HTTPS forwarder
│ └─ aside-extension/ Chrome companion (MV3)
├─ convex/
│ ├─ schema.ts feed_events table
│ └─ feed.ts latest query + record mutation
├─ db/
│ ├─ schema.sql 6 tables (packs, subs, query_events, …)
│ └─ seed.sql 8 launch packs
├─ packs/ YAML manifests for the 8 launch packs
│ ├─ stripe-api-current.yaml
│ ├─ react-core.yaml
│ ├─ nextjs-app-router.yaml
│ ├─ postgres-17.yaml
│ ├─ aws-s3.yaml
│ ├─ tailwind-v4.yaml
│ ├─ mcp-protocol.yaml
│ └─ nozomio-self.yaml
├─ scripts/
│ ├─ bootstrap-pack.ts manifest YAML → real Nia category + sources
│ ├─ capture-snapshots.mjs hit live Nia, freeze responses
│ ├─ recapture-failures.mjs re-capture only ready sources
│ ├─ seed-missing-snapshots.mjs hand-written demo-grade snapshots
│ ├─ smoke-tensorlake.mjs isolated SDK smoke
│ ├─ smoke-codex.mjs inspect /v1/responses shape
│ ├─ db-migrate.ts apply schema + seed
│ ├─ patch-stripe-sources.mjs one-off DB patch helper
│ ├─ push-vercel-env.ps1 push .env.local to Vercel project
│ └─ e2e.ps1 52-check end-to-end suite
└─ docs/
├─ spec.md file-level implementation index
├─ demo.md 3-minute demo script
└─ pitch.md slide-deck-style pitch outline実行準備
前提条件
Node 20以上
無料のPostgres(InsForge CLI で
npx @insforge/cli signupを使用してプロビジョニング可能)trynia.ai からのNia APIキー
(オプション) 完全なスポンサー環境のためのTensorlake、Devin、OpenAI、Hyperspell、Convexキー
クイックスタート
git clone https://github.com/<you>/niahub
cd niahub
npm install
cp apps/web/.env.example apps/web/.env.local
# fill at minimum NIA_API_KEY + DATABASE_URL — every other sponsor falls back gracefully
npm run db:migrate -- --seed # apply schema + seed 8 packs
npm run dev # http://localhost:3000これで、マーケットプレイス、8つのパックページすべて、プレイグラウンド、レコメンドフロー、そしてローカルで動作するMCPゲートウェイが手に入ります。ライブのNia APIがレート制限されていても、スナップショットファーストのルックアップにより、標準的なデモの質問には即座に回答されます。
実際のNiaインデックスのブートストラップ(オプション)
シードには合成されたNiaカテゴリIDが含まれています。各パックを実際のNiaに接続するには:
node scripts/bootstrap-pack.ts packs/stripe-api-current.yaml
# repeat per pack, then:
node scripts/capture-snapshots.mjsapps/web/lib/nia/snapshots.json にあるスナップショットファイルには、17件のデモ品質の回答が含まれています。そのうち11件は実際のNiaからキャプチャされ、6件は公開ドキュメントをソースとして手書きされたものです。
NiaHubが障害時でもデモ可能な理由
ハッカソンデモの目的は、ライブ中に崩壊させないことです。NiaHubは、外部依存関係がダウンしても耐えられるように強化されています:
デモ中にこれがダウンした場合 | ユーザーに見えるもの |
Niaのレート制限 / ダウン | スナップショットパスが17件の標準的な質問すべてを300ms未満で提供 |
OpenAIのダウン | 「なぜこの回答なのか」トレースがホストリストの要約にフォールバック |
両方ダウン | スナップショット回答 + フォールバックトレース、約270ms |
Postgresのダウン | マーケットプレイスがメモリ内ミラーから8つのパックをレンダリング |
Convexのダウン | ライブティッカーが静かに合成フィードへフォールバック |
Cursorが予期しない入力をした場合 | ライブNiaへフォールスルー → それもダウンしている場合は、有用なデモ用プレースホルダー |
Oracleの1日クォータが枯渇 |
|
いつでもスイートを実行して検証してください:
pwsh -NoProfile -File scripts/e2e.ps13分間のデモ
詳細な手順は docs/demo.md にあります。概要:
0:00 – 0:10 niahub.dev にアクセス。ライブティッカーがスクロール中。
0:10 – 0:55 Stripeパックをクリック。「14日間のCheckoutトライアル」の提案をクリック。サイドバイサイドを切り替え。生の
gpt-5-miniが、引用されたNiaHubの回答の横でハルシネーションを起こす様子を観察。0:55 – 1:35 Cursorの瞬間 — 質問を貼り付け、
stripe-nodeGitHub issue #2231, #1418, #2274 への出典付きで、実際のStripe Checkoutコードを取得。出典をクリック。実際のStripeドキュメントページが開く。1:35 – 2:05
/aboutアーキテクチャタブ — 30秒で8つのスポンサーすべてを紹介。2:05 – 2:35
/recommend→ package.json 貼り付けタブ。依存関係をドロップ。根拠付きの推奨パックと統合スニペットを取得。2:35 – 2:55
/create— DevinキュレーターとHyperspellプロパックを説明。「今日:8パック。8週間後:800パック。」2:55 – 3:00 終了。ホームページへ強制カット。ティッカーはスクロールし続ける。
引用可能な数値
52 | エンドツーエンドチェックが通過、すべてのスポンサーがライブで検証済み |
8 | ファーストパーティのローンチパック |
17 | 事前ロードされたクエリ(実際のNiaキャプチャ + デモ品質のスナップショット) |
8 | 接続されたスポンサー、7つは到達可能なライブAPI表面を持つ |
<5 s |
|
<60 s | エディタ(Cursor)でアクセスから回答動作まで |
1時間ごと | Tensorlake経由での各パックの更新頻度 |
gpt-5-mini | 監査 + 「なぜこの回答なのか」トレースの背後にあるモデル |
ライセンス
Apache-2.0 — NiaのMCPサーバーと同じ、意図的な選択です。導入のハードルを下げています。
Nozomioハッカソン向けに構築、2026年5月9日、サンフランシスコ。
This server cannot be deployed
Maintenance
Related MCP Connectors
Curated knowledge API for AI agents - skill packs, semantic search, validated patterns.
Search GitHub, npm, PyPI, StackOverflow, ArXiv from one MCP — built for coding agents.
Make your knowledge agent-ready. One MCP endpoint, 5 connectors, 3 search modes.
Shared, peer-validated knowledge archive for AI agents — search, contribute, and validate via MCP
Related MCP Servers
- AlicenseAqualityDmaintenanceDelivers on-demand knowledge from a built-in library of 728 agents, skills, patterns, and examples across 26 domains to any MCP-compatible AI tool.611 npm1MIT

Mintlify Indexofficial
AlicenseNot gradedqualityDmaintenanceProvides real-time documentation retrieval for coding agents, answering implementation questions with compact, cited context assembled from developer documentation and live web search via a single MCP context tool.48MIT- AlicenseNot gradedqualityBmaintenanceEnables AI agents to query and manage a document knowledge base via MCP, with RAG-powered search and grounded answers with citations.MIT
- AlicenseAqualityCmaintenanceIt enables AI engineers to retrieve real-time official documentation for 45+ libraries, search across frameworks, and extract code examples directly inside MCP-compatible assistants, eliminating stale training data and outdated API usage.5MIT