Skip to main content
Glama

NiaHub — Маркетплейс индексов Nia

Индексируй один раз, подписывайся одной строкой. Маркетплейс предварительно проиндексированных пакетов знаний Nia, на которые любой агент, совместимый с MCP (Cursor, Claude Code, Codex), может подписаться с помощью одной вставки. Stripe, React, Next.js, Postgres, AWS, Tailwind, MCP, Nozomio — предварительно проиндексированы, обновляются ежечасно, с опорой на источники.

Создано для хакатона Nozomio · 9 мая 2026 г. · Сан-Франциско

e2e sponsors preloaded license


Проблема

Каждый пользователь Cursor хочет, чтобы его агент опирался на реальную документацию, а не на данные обучения 2022 года. Они хотят Nia. Но:

  • Каждый заново индексирует одни и те же документы Stripe / React / Postgres / S3 на своем ноутбуке

  • Никто не поддерживает эти индексы — они устаревают в течение недели

  • Выбор правильных URL, веток и частоты обновления — это самая сложная часть

  • Трудности при настройке достаточно велики, чтобы большинство команд даже не начинали

NiaHub меняет это. Индексируй один раз, подписывайся одной строкой. Восемь стартовых пакетов, обновляемых ежечасно с помощью Tensorlake, проверяемых каждую ночь с помощью Codex, обслуживаемых менее чем за 300 мс через шлюз, ориентированный на снимки, который обращается к реальному Nia.

// ~/.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. Спросите: "Создай сессию Stripe Checkout для подписки с 14-дневным пробным периодом." Cursor вызывает niahub_search_pack, шлюз возвращает реальные фрагменты из текущей документации Stripe, gpt-5-mini пишет трассировку "почему этот ответ", и Cursor выдает правильный код со ссылками на актуальные URL docs.stripe.com.


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

Три демонстрационных пути, все работают в реальном времени:

  1. /playground (только браузер) — выберите пакет, нажмите на подсказку, сравнение галлюцинаций появится менее чем за 5 секунд. Без настройки Cursor.

  2. Cursor MCP — вставьте ~/.cursor/mcp.json, перезапустите, спросите. Реальный агент, реальные фрагменты, реальные цитаты. Около 60 секунд от начала до конца для нового пользователя.

  3. /recommend — опишите свой стек или вставьте package.json. Nia Oracle выберет 3 лучших пакета и даст вам один комбинированный фрагмент для установки.


Стек спонсоров — что делает каждый из них

Спонсор

Роль

Точка взаимодействия в этом репозитории

🏆

Nia (Nozomio)

Индексирующая подложка · POST /v2/search · Oracle

apps/web/lib/nia/client.ts

🚀

InsForge

Auth + Postgres + edge — реестр пакетов, подписки, журнал запросов

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

🛰

Tensorlake

Изолированное обновление в песочнице · индексация вебхуков

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

Pro-уровень — приватные пакеты "корпоративного мозга" из 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 (CLI InsForge предоставляет её через npx @insforge/cli signup)

  • API-ключ Nia с trynia.ai

  • (Опционально) Ключи 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, работающий локально — с поиском по снимкам, поэтому канонические демонстрационные вопросы отвечают мгновенно, даже если API Nia ограничен по частоте запросов.

Загрузка реальных индексов Nia (опционально)

Сид поставляется с синтетическими ID категорий Nia. Чтобы подключить каждый пакет к реальному 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 канонических вопросов менее чем за 300 мс

OpenAI упал

Трассировка "почему этот ответ" переключается на сводку хост-листа

Оба упали

Ответ из снимка + резервная трассировка, ~270 мс

Postgres упал

Маркетплейс отображает 8 пакетов из зеркала в памяти

Convex упал

Живой тикер тихо переключается на синтетическую ленту

Cursor вводит что-то неожиданное

Переход к реальному Nia → если он тоже упал, полезный демонстрационный плейсхолдер

Дневная квота Oracle исчерпана

Тайм-аут /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 Checkout со ссылками на issues GitHub stripe-node #2231, #1418, #2274. Нажимаем на цитату. Она открывается на реальной странице документации Stripe.

  4. 1:35 – 2:05 Вкладка архитектуры /about — упоминаем всех 8 спонсоров за 30 секунд.

  5. 2:05 – 2:35 /recommend → Вкладка вставки package.json. Сбрасываем зависимости. Получаем индивидуальные рекомендации с обоснованием + комбинированный фрагмент.

  6. 2:35 – 2:55 /create — объясняем куратора Devin + про-пакеты Hyperspell. "Сегодня: 8 пакетов. Через восемь недель: 800."

  7. 2:55 – 3:00 Закрытие. Резкий переход на главную страницу. Тикер все еще прокручивается.


Цифры, которые можно цитировать

52

пройденных сквозных проверок, каждый спонсор проверен вживую

8

собственных стартовых пакетов

17

предварительно загруженных запросов (реальные захваты Nia + снимки демо-уровня)

8

подключенных спонсоров, 7 с доступным живым API

<5 с

вход → цитируемый ответ в /playground

<60 с

вход → рабочий ответ в вашем редакторе (Cursor)

ежечасно

частота обновления каждого пакета через Tensorlake

gpt-5-mini

модель, стоящая за аудитом + трассировкой "почему этот ответ"


Лицензия

Apache-2.0 — такая же, как у MCP-сервера Nia, намеренно. Легкий путь внедрения.

Создано для хакатона Nozomio, 9 мая 2026 г., Сан-Франциско.

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