NEURA MCP Server
Read-only MCP server for NEURA's AI news platform, enabling clients to list, search, and retrieve published articles in English and Italian.
README
NEURA
An English-first, internationalized AI news platform built with Next.js, Supabase, and the Model Context Protocol (MCP). NEURA ships with a zero-configuration in-memory demo, so the complete public experience can run before any external service is configured.
What ships
- English-first routes with Italian content parity:
/enand/it. - Editorial home, infinite latest/category/search feeds, article pages, localized RSS, newsletter capture, and social share intents.
- Supabase Postgres schema with full-text search, row-level security, editorial roles, publication state, translations, newsletter subscriptions, and social distribution state.
- Public, stateless, read-only MCP server over Streamable HTTP at
/api/mcp. - Hexagonal boundaries: domain and application code do not depend on Next.js or Supabase.
- Server Components, route-level caching, optimized images, self-hosted fonts, and a token-driven design system.
- Vercel configuration and GitHub Actions quality gate.
Stack
- Next.js 16.3 and React 19.2
- TypeScript 5
- Supabase Postgres, Auth, and SSR client
- MCP TypeScript SDK
- Vitest and ESLint
@google/design.mdCLI 0.4
Run locally
Node.js 24 is used in CI and on Vercel. No environment variables are required for the public demo or for demo Studio during local development.
npm ci
npm run dev
Open http://localhost:3000. The root redirects permanently to /en; use /it for Italian. Demo data lives in memory and resets when the process restarts.
To make local settings explicit:
cp .env.example .env.local
Leave both Supabase variables empty for the public memory fallback. Local development also enables the ephemeral demo Studio. Production Studio fails closed without Supabase unless NEURA_ENABLE_DEMO_STUDIO=true is set explicitly for an intentional, disposable review deployment.
Quality gate
npm run check
The gate runs design-system validation, lint, TypeScript, tests, and the production build. GitHub Actions runs the same checks from a clean npm ci install.
MCP quick check
Discovery metadata:
curl http://localhost:3000/api/mcp/info
Read the latest English articles:
curl --request POST http://localhost:3000/api/mcp \
--header 'Content-Type: application/json' \
--header 'Accept: application/json, text/event-stream' \
--header 'MCP-Protocol-Version: 2025-11-25' \
--data '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_articles","arguments":{"locale":"en","limit":3}}}'
See MCP.md for initialization, tools, pagination, CORS, and production client configuration.
Production setup
- Reproduce the database locally with the committed Supabase configuration, migration, and seed.
- Create separate Supabase projects for Preview/Staging and Production.
- Dry-run and apply the migration; do not automatically seed production.
- Bootstrap the first Auth editor through the Supabase Dashboard and a bounded SQL grant.
- Import this repository into Vercel, set the documented environment variables, and deploy.
- Run the HTTP, localization, Supabase, newsletter, and MCP smoke checks.
Full instructions: DEPLOYMENT.md.
Documentation
- Architecture and boundaries
- Deployment and environment setup
- Internationalization and content model
- MCP server and client usage
- Operations, performance budgets, troubleshooting, and rollback
- Independent optimization report
- Design system source
Security model
- The application uses only the public Supabase URL and anon/publishable key. Never add a service-role key to this project or to a
NEXT_PUBLIC_*variable. - Supabase RLS is the authorization boundary. Proxy and UI checks are convenience layers, not authorization.
- Anonymous users can read only published content and call the constrained, idempotent newsletter subscription RPC; direct table inserts are denied.
- Only authenticated users mapped to an
editororadminprofile can mutate editorial data. - The MCP surface is intentionally read-only and exposes only published content.
Repository map
src/app/ Next.js delivery adapter
src/components/ UI components
src/i18n/ locale contract and message catalogs
src/modules/editorial/domain/ entities, invariants, and ports
src/modules/editorial/application/ use cases and cached queries
src/modules/editorial/infrastructure/ memory and Supabase adapters
src/modules/mcp/ public MCP delivery adapter
supabase/migrations/ versioned database schema and RLS
supabase/seed.sql deterministic development content
The canonical architecture description is ARCHITECTURE.md.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。