footprintjsBLOCK
The flowchart pattern for backend code — self-explainable systems that AI can reason about. Causal traces, auto-generated tool descriptions, transactional state.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
FootPrint
The flowchart pattern for backend code — self-explainable systems that AI can reason about.
Part of the footprintjs ecosystem — the self-explaining stack.
53c9ac782583OBSERVED · 2026-10-11Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add footprintjs -- npx -y [email protected]
{
"mcpServers": {
"footprintjs": {
"command": "npx",
"args": [
"-y",
"[email protected]"
]
}
}
}Exposed tools (15)
15 read · 0 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
Cost | read | Accumulator (KeyedStore) — running total computed during traversal |
CreditCheck | read | Pull credit report |
Debug | read | Translator (Scope ScopeRecorder) — per-stage diagnostic entries |
DynFlow | read | Dynamic subflow |
InOut | read | Chart in/out stream — entry/exit pairs at every chart boundary (root + subflows) |
Kid | read | what it holds |
Manifest | read | Translator (FlowRecorder) — subflow catalog built during traversal |
Metrics | read | Aggregator (KeyedStore) — per-step timing and I/O counts |
Narrative | read | Translator (SequenceStore) — plain-English trace merged from flow + data events |
Projected | read | the stripped projection |
Quality | read | Quality scores per execution step with backtracking support |
Topology | read | Composition graph: subflow boundaries, fork branches, decision branches |
backtrack | read | Backward slice for a state variable: who wrote it, what those writers read, which decisions allowed them. Honest about what the trace cannot see. |
element_birth | read | For an array-valued variable: which stage execution produced element N (append-fold provenance — exact under delta commit logs). |
slice_json | read | The backward slice as a flat JSON graph (nodes keyed by step id, id-referenced edges) — for clients that render rather than read. |
Trust audit
BLOCKgrade F · trust 55/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | WARN |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (5 observation(s))
- Network
- declared (3 observation(s))
- Shell
- declared (2 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (25)
$eval(name: string, value: unknown): void;
compareCore.ts
console.log(CI ? `::group::${command}\n::stop-commands::${token}` : `\n$ ${command} # in ${cwd}`);if (CI) console.log(`::${token}::\n::endgroup::`);name: 'send-beacon',
inner.token = 'MUTATED-AFTER-CAPTURE';
const SECRET = 'sk-live-SUPER-SECRET-BYTES';
const SECRET = 'sk-live-SUPER-SECRET-BYTES';
const TOKEN = 'tok-SUPER-SECRET-FIELD';
const pauseData = { question: 'approve?', secret: 'operational-pause-secret' };.clinerules
.eslintrc.js
.prettierrc.js
.windsurfrules
pause-payload-redaction.test.ts
import { isDevMode } from '../../devMode.js';import type { FlowChart } from '../../builder/types.js';import { extractErrorInfo } from '../../errors/errorInfo.js';import type { FlowChart } from '../../builder/types.js';import type { FlowChart } from '../../builder/types.js';# otherwise run malicious code with these write perms + the RENOVATE_TOKEN and exfiltrate
it('previews are capped — a 10KB secret cannot exfiltrate through a summary', () => {register(createHandle('beacon-1'));expect(ids()).toEqual(['mb-1', 'mb-2', 'si-1', 'beacon-1']); // insertion order
tarball: 'http://127.0.0.1:' + server.address().port + '/footprintjs.tgz', integrity,
Gates applied: no_behavioural_pass.
53c9ac782583full audit observations/trust-audit/mcp-server/footprintjs__footprint.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-11 | 53c9ac782583 | BLOCK | F | 55 | first audit |
Questions
What is the footprintjs MCP server?
The flowchart pattern for backend code — self-explainable systems that AI can reason about. Causal traces, auto-generated tool descriptions, transactional state.
What tools does footprintjs expose?
15 in total: 15 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is footprintjs safe to connect to an agent?
No — not without reading the findings first. The audit graded it F (55/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on.
What credentials does footprintjs need?
No credential environment variables were found in its source, so it appears to need none.
How current is this page?
The grade is for one exact copy of the source (53c9ac782583), read on 2026-10-11. The repository is watched and re-audited when it changes.