Nifra docs

Nifra docs, runnable examples, and API types as an MCP server for any AI assistant.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
90%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,096Tokens (tool definitions)
~829 BTypical response size
Moderate attention impact (0.86% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "nifra-docs": {
      "url": "https://mcp.nifra.dev"
    }
  }
}

Remote endpoints

https://mcp.nifra.devstreamable-http

What it can do

Tool inventory

Tools (5)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢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).

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "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, etc. Every snippet is typechecked against the installed nifra version, so it compiles as-is. PREFER THIS over writing nifra code from memory (training data drifts). Returns code as TEXT for direct use; to visually browse the whole example set instead, use nifra_gallery. Call with no query for the grouped index; pass query (e.g. "protected route", "upload", "isr revalidate") for matching snippets.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "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, const. Each signature is generated from the package's built .d.ts, so it is the LITERAL declaration: complete, authoritative, never prose and never truncated. THIS IS THE SOURCE OF TRUTH for nifra's types - do NOT read node_modules/@nifrajs/**/*.d.ts; call this instead. 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.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Exact symbol name - returns its literal declaration (e.g. RateLimitStore)."
    },
    "query": {
      "type": "string",
      "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.

Input Schema

{
  "type": "object",
  "properties": {
    "step": {
      "type": "number",
      "description": "1-based step number to expand (omit for the index)."
    }
  },
  "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.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Pre-filter examples by keyword."
    }
  },
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded5 tools
verifiedversion not recorded5 tools