standards-mcp
# standards-mcp
> An **MCP server** that serves a portable, brand-neutral **engineering standards** library, so any
> AI agent (Claude Code, Cursor, …) queries the rules over MCP — searching and applying them from a
> current, authoritative source instead of reading files or answering from memory. **Keyless. Offline. MIT.**
[](LICENSE)
[](https://modelcontextprotocol.io)
## Why
Standards only help if they're actually applied. Bundling them into an MCP server turns "read the
docs" into a tool call: the agent searches the rules relevant to the task and applies them — the same
pattern the [AG Grid MCP](https://github.com/ag-grid/ag-mcp) uses for its own docs.
## What's inside (15 standards)
`00-index`, `01-golden-rules`, `02-architecture` (.NET AOT + Dapper.AOT, Clean Architecture, gRPC,
streaming, caching, resilience), `03-security`, `04-api-i18n-privacy`, `05-devops-test-observability`,
`06-optional-sso-audit`, `07-ui-ux` (AG Grid vs tile card, design tokens, PWA), `08-grpc`,
`09-compression-caching`, `10-validation-errors`, `11-configuration-options`, `12-background-messaging`,
`13-mcp-tools`, `14-design-skills` (taste-skill build step, mandatory web-design-guidelines review
gate, ~67 installable style skills). All brand-neutral; identity (hosts, keys, colors, fonts) is
config, never hardcoded.
## Tools
| Tool | Purpose |
|------|---------|
| `list_standards` | List every standard (id, title, headings) — start here |
| `search_standards` | Natural-language search → the most relevant rule sections (heading + snippet) |
| `get_standard` | Fetch a full standard by id (`02`), slug (`02-architecture`), or name (`architecture`) |
| `get_checklist` | The compliance checklist(s) — a Definition-of-Done gate |
## Install
```bash
# Claude Code
claude mcp add standards npx -y standards-mcp
```
Or in `~/.claude.json` / Cursor `mcp.json`:
```json
{
"mcpServers": {
"standards": { "command": "npx", "args": ["-y", "standards-mcp"] }
}
}
```
## Build from source
```bash
npm install
npm run build
node smoke.mjs # spawns the server, lists/searches/fetches — 6/6
node dist/index.js # speaks MCP over stdio
```
## Usage (ask your agent)
- *"What are the Dapper.AOT rules for Oracle?"* → `search_standards` → `02-architecture` (RETURNING INTO → raw OracleCommand)
- *"Is response compression safe over HTTPS?"* → `09-compression-caching` (CRIME/BREACH)
- *"Give me the gRPC checklist."* → `get_checklist("08")`
- *"Show the security standard."* → `get_standard("security")`
## Keeping standards in sync
The `standards/` folder is bundled so the package is self-contained. It's a copy of the source
standards library — re-copy and rebuild when the source changes:
```bash
cp /path/to/standards/*.md standards/ && npm run build
```
## License
[MIT](LICENSE).
TDQS
Scored across 4 tools
Each tool has a clearly distinct role: list for overview, search for targeted rule lookup, get_standard for full content, and get_checklist for compliance gates. There is no meaningful overlap between the tools.
All tool names follow a consistent verb_noun snake_case pattern: list_, search_, get_. The singular 'standard' vs plural 'standards' is a natural distinction between a single resource and the library as a whole.
Four tools is well-scoped for a read-only standards library. Each tool covers one distinct step in the workflow—discover, search, retrieve, and check compliance—without redundancy or bloat.
The surface is complete for its stated purpose: agents can list available standards, search relevant rules, fetch full standards, and obtain compliance checklists. No obvious gap exists for the intended read-only use case.