Borrowing it
Nothing to install: this file belongs to cosmocoder/mcp-web-docs. 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/cosmocoder/mcp-web-docs/main/.cursorrulesgit clone --depth 1 https://github.com/cosmocoder/mcp-web-docsWrote 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/cosmocoder/mcp-web-docs/cursorrules)<a href="https://agentmods.dev/rules/cosmocoder/mcp-web-docs/cursorrules"><img src="https://agentmods.dev/badge/rules/cosmocoder/mcp-web-docs/cursorrules/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/cosmocoder/mcp-web-docs/cursorrules"><img src="https://agentmods.dev/badge/rules/cosmocoder/mcp-web-docs/cursorrules.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.00842 | $0.00842 |
| Opus 5.5 | $0.00337 | $0.00337 |
| Sonnet 5.5 | $0.00168 | $0.00168 |
| Haiku 4.5 | $0.00084 | $0.00084 |
Grade A, and why
cursorrules 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 — 91 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Cursor Rules for MCP Web Docs
This is a TypeScript MCP (Model Context Protocol) server project for crawling and indexing web documentation.
Quick Reference
For comprehensive guidelines, see AGENTS.md in the project root.
Project Overview
MCP Web Docs is a self-hosted MCP server that:
- Crawls and indexes documentation from any website
- Provides hybrid search (full-text + semantic/vector)
- Supports authentication for protected documentation sites
- Uses local embeddings (FastEmbed) for privacy
Tech Stack
- Runtime: Node.js >= 24, npm >= 11
- Language: TypeScript (ES2022, NodeNext modules)
- Testing: Vitest
- Storage: SQLite (metadata) + LanceDB (vectors)
Essential Rules
Code Style
- TypeScript with strict mode enabled
- Always use
.jsextensions in imports (ESM requirement) - Follow existing patterns in the codebase
- Run
npm run lintandnpm run prettierbefore committing
Testing
- Tests are co-located:
*.test.tsnext to source files - Use Vitest globals:
describe,it,expect,vi - Mock embeddings:
createMockEmbeddings()fromsrc/__mocks__/embeddings.ts - Use
vi.hoisted()for mocks configured before imports
Critical Constraints
- Never log to stdout - MCP servers use stdio for JSON-RPC
- Use logger from
src/util/logger.ts(writes to stderr) - Validate inputs with Zod schemas from
src/util/security.ts - Use
validatePublicUrl()for SSRF protection
Key Commands
npm test # Run tests
npm run build # Build TypeScript
npm run lint # Run ESLint
npm run prettier # Format code
npm run test:coverage # Test with coverage
npm run test:types # Type check
File Structure
src/
├── index.ts # CLI bootstrap and signal handling
├── server.ts # MCP server and tool handlers
├── crawler/ # Web crawling (Playwright/Crawlee)
├── processor/ # Content processing
├── storage/ # SQLite + LanceDB
├── embeddings/ # FastEmbed vectors
├── indexing/ # Workflow, status tracking, queue management
└── util/ # Logger, security, helpers
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 · 91 lines · 842 tokens per session scan A 341b4bb47681
cursorrules is a cursor rule published in the GitHub repository cosmocoder/mcp-web-docs (2 stars, last pushed 4d ago), licensed MIT. It adds 842 tokens to every session, about $0.0034 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.
cursorrules compared with cursor rules from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| cursorrulescosmocoder/mcp-web-docs | Cursor rule | 2 | 4d ago | MIT | A | 842 | Cursor |
| 02-chunking-and-splitting-ruleshfredrick69/deep-research-mcp-server | Cursor rule | 0 | 9d ago | MIT | A | 29 | Windsurf |
| cardano-mcpJimmyh-world/Cardano_MCP | Cursor rule | 1 | 1y ago | MIT | A | 3,030 | Cursor |
| 005_Dynamo_KV_Cache_Management_KVBMAIFlowML/cursor_rules | Cursor rule | 24 | 1y ago | none | A | 22 | Cursor |
| ponytailDietrichGebert/ponytail | Cursor rule | 186k | 9d ago | MIT | A | 604 | Cursor |
| angular-20angular/angular | Cursor rule | 101k | today | MIT | A | 0 | Cursor |
| dev-standardapache/superset | Cursor rule | 75k | today | Apache-2.0 | A | 1,147 | Cursor |