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.
npx agentmods add rules/techskies11/datadog-mcp/documentation-standardsgit clone --depth 1 https://github.com/techskies11/datadog-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/techskies11/datadog-mcp/documentation-standards)<a href="https://agentmods.dev/rules/techskies11/datadog-mcp/documentation-standards"><img src="https://agentmods.dev/badge/rules/techskies11/datadog-mcp/documentation-standards.svg" alt="Measured on agentmods" 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 | $0.00000 | $0.01816 |
| Opus 5 | $0.00000 | $0.00908 |
| Sonnet 5 | $0.00000 | $0.00363 |
| Haiku 4.5 | $0.00000 | $0.00182 |
Grade A, and why
documentation-standards 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 2d 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 — 200 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Documentation Standards
Clear documentation is critical for MCP tools - the agent relies on it to pick
the right tool and call it correctly. This convention is verified against how
FastMCP actually renders tool descriptions (see fastmcp-best-practices.mdc
for the mechanics): everything meant to be visible in the tool's
description must come before Args:; nothing meaningful goes after it.
Tool Docstring Template
Every @mcp.tool function's docstring follows this shape, in this order:
- One-line summary (verb-first, specific, under ~80 chars)
- Optional
IMPORTANT:/disambiguation note against similarly-named tools - Optional
Use this when:/DO NOT use for:bullet lists - Optional inline call examples (plain text, not an
Examples:header required) Args:section - always last, one line per parameter
@mcp.tool(annotations=READ_ONLY)
def search_logs(
query: str,
from_time: str,
to_time: str,
page_size: int = DEFAULT_PAGE_SIZE,
cursor: str | None = None,
sort: str = "timestamp",
indexes: list[str] | None = None,
) -> SearchLogsResponse:
"""Search and VIEW log entries. Returns paginated results.
IMPORTANT: Use this ONLY when you need to VIEW log content for debugging.
For COUNTING logs or unique values, use count_logs or count_unique_values
instead - they are much faster and lighter since they never fetch raw
log content.
Use this when:
- Need to view actual log messages and details
- Debugging specific issues
- Investigating error details
DO NOT use for:
- Counting logs (use count_logs)
- Counting unique sessions/users (use count_unique_values)
- Statistical analysis (use aggregate_logs_by_field)
Examples:
search_logs("status:error", "now-1h", "now")
search_logs("service:api", "2024-01-28T10:00:00Z", "2024-01-28T11:00:00Z", page_size=50)
Args:
query: Search query using Datadog log search syntax (e.g. "status:error service:api")
from_time: Start time - ISO 8601 (e.g. "2024-01-28T10:00:00Z"), relative date
math (e.g. "now-1h", "now"), or a millisecond timestamp
to_time: End time - same accepted formats as from_time
page_size: Logs per page (default: 25, max: 50)
cursor: Pagination cursor from a previous response's next_cursor field
sort: Sort order, "timestamp" or "-timestamp" for descending
indexes: Optional list of index names to search (e.g. ["main", "retention"])
"""
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.
- 2d ago First seen · 200 lines · 0 tokens per session scan A 1e453a63754d
documentation-standards is a cursor rule published in the GitHub repository techskies11/datadog-mcp (0 stars, last pushed 2mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,816 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-08-31.
Other cursor rules, from other repositories
angular-20
This rule provides comprehensive best practices and coding standards for Angular development, focusing on modern TypeScript, standalone components, signals, and performance optimizations.
dev-standard
Apache Superset development standards and guidelines for Cursor IDE.
cli-error-handling
CLI command error handling patterns.
prefer-direct-imports-over-module-mocks
Prefer extracting a testable core over vi.mock / vi.resetModules when unit tests need to reach production logic entangled with config, env, or singletons.
control-plane-descriptors
Control plane descriptor and instance implementation patterns.
family-instance-domain-actions
Family instance domain action implementation patterns.