@rsc-kit/mcp
Version:
An MCP server over what an rsc-kit build decided: the routes, why each one is static or not, and what it costs the browser.
268 lines (267 loc) • 8.49 kB
JSON
[
{
"slug": "api-routes",
"title": "API routes",
"description": "Web-standard endpoints, colocated with your pages, with no configuration."
},
{
"slug": "authorization",
"title": "Authorization",
"description": "Protecting pages, server actions and API routes."
},
{
"slug": "backend-answered-pages",
"title": "Backend-Answered Pages",
"description": "BAP — the model for an rsc-kit app with a backend behind it, and how to build for it."
},
{
"slug": "bap-vs-inertia",
"title": "BAP vs Inertia",
"description": "Two ways to put React in front of Laravel, and when each is the right one."
},
{
"slug": "bun",
"title": "Running on Bun",
"description": "What is different when the runtime is Bun — and what only looks like it is."
},
{
"slug": "caching",
"title": "Asking once per request",
"description": "cache() — one lookup, however many places need it."
},
{
"slug": "coming-from-inertia",
"title": "Coming from Inertia",
"description": "A Laravel + Inertia React app, ported page by page — what stays in Laravel, what the pages become, and what goes."
},
{
"slug": "coming-from-next",
"title": "Coming from Next.js",
"description": "What carries over unchanged, what to rename, and what is different on purpose."
},
{
"slug": "connection",
"title": "Rendering per request",
"description": "Marking work that belongs to the visitor, not to the build."
},
{
"slug": "deployment",
"title": "Deploying",
"description": "What to ship, and the two settings that fail quietly."
},
{
"slug": "domains",
"title": "Domains and subdomains",
"description": "A host as a route segment — admin.example.com reaches app/admin, a tenant's host binds [domain] — with nothing to rewrite."
},
{
"slug": "edge-caching",
"title": "Serving shells from a CDN",
"description": "Putting build-time shells on the edge, and what rsc-kit does not do."
},
{
"slug": "emails",
"title": "Emails and other HTML",
"description": "Rendering React to HTML on the server — an email, a PDF, a feed — from a server action or a route, with \"use ssr\"."
},
{
"slug": "errors",
"title": "Errors and 404s",
"description": "What a visitor sees when a page throws, or asks for a url nothing answers."
},
{
"slug": "feature-flags",
"title": "Feature flags",
"description": "Vercel's Flags SDK runs unchanged — flags/next, without Next."
},
{
"slug": "file-uploads",
"title": "File uploads",
"description": "Sending files through a server action without encoding them."
},
{
"slug": "fonts",
"title": "Fonts",
"description": "Self-hosted fonts from npm, and what next/font was doing for you."
},
{
"slug": "forms",
"title": "Forms",
"description": "Progressive forms, pending state and validation errors."
},
{
"slug": "getting-started",
"title": "Getting started",
"description": "Serve React Server Components from any JavaScript backend."
},
{
"slug": "go",
"title": "Go",
"description": "A Go process behind the renderer — functions, guards and actions in Go."
},
{
"slug": "images",
"title": "Images",
"description": "Responsive images with no optimizer to run — unpic for a CDN, imagetools for files in the repo."
},
{
"slug": "installation",
"title": "Installation",
"description": "From an empty directory to a streaming RSC app."
},
{
"slug": "instrumentation",
"title": "Startup",
"description": "instrumentation.ts runs once, before anything else."
},
{
"slug": "introduction",
"title": "Introduction",
"description": "React Server Components as a Vite plugin, deployed wherever you like."
},
{
"slug": "laravel",
"title": "Laravel",
"description": "React Server Components in front, a Laravel application behind them."
},
{
"slug": "live-data",
"title": "Live data",
"description": "Keep what a page shows current as the data changes - refreshOn, events, polling."
},
{
"slug": "mcp",
"title": "Working with an AI agent",
"description": "An MCP server that answers from your actual build, and the AGENTS.md written into every project."
},
{
"slug": "metadata",
"title": "Page metadata",
"description": "Titles, descriptions and Open Graph tags, exported from the page."
},
{
"slug": "navigation",
"title": "Navigation",
"description": "What happens when someone clicks a link, and why state survives it."
},
{
"slug": "no-javascript",
"title": "A page with no JavaScript",
"description": "The default is none. A client component is how a page asks for it."
},
{
"slug": "offline",
"title": "Offline",
"description": "Knowing when the server cannot be reached, and carrying on without it."
},
{
"slug": "openapi",
"title": "OpenAPI",
"description": "A document derived from your route.ts files, and Scalar's page over it."
},
{
"slug": "ppr",
"title": "Partial prerendering",
"description": "Storing what every visitor sees the same, and rendering the rest per request."
},
{
"slug": "pwa",
"title": "Progressive web apps",
"description": "Making the app installable, and adding push notifications and background sync."
},
{
"slug": "queries",
"title": "Queries",
"description": "Reading from the server over GET, and letting TanStack Query or SWR own everything above it."
},
{
"slug": "quick-start",
"title": "Quick start",
"description": "A running app in one command, or added to a project you already have."
},
{
"slug": "react-compiler",
"title": "React Compiler",
"description": "Enabling the compiler in the build."
},
{
"slug": "redirects",
"title": "Redirects",
"description": "Leaving a page from inside the render, and what that costs."
},
{
"slug": "response-headers",
"title": "Headers and cookies",
"description": "Setting response headers and cookies during a render."
},
{
"slug": "route-interception",
"title": "Route interception",
"description": "Opening a route as a modal over the page you were on."
},
{
"slug": "routing",
"title": "Routing",
"description": "File-based routes, layouts, loading states and parallel slots."
},
{
"slug": "sections",
"title": "Sections",
"description": "Refreshing one region of a page without re-rendering the rest."
},
{
"slug": "seo-files",
"title": "robots, sitemap and llms.txt",
"description": "The files a site describes itself with, from a file beside the root layout — written the way Next writes them, stored at build when they can be."
},
{
"slug": "server-actions",
"title": "Server actions",
"description": "Calling the server from a client component, as an ordinary function."
},
{
"slug": "static-generation",
"title": "Static generation",
"description": "Rendering pages ahead of time, and exporting a site of files."
},
{
"slug": "testing",
"title": "Testing",
"description": "Three tiers, and the one thing that still needs a browser."
},
{
"slug": "third-party-scripts",
"title": "Third-party scripts",
"description": "Analytics, tag managers and widgets — and why there is no Script component."
},
{
"slug": "typed-routes",
"title": "Typed routes",
"description": "Links that fail the typecheck instead of the browser."
},
{
"slug": "url-validation",
"title": "Typed URLs",
"description": "Checking and typing params, query strings and request bodies with a schema you already write."
},
{
"slug": "validation",
"title": "Validation",
"description": "Surfacing server-side validation errors in a form."
},
{
"slug": "view-transitions",
"title": "View transitions",
"description": "Navigations are an instant swap; a shared element is the transition worth having, and the page fade is the one to think twice about."
},
{
"slug": "where-it-runs",
"title": "Where it runs",
"description": "A host is a Nitro preset, not a server you write."
},
{
"slug": "your-own-backend",
"title": "Your own backend",
"description": "The one endpoint a backend in any language answers."
}
]