Code Reason

Created By
ph0smet18 days ago
MCP server that gives coding agents program-analysis primitives — data flow, call graphs, taint analysis — so they reason from ground truth instead of grep-and-guess."
Overview

Program analysis for your coding agents.

Instead of grep-and-guess, provide your agents program analysis capabilities with code-reason.

code-reason is an MCP server that gives coding agents real program-analysis primitives — data-flow reachability, call-graph traversal, evidence-chain construction — so they verify code behavior from ground truth instead of speculation.

What is code-reason?

An MCP server that gives coding agents real program-analysis capabilities —
data-flow reachability, call-graph traversal, evidence-chain construction, and source/sink taint analysis. Built on Fraunhofer AISEC's Code Property
Graph (CPG) for Java and Python codebases.

The problem it solves

Without a code-analysis tool, a coding agent answers whole-program questions by manual grep-based tracing. That works for trivial cases and breaks silently on anything non-trivial — aliased variables, inter-procedural flow, sanitization checks. The agent still produces an answer, often confidently,
and a confident wrong answer is the dangerous kind for security work.

code-reason gives the agent ground-truth primitives instead of speculation.
The agent decides what's interesting; code-reason answers what's actually true.

What you get

  • 9 MCP tools — analyze, find entry points, find callers/callees, query data flow, trace taint paths, catalog-driven injection scan, plus supporting tools for evidence retrieval
  • One analyze pass, unlimited queriesreason_analyze_project builds
    the CPG once; every subsequent tool is a cheap in-memory query
  • Compact structured answers — JSON evidence chains with intermediate
    steps and code context, not "looks like SQLi maybe"
  • ~30-40% fewer agent tokens on multi-step security reviews, validated on real Java codebases
  • MCP-native — tested with Claude Code; works with any MCP-compatible coding agent

Example session

  1. Agent calls reason_analyze_project on the target codebase
  2. Agent calls reason_find_entry_points to enumerate where external input enters
  3. For each suspicious entry, agent traces downstream with reason_query_dataflow and reason_find_callees
  4. When a flow reaches a sensitive call, agent calls reason_trace_taint_path for the full source-to-sink evidence chain
  5. Agent reasons from the structured result and decides what to investigate
    next

The catalog-driven reason_scan_injections is available as a quick
first-pass for SQLi / XSS / command injection, but the headline value is the agent composing its own investigation from the primitives.

Server Config

{
  "mcpServers": {
    "code-reason": {
      "command": "/absolute/path/to/build/install/code-reason/bin/code-reason",
      "args": [
        "--stdio"
      ]
    }
  }
}
Project Info
Created At
18 days ago
Updated At
18 days ago
Author Name
ph0smet
Star
-
Language
-
License
-
Category
Tags

Recommend Servers

View All
Bring your real authenticated browser session to AI coding agents. Local-first MCP server + Chrome MV3 extension. No cloud. No telemetry.
@Cubenest

peek records the user's actual logged-in browser (DOM via rrweb, console events, network metadata, optional response bodies via opt-in Deep capture) through a Chrome MV3 extension. The extension ships events through a native-messaging stdio bridge to a local MCP server (peek-mcp), which persists them to a SQLite database at ~/.peek/sessions.db. AI coding agents (Claude Code, Cursor, Cline, Windsurf) read sessions from the database via 10 MCP tools: Tool What it does list_recent_sessions List recently recorded sessions (id, origin, ts, event count). get_session_summary LLM-readable narrative summary of a session. get_session_console_errors Console errors recorded in a session. get_session_network_errors Failed/notable network requests in a session. get_user_action_before_error Last N user actions before a console error. generate_playwright_repro Generate a runnable Playwright test from a session. get_dom_snapshot Reconstruct the DOM at a given timestamp. query_dom_history Timeline of attribute/text changes for a selector. request_authorization Side-panel consent for write actions (Level 3). execute_action Dispatch a UI action (gated by permission level + destructive blocklist). Why local-first matters Every other "browser session for AI" tool ships to a vendor cloud. peek's SQLite + extension live on the user's machine — no remote endpoints, no telemetry. The privacy policy (docs/peek/PRIVACY_POLICY.md) is the source of truth. Install # 1. Add the MCP server to Claude Code claude mcp add peek -- npx -y @peekdev/mcp # 2. Install the Chrome extension from the Chrome Web Store # (link added once the CWS listing is approved)

a day ago