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 | $0.02005 | $0.02005 |
| Sonnet 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 8d 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.
- 8d 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 7d ago), licensed MIT. It adds 4,010 tokens to every session, about $0.0200 per session on Opus 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.
Other instructions, from other repositories
next.js AGENTS.md
AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.
codex AGENTS.md
AGENTS.md instructions for openai/codex, covering rust/codex-rs, the codex-core crate, code review rules, crate api surface and model visible context.
vscode buildNext.instructions.md
Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).
vscode oss-third-party-notices.instructions.md
Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, applying the notice (cutover) and fallback chain (never fail the build).
langchain AGENTS.md
AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.
spec-kit AGENTS.md
AGENTS.md instructions for github/spec-kit, covering agents.md, about spec kit and specify, quickstart — add a new integration in 5 steps, integration architecture and integrationmanifest — file tracking.