Borrowing it
Nothing to install: this file belongs to certinia/debug-log-analyzer-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/certinia/debug-log-analyzer-mcp/main/CLAUDE.mdgit clone --depth 1 https://github.com/certinia/debug-log-analyzer-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/certinia/debug-log-analyzer-mcp/claude-md)<a href="https://agentmods.dev/instructions/certinia/debug-log-analyzer-mcp/claude-md"><img src="https://agentmods.dev/badge/instructions/certinia/debug-log-analyzer-mcp/claude-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/certinia/debug-log-analyzer-mcp/claude-md"><img src="https://agentmods.dev/badge/instructions/certinia/debug-log-analyzer-mcp/claude-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.03435 | $0.03435 |
| Opus 5.5 | $0.01374 | $0.01374 |
| Sonnet 5.5 | $0.00687 | $0.00687 |
| Haiku 4.5 | $0.00344 | $0.00344 |
Grade A, and why
debug-log-analyzer-mcp CLAUDE.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 4d 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 — 120 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
An MCP server that analyses Salesforce Apex debug logs for performance bottlenecks, governor limit usage and optimization opportunities.
Development Commands
# Install dependencies
pnpm install
# Build the TypeScript project
pnpm run build
# Development with watch mode
pnpm run dev
# Run the server standalone
pnpm start
Architecture
Core Components
- src/index.ts: the
binentry point (dist/index.js). Parses flags, callsrunStdioServer, nothing else. A bad flag exits 1 with one[apex-log-mcp]line, checked bypnpm run eval. - src/server.ts:
createApexLogServer,runStdioServerandparseServerConfig. Registers the eight tools over stdio, and takes no import side effects, so tests can import it without spawning a server. - src/tools/responseShaping.ts: the shared response helpers -
toonResult,omitEmpty,warningField,toLimitRows,toNamespaceLimitRows,limitUnitsClause,limitGatingCategory,LIMIT_GATING_CATEGORIES,roundMs,roundPercent,percentageOf,NS_TO_MS,NAME_LIMIT, and the page every analysis table stops at -fitPage,PAGE_CHAR_BUDGET,nextOffsetField- with thematchesfilter they share. - src/tools/localFile.ts:
absolutePathSchema,fileReadError,fsErrorWordsandoutsideRoots, shared by every tool that reads or writes a local file - a log or a file of Apex. - src/tools/inputSchema.ts:
toolInputSchema, which wraps every tool's parameters so a parameter the tool does not have is refused, and the parameters the org tools share, worded once:targetOrgSchema,outputDirSchemaandlevelsByCategorySchema. - src/errors.ts:
errorText, what a caught value says, andtoolError, a tool's refusal or failure as a result. - src/elide.ts:
elide,elideAroundandelideEnd, which cut over-long text without splitting a character. - src/logLevels.ts: the debug log's categories and levels -
DEBUG_CATEGORIES,TRACE_CATEGORIES,LOG_LEVELS,DEFAULT_TRACE_CONFIG- with the levels a call asks for,requestedLevels, and their wording,levelsClause; anddeclaredLevelsandcapturedAt, which read the levels a log's header declared. It needs no org, so the analysis tools import it;src/salesforce/debugLevels.tswritesDebugLevelrecords from it. - src/tools/logStore.ts:
openLogStore,writeDebugLogandsaveStoredLog- where every org tool saves a log, and never over a different one - andunwritableLogDir, which refuses a directory before a step that cannot be undone, and creates nothing. - src/tools/progress.ts:
progressReporter, the progress notifications of a long org call, sent only to a caller that asked. - src/tools/analysisTool.ts:
defineAnalysisTool, which states an analysis tool once - its name, title, description, own parameters and a purerun(apexLog, args)- and addslogFilePath, the read-only annotations, the load and the TOON encoding. Test a tool throughrunon a parsed log;tests/analysisTool.test.tstests the shell.src/tools/analysisTools.tslists every analysis tool, for the server and the tests. - src/salesforce/orgAccess.ts:
OpenOrg, which a handler gets asopen, is the one way an org tool reaches an org. It runs the roots, the local org, the identity deny, the connect, the type deny and, for a write, the production gate, for one call of one tool.bindOpenOrgmakes it, and onlysrc/server.tscallsbindOpenOrg. - src/tools/*Definition.ts: an org tool's wire definition,
{ name, config }; one module can hold two tools. A write tool's definition is a function of the refusal and carries it, soregisterOrgToolanswers a refused call before the handler loads - copy a write tool, not a read tool, for a write. A definition loads at startup and loads no Salesforce SDK; the handler loads on its first call. A new org tool touches its definition, its handler, oneregisterOrgToolcall insrc/server.ts, its suite, which wires the handler throughtests/support/wiredOrgTool.ts, the tool count and handler mocks intests/server.test.ts, and aDEFINITION_BUDGETentry inscripts/eval.mjs.pnpm run evalnames anything else it lacks, andpnpm run eval:updatewrites its README tables. - src/apexLog/: the one module that imports the parser; an ESLint rule refuses it anywhere else.
index.tsholds the parser's rules the tools share -textOf,countOf,ceilingOf,multipleLogsWarning,LOG_EVENT_ID, and the parser'sDEFAULT_NAMESPACE,DEBUG_CATEGORY,DEBUG_CATEGORY_TOKEN,ENDED_BY,KIND,LEVEL,LIMIT_METRICSandeventType- and the readers of one event fromlog.columns:typeAt,frameTypeAt,namespaceAt,textAt, andtotalAtforcountOf(...).total; andisEventOf, which narrows an event so itsdetailsread as its type's. It also re-exports the parser types the tools read. A pass over every event readslog.columns, not event objects: the parser makes a new object on each read of an event. Each column reader takes its column, so a loop reads it fromlog.columnsonce;textAtalone takes the log.source.tsholdsloadApexLog, the one way the analysis tools get a log. It caches the last parse against a stat fingerprint, shares one parse between concurrent callers, and drops it five minutes after its last use, because a parsed log holds one to two times the size of the file. @apexdevtools/apex-log-parser: the parser, as a dependency - nothing here parses a log. Every value, type and const comes from the package root. ReaddebugCategoryfor an event's category, nevercategory: that one is a UI grouping slated for deprecation. ReadisFramefor whether an event has a duration.
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.
- 4d ago Changed · +153 tokens per session ee01816c97b6
- 7d ago Changed · +1 lines · +148 tokens per session fd6a48d43dce
- 9d ago Changed · +7 lines · +688 tokens per session 51635a7e618e
- 10d ago Changed · +33 tokens per session d873bfef229d
- 11d ago Changed · +35 tokens per session 44d44334cd55
- 17d ago Changed · +3 lines · +238 tokens per session 5f3573ec5e57
- 18d ago Changed · +6 lines · +293 tokens per session 028b247809e6
- 29d ago Changed · +3 lines · +236 tokens per session f4c6eb39969b
- 1mo ago Changed · +10 tokens per session 7676f2492dc8
- 1mo ago First seen · 100 lines · 1,601 tokens per session scan A dd2e7257d928
debug-log-analyzer-mcp CLAUDE.md is an instructions file published in the GitHub repository certinia/debug-log-analyzer-mcp (36 stars, last pushed 2d ago), licensed BSD-3-Clause. It adds 3,435 tokens to every session, about $0.0137 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.
debug-log-analyzer-mcp CLAUDE.md compared with instructions from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| debug-log-analyzer-mcp CLAUDE.mdcertinia/debug-log-analyzer-mcp | Instructions file | 36 | 2d ago | BSD-3-Clause | A | 3,435 | Claude Code |
| vscode buildNext.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 9,719 | GitHub Copilot |
| next.js AGENTS.mdvercel/next.js | Instructions file | 143k | yesterday | MIT | A | 7,461 | Codex, OpenCode |
| langchain AGENTS.mdlangchain-ai/langchain | Instructions file | 149k | yesterday | MIT | A | 4,680 | Codex, OpenCode |
| vscode oss-third-party-notices.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 5,516 | GitHub Copilot |
| vscode copilot-instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 3,093 | GitHub Copilot |
| deepseek-harness AGENTS.mddeepseek-ai/deepseek-harness | Instructions file | 274k | 2d ago | MIT | A | 4,313 | Codex, OpenCode |