UNPKG

@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.

273 lines (272 loc) • 8.65 kB
[ { "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": "commands", "title": "Commands", "description": "A release step or a worker is the same app started differently — ./app migrate." }, { "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." } ]