Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/kaminari-ad/mcpWrote 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/rules/kaminari-ad/mcp/mcp-architecture)<a href="https://agentmods.dev/rules/kaminari-ad/mcp/mcp-architecture"><img src="https://agentmods.dev/badge/rules/kaminari-ad/mcp/mcp-architecture/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/rules/kaminari-ad/mcp/mcp-architecture"><img src="https://agentmods.dev/badge/rules/kaminari-ad/mcp/mcp-architecture.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.00000 | $0.01348 |
| Opus 5.5 | $0.00000 | $0.00539 |
| Sonnet 5.5 | $0.00000 | $0.00270 |
| Haiku 4.5 | $0.00000 | $0.00135 |
Grade A, and why
mcp-architecture 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 today.
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 — 120 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Architecture Rules — mcp/
This project follows DDD (Domain-Driven Design) + Hexagonal Architecture (Ports & Adapters) with manual constructor injection. The structure mirrors the api repo, adapted for TypeScript.
Layers
src/
├── domain/ # Inner core — depends on nothing outward
│ ├── value-objects/
│ ├── ports/ # interfaces (1 file = 1 port)
│ └── services/ # pure decision policies (no I/O)
├── application/ # use cases
│ ├── tools/ # MCP tool definitions (1 file = 1 tool)
│ └── tool-registry.ts
├── infrastructure/ # adapters implementing ports
│ ├── api/
│ ├── logging/
│ ├── session/
│ ├── rate-limit/
│ ├── clock/
│ └── error-reporting/
├── presentation/ # transports — composition roots
│ ├── stdio/
│ └── http/
├── shared/ # generic utilities (Result, config schema)
└── bin.ts # CLI entry; dispatches to a bootstrap
Dependency direction (enforced by dependency-cruiser)
presentation ──→ application ──→ domain
↑
infrastructure ─────────────────┘ (implements ports)
shared ←── used by anyone, depends on nothing
Concretely:
domain/imports from nowhere outward. Defines ports; doesn't know what implements them.application/imports fromdomain/only. Tools depend onApiGateway,Logger,Clock, etc. — never on concrete classes.infrastructure/implementsdomain/ports/*. Wires fetch/pino/etc. to satisfy a port. Stays out ofapplication/.presentation/wires everything together. The*-bootstrap.tsfiles are the only placenew HttpApiGateway(...)exists.shared/is generic utilities (Result, env-schema). No domain types live here.
ESLint enforces this with no-restricted-imports patterns. dependency-cruiser enforces it again with mcp/.dependency-cruiser.cjs. Two locks beats one.
Ports & Adapters
Every external interaction (HTTP, logging, time, randomness) goes through a port:
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.
- today First seen · 120 lines · 0 tokens per session scan A e1d14ac46e3f
mcp-architecture is a cursor rule published in the GitHub repository kaminari-ad/mcp (0 stars, last pushed yesterday), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,348 tokens. 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-11-05.
Other cursor rules, from other repositories
typescript
Rules for when building Javascript and/or Typescript projects.
commander
When using the commander.js NPM library.
010-python-tooling
Python tooling and dependency conventions for plugin-eval and tools/.
chrome-extension-dev-js-typescript-cursorrules-pro
Cursor rules for VSCode extension development with Electron and TypeScript integration.
javascript-typescript-code-quality-cursorrules-pro
Cursor rules for JavaScript and TypeScript development with code quality integration.
ai-agent-specialist
Cursor rules for TypeScript, React, Node.js, clean architecture, testing, and WHY-oriented engineering guidance.