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: 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

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

  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 г., Сан-Франциско.

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