Atlas / MCP servers / manojmallick / sigmap

sigmapCAUTION

mcp/manojmallick/sigmap

~97% token reduction for AI coding sessions — zero deps, 38 languages, MCP server

Verdict
CAUTION
Grade
F
Trust score
48 /100
Exposed tools
22 20r · 2w · 0d
Transport
—
License
MIT
Stars
646
01

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

Read from source at commit 87bdf4d58589OBSERVED · 2026-10-11
02

Connect

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-code
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]
claude-desktop
{
  "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}"
      }
    }
  }
}
03

Exposed tools (22)

20 read · 2 write · 0 destructive.

ToolRiskDescription
create_checkpointwriteCreate a session checkpoint summarising current project state.
explain_filereadExplain a specific file: returns its extracted signatures, direct imports
get_architecture_overviewreadA high-level map of the codebase in one call: module breakdown (files/tokens), the most
get_budgetreadSession spend ledger — estimated tokens SigMap has emitted this session
get_callee_signaturesreadReturn the EXACT current signature(s) of named symbols (functions, classes,
get_diff_contextreadFor every changed file in the working tree (or staged, or vs a base ref), return its
get_impactreadShow every file that is impacted when a given file changes — direct importers,
get_linesreadFetch an exact line range from a source file on demand — the Surgical Context
get_mapwriteRead a section from PROJECT_MAP.md — import graph, class hierarchy, or route table.
get_method_impactreadMethod-level blast radius for a symbol: every FUNCTION that (transitively) calls it —
get_routingreadGet model routing hints for this project — which files belong to which complexity
list_modulesreadList all top-level modules (srcDirs) present in the context file,
query_contextreadRank and return the most relevant files for a specific task or question.
query_knowledge_mapreadQuery the unified knowledge map — typed nodes (file, symbol, library@version, route,
read_contextreadRead extracted code signatures for the project or a specific module path.
read_memoryreadRecall the project decision log — recent notes left by humans or agents
search_signaturesreadSearch extracted code signatures for a keyword, function name, or class name.
sigmap_notify_file_createdreadTell SigMap a file was created or modified so its signatures are indexed
sigmap_notify_file_deletedreadTell SigMap a file was deleted so its symbols are dropped from the live index.
sigmap_notify_symbol_addedreadFast path: register a single new symbol signature directly in the live
squeeze_outputreadCompress noisy tool, command, or agent output before it enters context — a stack
verify_suggestionreadGround an AI code suggestion before writing it: verify a snippet or answer against the
04

Trust audit

CAUTIONgrade F · trust 48/100 Install with care. The audit found things worth knowing before you trust its output.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeWARN
L2Instruction surface (what it tells the agent)WARN
L3Class-specific surfacePASS
L4Behavioural (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)

MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
scripts/run-xrepo-gate.mjs:266
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 wo
MEDIUMHard-coded secrets · secret.aws · CWE-798, CWE-321
test/integration/redact.test.js:71
const r = redactText('before AKIA1234567890ABCDEF after');
MEDIUMHard-coded secrets · secret.aws · CWE-798, CWE-321
test/integration/redact.test.js:201
fs.writeFileSync(tmp, 'x AKIA1234567890ABCDEF y\n');
MEDIUMHard-coded secrets · secret.aws · CWE-798, CWE-321
test/integration/review-pr.test.js:55
readFile: () => 'const k = "AKIAABCDEFGHIJKLMNOP";\n', // AWS-access-key shaped
MEDIUMHard-coded secrets · secret.aws · CWE-798, CWE-321
test/integration/review-pr.test.js:237
fs.writeFileSync(path.join(dir, 'src', 'config.js'), 'module.exports = { key: "AKIAABCDEFGHIJKLMNOP" };\n');
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
test/integration/secret-scan.test.js:43
const sigs = ['const token = "ghp_abcdefghijklmnopqrstuvwxyz123456789012"'];
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
test/integration/secret-scan.test.js:80
const sigs = ['const password = "supersecretpassword123"'];
MEDIUMHard-coded secrets · secret.github · CWE-798, CWE-321
test/integration/live-overlay.test.js:284
handlers.notifySymbolAdded({ signature: 'function leak(t = "ghp_abcdefghijklmnopqrstuvwxyz0123456789")', file: 'src/s.js' }, dir);
MEDIUMHard-coded secrets · secret.github · CWE-798, CWE-321
test/integration/secret-scan.test.js:43
const sigs = ['const token = "ghp_abcdefghijklmnopqrstuvwxyz123456789012"'];
MEDIUMPrompt injection · prompt.hidden_style · CWE-94, CWE-1427
docs-vp/guide/cli.md:3135
<div style="text-align:center;margin-top:2.5rem;padding-bottom:.5rem;font-size:0.85em;color:var(--vp-c-text-3)">
MEDIUMPrompt injection · prompt.hidden_style · CWE-94, CWE-1427
docs-vp/guide/config.md:516
<div style="text-align:center;margin-top:2.5rem;padding-bottom:.5rem;font-size:0.85em;color:var(--vp-c-text-3)">
MEDIUMPrompt injection · prompt.hidden_style · CWE-94, CWE-1427
docs-vp/guide/generalization.md:150
<div style="text-align:center;margin-top:2.5rem;padding-bottom:.5rem;font-size:0.85em;color:var(--vp-c-text-3)">
MEDIUMPrompt injection · prompt.hidden_style · CWE-94, CWE-1427
docs-vp/guide/languages.md:177
<div style="text-align:center;margin-top:2.5rem;padding-bottom:.5rem;font-size:0.85em;color:var(--vp-c-text-3)">
MEDIUMPrompt injection · prompt.hidden_style · CWE-94, CWE-1427
docs-vp/guide/mcp.md:225
<div style="text-align:center;margin-top:2.5rem;padding-bottom:.5rem;font-size:0.85em;color:var(--vp-c-text-3)">
LOWInventory / provenance · inv.hidden_file · CWE-1104
.contextignore
.contextignore
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.contextignore.example
.contextignore.example
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInsecure crypto · crypto.weak_hash · CWE-327, CWE-338
src/extractors/lsp_symbols.js:154
? `${crypto.createHash('sha1').update(src).digest('hex')}|${cmdKey}|${binStat}`
LOWInsecure crypto · crypto.weak_hash · CWE-327, CWE-338
test/integration/body-words.test.js:269
const hash = (f) => crypto.createHash('sha1').update(fs.readFileSync(f, 'utf8').replace(/<!-- Updated: .*? -->/, '')).digest('hex');
LOWInformation disclosure · disclose.log_secret · CWE-209, CWE-532
test/integration/secret-scan.test.js:150
console.log(`secret-scan: ${passed} passed, ${failed} failed`);
LOWInformation disclosure · disclose.log_secret · CWE-209, CWE-532
test/integration/token-budget.test.js:236
console.log(`token-budget: ${passed} passed, ${failed} failed`);
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/adapters/claude.js:15
const { replaceManagedSection, managedSectionLineStart } = require('../../src/util/managed-section');
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/adapters/codex.js:17
const { replaceManagedSection } = require('../../src/util/managed-section');
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/adapters/copilot.js:14
const { replaceManagedSection } = require('../../src/util/managed-section');
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/adapters/gemini.js:19
const { replaceManagedSection } = require('../../src/util/managed-section');
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
scripts/lib/xrepo-hygiene.mjs:30
const { queryLeakage } = require('../../src/eval/corpus');

Gates applied: no_behavioural_pass.

Audited 2026-10-11 · audit v0.4.1 · source sha 87bdf4d58589full audit observations/trust-audit/mcp-server/manojmallick__sigmap.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-1187bdf4d58589CAUTIONF48first audit
06

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.

Advertisement