Nifra docs
Nifra docs, runnable examples, and API types as an MCP server for any AI assistant.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"nifra-docs": {
"url": "https://mcp.nifra.dev"
}
}
}远程端点
https://mcp.nifra.devstreamable-http它能做什么
工具清单
工具(6)
🟢nifra_docs(query, limit)
Search nifra's framework documentation and get back ONLY the matching sections - auth, uploads, ISR, WebSockets, loaders, deployment, anything. Call with no query for the cheap section index; pass query (e.g. "isr revalidate") for the top matching sections. Use this instead of reading llms-full.txt (~150 KB) whole. For the EXACT TypeScript of a type/interface/function, call nifra_types instead (don't read .d.ts files).
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 256,
"description": "Keywords to match against doc sections (omit for the index)."
},
"limit": {
"type": "number",
"description": "Max sections to return (default 3, max 5)."
}
},
"additionalProperties": false
}🟢nifra_example(query, limit)
Get a verified, copy-pasteable Nifra code example for a task - auth route, file upload, ISR page, loader/action, typed client, SSE, deployment, and more. Every snippet is typechecked against the installed Nifra version, so it compiles as-is. Returns code as text for direct use. Call with no query for the grouped index; pass query (e.g. "protected route", "upload", "isr revalidate") for matching snippets.
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 256,
"description": "What you want an example of (omit for the index)."
},
"limit": {
"type": "number",
"description": "Max examples to return (default 3, max 5)."
}
},
"additionalProperties": false
}🟢nifra_types(name, query, limit, full)
Get the exact TypeScript declaration of any exported @nifrajs/* symbol - interface, type, class, function, or const. Each signature is generated from the package's built .d.ts and returns the complete declaration rather than prose. Pass `name` for an exact symbol (e.g. "RateLimitStore", "RouteSchema", "Context", "rateLimit"); pass `query` to search by keyword; omit both for the per-package index of names. A `name` lookup is always the complete declaration; a `query` returns a one-line summary plus the signature, collapsing an oversized body - pass `full: true` to override.
输入模式
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Exact symbol name - returns its literal declaration (e.g. RateLimitStore)."
},
"query": {
"type": "string",
"maxLength": 256,
"description": "Keyword search over names + signatures (when you don't know the exact name)."
},
"limit": {
"type": "number",
"description": "Max results for a query/search (default 5, max 8)."
},
"full": {
"type": "boolean",
"description": "Query mode only: return whole declarations instead of collapsed ones. Off by default - a search is for picking a symbol, and one match can be tens of thousands of characters."
}
},
"additionalProperties": false
}🟢nifra_learn(step)
Walk the guided path to build a nifra app end to end - an ORDERED sequence (create → page route → loader → typed API → typed client → auth → background jobs → deploy), not the random-access search of nifra_docs/nifra_example. Call with no args for the step index; pass `step: N` for that step's goal, how to do it (which tool emits the correct artifact), and how to verify it. Use it when scaffolding a new app or learning nifra's flow - each step composes the other nifra_* tools.
输入模式
{
"type": "object",
"properties": {
"step": {
"type": "number",
"description": "1-based step number to expand (omit for the index)."
}
},
"additionalProperties": false
}🟢nifra_frontend(symptom, adapter, limit)
Diagnose a client-side Nifra problem by symptom across every adapter (React, Preact, Solid, Vue, Svelte, and vanilla). Returns the likely cause, a concrete fix, and how to verify it. Covers the Nifra server/client seam, hydration mismatches, duplicated framework runtimes, loader-data typing, and adapter-specific reactivity guidance. Call with no args for the index; pass `symptom` (e.g. "hydration mismatch", "value stopped updating") and/or `adapter` to filter.
输入模式
{
"type": "object",
"properties": {
"symptom": {
"type": "string",
"maxLength": 256,
"description": "What you observe (omit for the index)."
},
"adapter": {
"type": "string",
"enum": [
"react",
"preact",
"solid",
"vue",
"svelte",
"vanilla"
],
"description": "Filter to one adapter's entries (plus the adapter-independent seam entries)."
},
"limit": {
"type": "number",
"description": "Max entries to return (default 3, max 5)."
}
},
"additionalProperties": false
}🟢nifra_gallery(query)
Open an interactive, filterable gallery of ALL of nifra's verified code examples (MCP Apps widget) - for browsing and discovering what exists. NOT for fetching one snippet as text: use nifra_example for that. Pass query to pre-filter; the widget also filters client-side.
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Pre-filter examples by keyword."
}
},
"additionalProperties": false
}社区
证据