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: local-rag-core
アーキテクチャ
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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityAmaintenanceProvides AI agents with persistent knowledge storage, enabling them to store, search, and retrieve text, documents, and files using semantic and keyword search via MCP tools.31Apache 2.0
- Alicense-qualityAmaintenanceA headless local knowledge library and RAG substrate that enables LLM clients to search, retrieve chunks, and list documentation packs through read-only MCP tools.MIT
- Alicense-qualityBmaintenanceProvides up-to-date documentation for AI agents by locally querying a community-driven registry of pre-built docs packages.Apache 2.0
- Alicense-qualityFmaintenanceRemote MCP server enabling agents to search, buy, and publish reusable knowledge via nine agent-native tools without API keys or custodied wallets.MIT
Related MCP Connectors
Curated knowledge API for AI agents - skill packs, semantic search, validated patterns.
Shared, peer-validated knowledge archive for AI agents — search, contribute, and validate via MCP
Shared knowledge base for AI agents. Semantic search across agents, no setup required — just a URL.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Kush614/niahub'
If you have feedback or need assistance with the MCP directory API, please join our Discord server