Skip to main content
Glama

NiaHub — Niaインデックスマーケットプレイス

一度インデックス化すれば、一行でサブスクライブ。 どんなMCP互換エージェント(Cursor、Claude Code、Codex)でも、貼り付けるだけでサブスクライブできる、事前インデックス済みNiaナレッジパックのマーケットプレイスです。Stripe、React、Next.js、Postgres、AWS、Tailwind、MCP、Nozomioなど、事前インデックス化され、1時間ごとに更新され、出典に基づいた回答を提供します。

Nozomioハッカソン向けに構築 · 2026年5月9日 · サンフランシスコ

e2e sponsors preloaded license


ウェッジ(切り口)

すべての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| Convex

3つのデモパス、すべてライブ:

  1. /playground (ブラウザのみ) — パックを選択し、提案をクリックすると、ハルシネーション(幻覚)の比較差分が5秒以内に表示されます。Cursorのセットアップは不要です。

  2. Cursor MCP — ~/.cursor/mcp.json に貼り付けて、再起動して、尋ねるだけ。本物のエージェント、本物のチャンク、本物の出典。初回ユーザーでもエンドツーエンドで約60秒。

  3. /recommend — スタックを説明するか、package.json を貼り付けます。Nia Oracleが最適な3つのパックを選び、統合されたインストールスニペットを1つ提供します。


スポンサースタック — 各役割の実際

スポンサー

役割

このリポジトリでの接点

🏆

Nia (Nozomio)

インデックス基盤 · POST /v2/search · Oracle

apps/web/lib/nia/client.ts

🚀

InsForge

認証 + Postgres + エッジ — パックレジストリ、サブスクリプション、クエリログ

apps/web/lib/insforge.ts, db/schema.sql

🛰

Tensorlake

サンドボックス分離更新 · Webhookインデックス化

apps/web/lib/tensorlake/indexer.ts

🎯

OpenAI Codex

gpt-5-mini ハルシネーション監査 + 「なぜこの回答なのか」トレース

apps/web/lib/codex/auditor.ts

▲

Vercel

Next.js 16 / Turbopack · マーケットプレイスの表面

apps/web/app/**

⚡

Convex

リアクティブな feed_events クエリ · ライブインストールティッカー

convex/feed.ts, apps/web/lib/convex/feed.ts

🎓

Devin

自律型パックキュレーター · 実際の /v1/sessions ディスパッチ

apps/web/lib/devin/curator.ts

🧠

Hyperspell

プロティア — Slack/Gmail/Drive/GitHubからのプライベートな「社内脳」パック

apps/web/lib/hyperspell.ts

🔍

Aside

ブラウザコンパニオン — ドキュメントドメインを検出し、ワンクリックインストールを提供

apps/aside-extension/

これらすべてがデモ中にライブで呼び出されます。 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.mjs

apps/web/lib/nia/snapshots.json にあるスナップショットファイルには、17件のデモ品質の回答が含まれています。そのうち11件は実際のNiaからキャプチャされ、6件は公開ドキュメントをソースとして手書きされたものです。


NiaHubが障害時でもデモ可能な理由

ハッカソンデモの目的は、ライブ中に崩壊させないことです。NiaHubは、外部依存関係がダウンしても耐えられるように強化されています:

デモ中にこれがダウンした場合

ユーザーに見えるもの

Niaのレート制限 / ダウン

スナップショットパスが17件の標準的な質問すべてを300ms未満で提供

OpenAIのダウン

「なぜこの回答なのか」トレースがホストリストの要約にフォールバック

両方ダウン

スナップショット回答 + フォールバックトレース、約270ms

Postgresのダウン

マーケットプレイスがメモリ内ミラーから8つのパックをレンダリング

Convexのダウン

ライブティッカーが静かに合成フィードへフォールバック

Cursorが予期しない入力をした場合

ライブNiaへフォールスルー → それもダウンしている場合は、有用なデモ用プレースホルダー

Oracleの1日クォータが枯渇

/recommend が30秒でタイムアウト → 決定論的ランキングへフォールバック(それでも3つ選出)

いつでもスイートを実行して検証してください:

pwsh -NoProfile -File scripts/e2e.ps1

3分間のデモ

詳細な手順は docs/demo.md にあります。概要:

  1. 0:00 – 0:10 niahub.dev にアクセス。ライブティッカーがスクロール中。

  2. 0:10 – 0:55 Stripeパックをクリック。「14日間のCheckoutトライアル」の提案をクリック。サイドバイサイドを切り替え。生の gpt-5-mini が、引用されたNiaHubの回答の横でハルシネーションを起こす様子を観察。

  3. 0:55 – 1:35 Cursorの瞬間 — 質問を貼り付け、stripe-node GitHub issue #2231, #1418, #2274 への出典付きで、実際のStripe Checkoutコードを取得。出典をクリック。実際のStripeドキュメントページが開く。

  4. 1:35 – 2:05 /about アーキテクチャタブ — 30秒で8つのスポンサーすべてを紹介。

  5. 2:05 – 2:35 /recommend → package.json 貼り付けタブ。依存関係をドロップ。根拠付きの推奨パックと統合スニペットを取得。

  6. 2:35 – 2:55 /create — DevinキュレーターとHyperspellプロパックを説明。「今日:8パック。8週間後:800パック。」

  7. 2:55 – 3:00 終了。ホームページへ強制カット。ティッカーはスクロールし続ける。


引用可能な数値

52

エンドツーエンドチェックが通過、すべてのスポンサーがライブで検証済み

8

ファーストパーティのローンチパック

17

事前ロードされたクエリ(実際のNiaキャプチャ + デモ品質のスナップショット)

8

接続されたスポンサー、7つは到達可能なライブAPI表面を持つ

<5 s

/playground でアクセスから回答引用まで

<60 s

エディタ(Cursor)でアクセスから回答動作まで

1時間ごと

Tensorlake経由での各パックの更新頻度

gpt-5-mini

監査 + 「なぜこの回答なのか」トレースの背後にあるモデル


ライセンス

Apache-2.0 — NiaのMCPサーバーと同じ、意図的な選択です。導入のハードルを下げています。

Nozomioハッカソン向けに構築、2026年5月9日、サンフランシスコ。

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Delivers on-demand knowledge from a built-in library of 728 agents, skills, patterns, and examples across 26 domains to any MCP-compatible AI tool.
    6
    11 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides 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.
    48
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to query and manage a document knowledge base via MCP, with RAG-powered search and grounded answers with citations.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    It 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.
    5
    MIT