niahub-mcp
NiaHub — Маркетплейс индексов Nia
Индексируй один раз, подписывайся одной строкой. Маркетплейс предварительно проиндексированных пакетов знаний Nia, на которые любой агент, совместимый с MCP (Cursor, Claude Code, Codex), может подписаться с помощью одной вставки. Stripe, React, Next.js, Postgres, AWS, Tailwind, MCP, Nozomio — предварительно проиндексированы, обновляются ежечасно, с опорой на источники.
Создано для хакатона Nozomio · 9 мая 2026 г. · Сан-Франциско
Проблема
Каждый пользователь 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Три демонстрационных пути, все работают в реальном времени:
/playground(только браузер) — выберите пакет, нажмите на подсказку, сравнение галлюцинаций появится менее чем за 5 секунд. Без настройки Cursor.Cursor MCP — вставьте
~/.cursor/mcp.json, перезапустите, спросите. Реальный агент, реальные фрагменты, реальные цитаты. Около 60 секунд от начала до конца для нового пользователя./recommend— опишите свой стек или вставьтеpackage.json. Nia Oracle выберет 3 лучших пакета и даст вам один комбинированный фрагмент для установки.
Стек спонсоров — что делает каждый из них
Спонсор | Роль | Точка взаимодействия в этом репозитории | |
🏆 | Nia (Nozomio) | Индексирующая подложка · | |
🚀 | InsForge | Auth + Postgres + edge — реестр пакетов, подписки, журнал запросов | |
🛰 | Tensorlake | Изолированное обновление в песочнице · индексация вебхуков | |
🎯 | OpenAI Codex | Аудит галлюцинаций | |
▲ | Vercel | Next.js 16 / Turbopack · интерфейс маркетплейса | |
⚡ | Convex | Реактивный запрос | |
🎓 | Devin | Автономный куратор пакетов · реальная отправка | |
🧠 | Hyperspell | Pro-уровень — приватные пакеты "корпоративного мозга" из 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 (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 исчерпана | Тайм-аут |
Запускайте набор тестов для проверки в любое время:
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 Checkout со ссылками на issues GitHub
stripe-node#2231, #1418, #2274. Нажимаем на цитату. Она открывается на реальной странице документации Stripe.1:35 – 2:05 Вкладка архитектуры
/about— упоминаем всех 8 спонсоров за 30 секунд.2:05 – 2:35
/recommend→ Вкладка вставки package.json. Сбрасываем зависимости. Получаем индивидуальные рекомендации с обоснованием + комбинированный фрагмент.2:35 – 2:55
/create— объясняем куратора Devin + про-пакеты Hyperspell. "Сегодня: 8 пакетов. Через восемь недель: 800."2:55 – 3:00 Закрытие. Резкий переход на главную страницу. Тикер все еще прокручивается.
Цифры, которые можно цитировать
52 | пройденных сквозных проверок, каждый спонсор проверен вживую |
8 | собственных стартовых пакетов |
17 | предварительно загруженных запросов (реальные захваты Nia + снимки демо-уровня) |
8 | подключенных спонсоров, 7 с доступным живым API |
<5 с | вход → цитируемый ответ в |
<60 с | вход → рабочий ответ в вашем редакторе (Cursor) |
ежечасно | частота обновления каждого пакета через Tensorlake |
gpt-5-mini | модель, стоящая за аудитом + трассировкой "почему этот ответ" |
Лицензия
Apache-2.0 — такая же, как у MCP-сервера Nia, намеренно. Легкий путь внедрения.
Создано для хакатона Nozomio, 9 мая 2026 г., Сан-Франциско.
This server cannot be deployed
Maintenance
Related MCP Connectors
Curated knowledge API for AI agents - skill packs, semantic search, validated patterns.
Search GitHub, npm, PyPI, StackOverflow, ArXiv from one MCP — built for coding agents.
Make your knowledge agent-ready. One MCP endpoint, 5 connectors, 3 search modes.
Shared, peer-validated knowledge archive for AI agents — search, contribute, and validate via MCP
Related MCP Servers
- AlicenseAqualityDmaintenanceDelivers on-demand knowledge from a built-in library of 728 agents, skills, patterns, and examples across 26 domains to any MCP-compatible AI tool.611 npm1MIT

Mintlify Indexofficial
AlicenseNot gradedqualityDmaintenanceProvides 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.48MIT- AlicenseNot gradedqualityBmaintenanceEnables AI agents to query and manage a document knowledge base via MCP, with RAG-powered search and grounded answers with citations.MIT
- AlicenseAqualityCmaintenanceIt 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.5MIT