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: 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| 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 CLInpx @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日、サンフランシスコ。

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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