Borrowing it
Nothing to install: this file belongs to kocicjelena/nextjs-mcp-kit. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/kocicjelena/nextjs-mcp-kit/main/CLAUDE.mdgit clone --depth 1 https://github.com/kocicjelena/nextjs-mcp-kitWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/kocicjelena/nextjs-mcp-kit/claude-md)<a href="https://agentmods.dev/instructions/kocicjelena/nextjs-mcp-kit/claude-md"><img src="https://agentmods.dev/badge/instructions/kocicjelena/nextjs-mcp-kit/claude-md/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/instructions/kocicjelena/nextjs-mcp-kit/claude-md"><img src="https://agentmods.dev/badge/instructions/kocicjelena/nextjs-mcp-kit/claude-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.04010 | $0.04010 |
| Opus 5.5 | $0.01604 | $0.01604 |
| Sonnet 5.5 | $0.00802 | $0.00802 |
| Haiku 4.5 | $0.00401 | $0.00401 |
Grade A, and why
nextjs-mcp-kit CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 347 lines — stays where its author put it; the contents beside it link to each section on GitHub.
nextjs-mcp-kit
A standalone Next.js (App Router) package: an MCP server, an MCP client, and a provider-agnostic chat UI.
Published to the npm registry as nextjs-mcp-kit — a library other people
install. Two consumer modes, both verified end to end:
npm i nextjs-mcp-kitinto an existing Next.js app, thennpx nextjs-mcp-kit init- an empty directory with only
npm initrun —initscaffolds a whole app
(The name nextjs-mcp was already taken on npm. See docs/PUBLISH.md.)
This repository is self-contained. It has no dependency on, and must not reference, any other project on this machine.
Two surfaces, deliberately separate:
| Route | What it is |
|---|---|
/ |
MCP prompt chat — prompts served by this app's own MCP server |
/chat |
Plain chat — pick a provider + model, set instructions, talk. No tools. |
/add-tool |
Make a tool: by form, by .md/.txt upload, or from a skill |
/mcp-dashboard |
What the MCP server serves, and the mcp.json to point a client at it |
/personal-chat |
Instructions + tools + a streamed reply, with the trace named |
/smart-chat |
Does a tool fit this prompt? It decides, in the open |
Non-negotiables
These are the constraints this was built under. Do not quietly relax them.
- No tools in
/chat./chatsends messages and nothing else, andsrc/api/chat.tsstays a plain conversation forever. Tool calling lives on its own route,/api/agent-chat, which calls the provider registry directly. It does not wrap/api/chat— asking a model to pick a tool by making a second call to a chat endpoint is a cheap imitation of the tool machinery every provider already has. Seedocs/PLAN_NOT_CHEAP.md. - Nothing prebuilt or scaffolded "for later." No placeholder tool
registries, no dead abstractions. Add a thing when it is used. Two routes
(
/api/models/capabilities,/api/models/pull) were deleted for exactly this reason — they were tool-calling groundwork nothing called. - Simplicity over cleverness — but reusable. The provider seam exists because it removes branching everywhere else, not because it is grand.
- This repository is independent. Everything it needs lives here.
- Context is only what this app needs. Two slices:
agentandinstruction— no speculative slices carried in from elsewhere. - It is on npm. Favour clear public seams and no machine-specific assumptions; a consumer installs this, they do not clone your setup.
- What is advertised must be served. The MCP catalogue and the MCP server derive from one list. See "The drift rule" below — this is not a style preference, it is the bug that shipped last time.
- One tool record is the truth. A tool is stored once, neutrally, and each
provider's dialect is derived from it (
src/tools/dialects/). Two hand-kept per-provider lists is rule 7's bug wearing a new hat. - Never silently answer without a tool that was asked for. A provider that
cannot tool-call, or a model without the capability, is reported before
Send — the same contract
isAvailable()follows. A quiet downgrade to plain chat is worse than an error, because nobody is told. - Never split tool results across messages. All results from one assistant turn go back in exactly one user message. Anthropic does not error on this; it just stops making parallel calls, which is a silent degradation.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 347 lines · 4,010 tokens per session scan A 7a0b876d5148
nextjs-mcp-kit CLAUDE.md is an instructions file published in the GitHub repository kocicjelena/nextjs-mcp-kit (1 stars, last pushed 2mo ago), licensed MIT. It adds 4,010 tokens to every session, about $0.0160 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
nextjs-mcp-kit CLAUDE.md compared with instructions from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| nextjs-mcp-kit CLAUDE.mdkocicjelena/nextjs-mcp-kit | Instructions file | 1 | 2mo ago | MIT | A | 4,010 | Claude Code |
| vscode buildNext.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 9,719 | GitHub Copilot |
| next.js AGENTS.mdvercel/next.js | Instructions file | 143k | yesterday | MIT | A | 7,461 | Codex, OpenCode |
| langchain AGENTS.mdlangchain-ai/langchain | Instructions file | 149k | yesterday | MIT | A | 4,680 | Codex, OpenCode |
| vscode oss-third-party-notices.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 5,516 | GitHub Copilot |
| vscode copilot-instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 3,093 | GitHub Copilot |
| deepseek-harness AGENTS.mddeepseek-ai/deepseek-harness | Instructions file | 274k | 2d ago | MIT | A | 4,313 | Codex, OpenCode |