Borrowing it
Nothing to install: this file belongs to furkanisikay/ardupilot-mcp. 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/furkanisikay/ardupilot-mcp/main/AGENTS.mdgit clone --depth 1 https://github.com/furkanisikay/ardupilot-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/instructions/furkanisikay/ardupilot-mcp/agents-md)<a href="https://agentmods.dev/instructions/furkanisikay/ardupilot-mcp/agents-md"><img src="https://agentmods.dev/badge/instructions/furkanisikay/ardupilot-mcp/agents-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/furkanisikay/ardupilot-mcp/agents-md"><img src="https://agentmods.dev/badge/instructions/furkanisikay/ardupilot-mcp/agents-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.01388 | $0.01388 |
| Opus 5 | $0.00694 | $0.00694 |
| Sonnet 5 | $0.00278 | $0.00278 |
| Haiku 4.5 | $0.00139 | $0.00139 |
Grade A, and why
ardupilot-mcp AGENTS.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 9d 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 — 109 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AGENTS.md — rules for AI agents & contributors
This file is the contract for anyone (human or AI: Claude Code, Cursor, Copilot,
Codex, …) working in this repo. Read it before changing anything. CLAUDE.md,
.cursor/rules/ and .github/copilot-instructions.md all point here.
What this is
An MCP server that diagnoses ArduPilot DataFlash (.bin) flight logs. You give
it a log; an LLM client (Claude Desktop, …) calls our tools and explains, in plain
language, what went wrong — grounded in a deterministic check engine, not guesses.
Golden rules (do not break these)
- Deterministic core, LLM explains. Every finding is produced by a deterministic check (thresholds, math, decoded events) — never by an LLM. The LLM only narrates and cites. Do not add "the model decides if it's bad" logic to the server.
- Offline & read-only by construction. The server parses local files only. It must never open a network connection, arm/fly a vehicle, or write parameters. This is the whole safety story — do not add actuation or network I/O to the package.
- No unsupported assumptions. Every numeric threshold, enum, default and factual
claim must be backed by an authoritative source (ArduPilot wiki/firmware, MAVLink,
the MCP spec) and recorded in
docs/SOURCES.md. Put the source URL in a comment next to the constant. If it's a judgement call we chose, label it a design choice, not a fact. - Keep docs in sync. If you add/rename a check or an MCP tool you MUST update
README.mdandCHANGELOG.md(anddocs/SOURCES.mdfor any new threshold). A test (tests/test_docs_sync.py) enforces this — it fails if a check/tool isn't documented. - Tests gate everything.
ruff,mypyandpytestmust all pass. New behaviour needs tests. CI runs these on every PR and protectsmain.
Architecture (where things live)
ardupilot_mcp/
parser.py DataFlash .bin -> FlightLog (the ONLY pymavlink-dependent module)
flight_log.py FlightLog domain model (pure; checks/tests use this, no real .bin needed)
model.py Pydantic models (Finding, DiagnosisReport, VehicleProfile, ...)
checks/ one module per check; @register_check auto-registers it
base.py Check ABC + registry (id, requires, vehicles, run())
util.py shared numeric helpers (intervals_above, make_finding, ...)
orchestrator.py runs all checks -> DiagnosisReport (+ attaches doc references)
tuning.py advisory tuning (notch FFT, PID, autotune) — not a check
profile.py VehicleProfile (frame, motors, battery cells, power margin)
param_file.py parse a user-exported .param / .params file
ardupilot_meta.py ArduPilot reference data (modes, ERR/EV enums, frame classes)
ardupilot_docs.py curated, verified ArduPilot doc URLs attached to findings
server.py FastMCP server + the read-only MCP tools
__main__.py `python -m ardupilot_mcp` (stdio)
tests/ pytest; synthetic logs via tests/helpers.py + tests/synth_bin.py
docs/SOURCES.md every assumption, audited + cited
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.
- 9d ago First seen · 109 lines · 1,388 tokens per session scan A 1d4de41f6ac7
ardupilot-mcp AGENTS.md is an instructions file published in the GitHub repository furkanisikay/ardupilot-mcp (4 stars, last pushed 2mo ago), licensed MIT. It adds 1,388 tokens to every session, about $0.0069 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.
deepseek-harness AGENTS.md
AGENTS.md instructions for deepseek-ai/deepseek-harness, covering agents.md, pre-stable apis and released session data, repository layout, commands and host sandbox failures.