sigmapCAUTION
~97% token reduction for AI coding sessions — zero deps, 38 languages, MCP server
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
SigMap is the deterministic, verifiable grounding layer for AI code work.
[](https://www.npmjs.com/package/sigmap) [](https://www.npmjs.com/package/sigmap) [](https://github.com/manojmallick/sigmap/actions/workflows/ci.yml) [](package.json) [](LICENSE) [](https://github.com/manojmallick/sigmap/stargazers) [](https://starmapper.bruniaux.com/manojmallick/sigmap) [](https://shypd.ai/tools/sigmap)
[](https://mseep.ai/app/manojmallick-sigmap) [](https://mseep.ai/app/193cd37f-1ef3-43c3-8
87bdf4d58589OBSERVED · 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. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add sigmap-core --env ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} --env GEMINI_API_KEY=${GEMINI_API_KEY} --env GOOGLE_API_KEY=${GOOGLE_API_KEY} --env MINIMAX_API_KEY=${MINIMAX_API_KEY} -- npx -y [email protected]{
"mcpServers": {
"sigmap-core": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}",
"GEMINI_API_KEY": "${GEMINI_API_KEY}",
"GOOGLE_API_KEY": "${GOOGLE_API_KEY}",
"MINIMAX_API_KEY": "${MINIMAX_API_KEY}"
}
}
}
}Exposed tools (22)
20 read · 2 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
create_checkpoint | write | Create a session checkpoint summarising current project state. |
explain_file | read | Explain a specific file: returns its extracted signatures, direct imports |
get_architecture_overview | read | A high-level map of the codebase in one call: module breakdown (files/tokens), the most |
get_budget | read | Session spend ledger — estimated tokens SigMap has emitted this session |
get_callee_signatures | read | Return the EXACT current signature(s) of named symbols (functions, classes, |
get_diff_context | read | For every changed file in the working tree (or staged, or vs a base ref), return its |
get_impact | read | Show every file that is impacted when a given file changes — direct importers, |
get_lines | read | Fetch an exact line range from a source file on demand — the Surgical Context |
get_map | write | Read a section from PROJECT_MAP.md — import graph, class hierarchy, or route table. |
get_method_impact | read | Method-level blast radius for a symbol: every FUNCTION that (transitively) calls it — |
get_routing | read | Get model routing hints for this project — which files belong to which complexity |
list_modules | read | List all top-level modules (srcDirs) present in the context file, |
query_context | read | Rank and return the most relevant files for a specific task or question. |
query_knowledge_map | read | Query the unified knowledge map — typed nodes (file, symbol, library@version, route, |
read_context | read | Read extracted code signatures for the project or a specific module path. |
read_memory | read | Recall the project decision log — recent notes left by humans or agents |
search_signatures | read | Search extracted code signatures for a keyword, function name, or class name. |
sigmap_notify_file_created | read | Tell SigMap a file was created or modified so its signatures are indexed |
sigmap_notify_file_deleted | read | Tell SigMap a file was deleted so its symbols are dropped from the live index. |
sigmap_notify_symbol_added | read | Fast path: register a single new symbol signature directly in the live |
squeeze_output | read | Compress noisy tool, command, or agent output before it enters context — a stack |
verify_suggestion | read | Ground an AI code suggestion before writing it: verify a snippet or answer against the |
Trust audit
CAUTIONgrade F · trust 48/100 Install with care. The audit found things worth knowing before you trust its output.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | WARN |
| L2 | Instruction surface (what it tells the agent) | WARN |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (10 observation(s))
- Network
- declared (5 observation(s))
- Shell
- declared (5 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (25)
console.log(`\n of the ${noToken.length} no-token misses, the answer holds: a distinctive word only in its source ${noTokenAt('distinctive')} · only common words ${noTokenAt('common-only')} · no woconst r = redactText('before AKIA1234567890ABCDEF after');fs.writeFileSync(tmp, 'x AKIA1234567890ABCDEF y\n');
readFile: () => 'const k = "AKIAABCDEFGHIJKLMNOP";\n', // AWS-access-key shaped
fs.writeFileSync(path.join(dir, 'src', 'config.js'), 'module.exports = { key: "AKIAABCDEFGHIJKLMNOP" };\n');const sigs = ['const token = "ghp_abcdefghijklmnopqrstuvwxyz123456789012"'];
const sigs = ['const password = "supersecretpassword123"'];
handlers.notifySymbolAdded({ signature: 'function leak(t = "ghp_abcdefghijklmnopqrstuvwxyz0123456789")', file: 'src/s.js' }, dir);const sigs = ['const token = "ghp_abcdefghijklmnopqrstuvwxyz123456789012"'];
<div style="text-align:center;margin-top:2.5rem;padding-bottom:.5rem;font-size:0.85em;color:var(--vp-c-text-3)">
<div style="text-align:center;margin-top:2.5rem;padding-bottom:.5rem;font-size:0.85em;color:var(--vp-c-text-3)">
<div style="text-align:center;margin-top:2.5rem;padding-bottom:.5rem;font-size:0.85em;color:var(--vp-c-text-3)">
<div style="text-align:center;margin-top:2.5rem;padding-bottom:.5rem;font-size:0.85em;color:var(--vp-c-text-3)">
<div style="text-align:center;margin-top:2.5rem;padding-bottom:.5rem;font-size:0.85em;color:var(--vp-c-text-3)">
.contextignore
.contextignore.example
? `${crypto.createHash('sha1').update(src).digest('hex')}|${cmdKey}|${binStat}`const hash = (f) => crypto.createHash('sha1').update(fs.readFileSync(f, 'utf8').replace(/<!-- Updated: .*? -->/, '')).digest('hex');console.log(`secret-scan: ${passed} passed, ${failed} failed`);console.log(`token-budget: ${passed} passed, ${failed} failed`);const { replaceManagedSection, managedSectionLineStart } = require('../../src/util/managed-section');const { replaceManagedSection } = require('../../src/util/managed-section');const { replaceManagedSection } = require('../../src/util/managed-section');const { replaceManagedSection } = require('../../src/util/managed-section');const { queryLeakage } = require('../../src/eval/corpus');Gates applied: no_behavioural_pass.
87bdf4d58589full audit observations/trust-audit/mcp-server/manojmallick__sigmap.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 | 87bdf4d58589 | CAUTION | F | 48 | first audit |
Questions
What is the sigmap MCP server?
~97% token reduction for AI coding sessions — zero deps, 38 languages, MCP server
What tools does sigmap expose?
22 in total: 20 read-only, 2 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is sigmap safe to connect to an agent?
With care. The audit graded it F (48/100) and found 25 things worth knowing before you trust this server, listed below with the exact line each was found on.
What credentials does sigmap need?
It reads ANTHROPIC_API_KEY, GEMINI_API_KEY, GOOGLE_API_KEY and MINIMAX_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How current is this page?
The grade is for one exact copy of the source (87bdf4d58589), read on 2026-10-11. The repository is watched and re-audited when it changes.