radare2-mcp: Instructions file for Codex

AGENTS.md

radare2-mcp AGENTS.md is an instructions file for Codex, OpenCode from radareorg/radare2-mcp. It costs 1,097 tokens per session, scanned A, original, MIT.

A project guide for r2mcp, an MCP server that lets coding assistants use radare2, a reverse-engineering tool for inspecting compiled programs.

In plain words
What is it for?
Building and testing the server, running its command-line and DSL checks, formatting C code, and following its diagnostic and memory rules.
Why use it?
It records the exact build, test, formatting, C coding, memory, and JSON-handling conventions expected by the project.

Instructions file for CodexOpenCode

Written for Codex and OpenCode: the file is AGENTS.md.

This is radareorg/radare2-mcp's own configuration. It tells Codex and OpenCode how to work on radare2-mcp itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything radare2-mcp configures →

Reuse

Borrowing it

Nothing to install: this file belongs to radareorg/radare2-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.

Copy the file
curl -O https://raw.githubusercontent.com/radareorg/radare2-mcp/main/AGENTS.md
Clone the repo
git clone --depth 1 https://github.com/radareorg/radare2-mcp

Made for: Codex, OpenCode.

Wrote 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.

agentmods badge for radare2-mcp AGENTS.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/radareorg/radare2-mcp/agents-md/github.svg)](https://agentmods.dev/instructions/radareorg/radare2-mcp/agents-md)
Your own site
<a href="https://agentmods.dev/instructions/radareorg/radare2-mcp/agents-md"><img src="https://agentmods.dev/badge/instructions/radareorg/radare2-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.

agentmods 80×15 button for radare2-mcp AGENTS.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/radareorg/radare2-mcp/agents-md"><img src="https://agentmods.dev/badge/instructions/radareorg/radare2-mcp/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 1,097 This file is loaded in full into every session.
When invoked 1,097 The same file — it is already loaded in full.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.01097 $0.01097
Opus 5.5 $0.00439 $0.00439
Sonnet 5.5 $0.00219 $0.00219
Haiku 4.5 $0.00110 $0.00110

Measured 2mo ago against content hash fa694a822902, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

radare2-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 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.

AGENTS.md · 92 lines

How it starts

The opening of the file, as written. The whole thing — 92 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Agentic Coding Guidelines for r2mcp

MCP server for radare2. Source lives in src/. Files named *.inc.c are #included into other .c files — they are not separate compilation units.

Build & Test

  • make -j — fast incremental build (from repo root)
  • make asan — AddressSanitizer build
  • make fmt — auto-format with clang-format-radare2
  • src/r2mcp -h — CLI help
  • src/r2mcp -t — list available tools
  • src/r2mcp -T 'open_file file_path="/bin/ls"; list_functions; close_file' — run DSL tests
  • make test — run test suite (test.sh, test2.sh)

Code Style

  • Tabs for indentation
  • Space before parens: foo (), if (, for (
  • Always use braces {} even for single-statement blocks
  • Declare loop variables before for (C89 style)
  • Declare local variables and assign in the same line if possible
  • Prefer !strcmp () over strcmp () == 0
  • Prefer r_str_startswith () over !strncmp ()
  • Use R_STR_ISEMPTY() / R_STR_ISNOTEMPTY() instead of manual null+empty checks
  • Use R_RETURN_VAL_IF_FAIL() / R_RETURN_IF_FAIL() for preconditions in R_API functions
  • Use R_LOG_ERROR(), R_LOG_WARN(), R_LOG_INFO() for diagnostics

Memory

  • R_NEW() / R_NEW0() — assumed never to return NULL
  • R_FREE(ptr) — frees and sets to NULL
  • No NULL-check before free() or *_free() helpers
  • r_str_newf() for formatted string allocation (not manual malloc+snprintf)
  • RStrBuf for building strings in loops:
    RStrBuf *sb = r_strbuf_new ("");
    r_strbuf_appendf (sb, "...", ...);
    return r_strbuf_drain (sb); // caller frees
    
  • r_json_parse() does NOT own the input buffer — caller must free it separately after r_json_free()

JSON (PJ API)

Build JSON responses with the pj_* helpers:

PJ *pj = pj_new ();
pj_o (pj);           // open object
pj_ks (pj, "type", "text"); // key-string
pj_ki (pj, "count", 5);     // key-int
pj_kb (pj, "ok", true);     // key-bool
pj_k (pj, "items"); pj_a (pj); /* ... */ pj_end (pj); // key + array
pj_end (pj);         // close object
return pj_drain (pj); // extract string, free builder

Read the full file on GitHub · 92 lines

Changes

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.

  1. 2mo ago First seen · 92 lines · 1,097 tokens per session scan A fa694a822902

Subscribe to this mod's changes

radare2-mcp AGENTS.md is an instructions file published in the GitHub repository radareorg/radare2-mcp (352 stars, last pushed 22d ago), licensed MIT. It adds 1,097 tokens to every session, about $0.0044 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-30.

Related

radare2-mcp AGENTS.md compared with instructions from other repositories

radare2-mcp AGENTS.md next to 6 instructions from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
radare2-mcp AGENTS.mdradareorg/radare2-mcpInstructions file35222d agoMITA1,097Codex, OpenCode
vscode buildNext.instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA9,719GitHub Copilot
next.js AGENTS.mdvercel/next.jsInstructions file143kyesterdayMITA7,461Codex, OpenCode
langchain AGENTS.mdlangchain-ai/langchainInstructions file149kyesterdayMITA4,680Codex, OpenCode
vscode oss-third-party-notices.instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA5,516GitHub Copilot
vscode copilot-instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA3,093GitHub Copilot
deepseek-harness AGENTS.mddeepseek-ai/deepseek-harnessInstructions file274k2d agoMITA4,313Codex, OpenCode