github TypeScript analyzed 74f7573

AraneaDev/Momus-MCP

github

Local-first MCP server and CLI that audits test suites for false-green tests: tautological assertions, mock-contract drift, and mock hygiene. Read-only and deterministic, across TypeScript, PHP, Python and Rust.

maintainer
AraneaDev
licence
MIT
first seen
2026-08-17
last seen
2026-09-09
releases · 30d
11
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 11 tools
transport stdio · streamable-http · http counts 11 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • apply_issue_fix
  • audit_test_fidelity
  • audit_workspace
  • detect_tautological_assertions
  • doctor_status
  • explain_issue
  • get_ir
  • list_rules
  • preview_issue_fix
  • synthesize_mock_contract
  • verify_mock_drift
code evidence vv0.0.11 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 188

filesystem 46

  • fs AraneaDev-Momus-MCP-74f7573/experiments/spikes/e1-ts-symbols.ts :4 import { readFileSync } from 'node:fs';
  • fs AraneaDev-Momus-MCP-74f7573/experiments/spikes/e2-ts-mock-detection.ts :4 import { readFileSync } from 'node:fs';
  • fs AraneaDev-Momus-MCP-74f7573/experiments/spikes/e3-taut002-dataflow.ts :5 import { readFileSync } from 'node:fs';
  • fs AraneaDev-Momus-MCP-74f7573/experiments/spikes/e4-type-aware.ts :4 import { readFileSync } from 'node:fs';
  • fs AraneaDev-Momus-MCP-74f7573/experiments/spikes/e5-import-resolution.ts :6 import { existsSync } from 'node:fs';
  • fs AraneaDev-Momus-MCP-74f7573/experiments/spikes/e6-php-parsing.ts :4 import { readFileSync } from 'node:fs';
  • fs AraneaDev-Momus-MCP-74f7573/experiments/spikes/e7-mcp-server.ts :10 import { readFileSync, existsSync } from 'node:fs';
  • fs AraneaDev-Momus-MCP-74f7573/experiments/spikes/lib/engine.ts :10 import { existsSync } from 'node:fs';
  • fs AraneaDev-Momus-MCP-74f7573/packages/cli/src/index.ts :6 import { writeFileSync, existsSync, realpathSync, readFileSync, chmodSync, rmSync } from 'node:fs';
  • fs (weak) AraneaDev-Momus-MCP-74f7573/packages/cli/test/fix.test.ts :2 import { mkdtempSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
  • fs (weak) AraneaDev-Momus-MCP-74f7573/packages/cli/test/index.test.ts :3 import { mkdirSync, mkdtempSync, rmSync, writeFileSync, existsSync, readFileSync } from 'node:fs';
  • fs (weak) AraneaDev-Momus-MCP-74f7573/packages/cli/test/synthesize.test.ts :2 import { mkdtempSync, rmSync, writeFileSync } from 'node:fs';
show 28 more
  • fs AraneaDev-Momus-MCP-74f7573/packages/core/src/audit.ts :2 import { readFileSync, existsSync } from 'node:fs';
  • fs AraneaDev-Momus-MCP-74f7573/packages/core/src/config.ts :2 import { readFileSync, existsSync } from 'node:fs';
  • fs AraneaDev-Momus-MCP-74f7573/packages/core/src/discovery.ts :2 import { readdirSync, readFileSync, statSync, existsSync } from 'node:fs';
  • fs AraneaDev-Momus-MCP-74f7573/packages/core/src/fix.ts :9 import { readFileSync, writeFileSync } from 'node:fs';
  • fs AraneaDev-Momus-MCP-74f7573/packages/core/src/projectSignals.ts :9 import { existsSync, readdirSync } from 'node:fs';
  • fs (weak) AraneaDev-Momus-MCP-74f7573/packages/core/test/audit.test.ts :2 import { mkdtempSync, mkdirSync, writeFileSync, rmSync } from 'node:fs';
  • fs (weak) AraneaDev-Momus-MCP-74f7573/packages/core/test/cache.test.ts :2 import { mkdtempSync, rmSync, writeFileSync } from 'node:fs';
  • fs (weak) AraneaDev-Momus-MCP-74f7573/packages/core/test/config.test.ts :2 import { mkdtempSync, writeFileSync, rmSync } from 'node:fs';
  • fs (weak) AraneaDev-Momus-MCP-74f7573/packages/core/test/diff.test.ts :3 import { mkdtempSync, rmSync, writeFileSync, mkdirSync } from 'node:fs';
  • fs (weak) AraneaDev-Momus-MCP-74f7573/packages/core/test/discovery.test.ts :2 import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs';
  • fs (weak) AraneaDev-Momus-MCP-74f7573/packages/core/test/perf.test.ts :2 import { mkdtempSync, mkdirSync, rmSync, writeFileSync } from 'node:fs';
  • fs AraneaDev-Momus-MCP-74f7573/packages/parser-php/src/index.ts :3 import { existsSync, readFileSync, readdirSync, statSync } from 'node:fs';
  • fs (weak) AraneaDev-Momus-MCP-74f7573/packages/parser-php/test/parser.test.ts :2 import { readFileSync } from 'node:fs';
  • fs AraneaDev-Momus-MCP-74f7573/packages/parser-python/src/pyright.ts :11 import { existsSync, mkdtempSync, readdirSync, readFileSync, rmSync, statSync, writeFileSync } from 'node:fs';
  • fs AraneaDev-Momus-MCP-74f7573/packages/parser-python/src/resolve.ts :2 import { statSync } from 'node:fs';
  • fs (weak) AraneaDev-Momus-MCP-74f7573/packages/parser-python/test/pyright.test.ts :2 import { readFileSync } from 'node:fs';
  • fs (weak) AraneaDev-Momus-MCP-74f7573/packages/parser-python/test/resolve.test.ts :2 import { mkdtempSync, writeFileSync, mkdirSync, rmSync } from 'node:fs';
  • fs AraneaDev-Momus-MCP-74f7573/packages/parser-rust/src/resolve.ts :1 import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
  • fs AraneaDev-Momus-MCP-74f7573/packages/parser-rust/src/wasm.ts :1 import { readFileSync } from 'node:fs';
  • fs (weak) AraneaDev-Momus-MCP-74f7573/packages/parser-rust/test/resolve.test.ts :2 import { mkdtempSync, writeFileSync, mkdirSync, rmSync } from 'node:fs';
  • fs AraneaDev-Momus-MCP-74f7573/packages/parser-typescript/src/program.ts :8 import { existsSync } from 'node:fs';
  • fs (weak) AraneaDev-Momus-MCP-74f7573/packages/parser-typescript/test/dataflow.test.ts :3 import { readFileSync } from 'node:fs';
  • fs (weak) AraneaDev-Momus-MCP-74f7573/packages/parser-typescript/test/mocks.test.ts :3 import { readFileSync } from 'node:fs';
  • fs (weak) AraneaDev-Momus-MCP-74f7573/packages/parser-typescript/test/syntax-only.test.ts :2 import { readFileSync } from 'node:fs';
  • fs AraneaDev-Momus-MCP-74f7573/packages/server/src/cache.ts :8 import { mkdirSync } from 'node:fs';
  • fs AraneaDev-Momus-MCP-74f7573/packages/server/src/index.ts :5 import { existsSync, readFileSync } from 'node:fs';
  • fs (weak) AraneaDev-Momus-MCP-74f7573/packages/server/test/cache.test.ts :2 import { mkdtempSync, rmSync, writeFileSync } from 'node:fs';
  • fs (weak) AraneaDev-Momus-MCP-74f7573/scripts/coverage-badge.mjs :14 import { readFileSync } from 'node:fs';

6 more not shown — this panel samples each group; the count above is the real total.

shell / exec 11

  • shell AraneaDev-Momus-MCP-74f7573/packages/cli/src/index.ts :7 import { execFileSync } from 'node:child_process';
  • shell (weak) AraneaDev-Momus-MCP-74f7573/packages/cli/test/index.test.ts :2 import { execFileSync, spawnSync } from 'node:child_process';
  • shell AraneaDev-Momus-MCP-74f7573/packages/core/src/git.ts :2 import { execFileSync } from 'node:child_process';
  • shell (weak) AraneaDev-Momus-MCP-74f7573/packages/core/test/diff.test.ts :2 import { execFileSync } from 'node:child_process';
  • shell AraneaDev-Momus-MCP-74f7573/packages/parser-python/src/pyright.ts :10 import { execFileSync } from 'node:child_process';
  • shell (weak) AraneaDev-Momus-MCP-74f7573/scripts/mutate.mjs :25 import { spawnSync } from 'node:child_process';
  • shell (weak) AraneaDev-Momus-MCP-74f7573/scripts/publish.mjs :5 import { execFileSync } from 'node:child_process';
  • shell (weak) AraneaDev-Momus-MCP-74f7573/scripts/simulate-release.mjs :15 import { execFileSync } from 'node:child_process';
  • shell (weak) AraneaDev-Momus-MCP-74f7573/scripts/verify-no-codebuff-footer.mjs :7 import { execFileSync } from 'node:child_process';
  • shell (weak) AraneaDev-Momus-MCP-74f7573/test/integration/mcp.test.ts :2 import { execFileSync } from 'node:child_process';
  • shell (weak) AraneaDev-Momus-MCP-74f7573/test/release-config.test.ts :7 import { execFileSync } from 'node:child_process';

network 6

  • net AraneaDev-Momus-MCP-74f7573/packages/cli/src/index.ts :398 const res = await fetch(`https://api.github.com/repos/${repo}/check-runs`, {
  • net (weak) AraneaDev-Momus-MCP-74f7573/packages/parser-python/test/parser.test.ts :76 def fetch(self) -> str:
  • net (weak) AraneaDev-Momus-MCP-74f7573/packages/parser-rust/test/mocks.test.ts :234 `#[test]\nfn t() {\n let mock = MockRepo::new();\n mock.expect_fetch().returning(|| 1);\n let boxed: Box<dyn Repo> = Box::new(mock);\n assert_eq!(1, boxed.fetch());\n}\n`,
  • net (weak) AraneaDev-Momus-MCP-74f7573/packages/parser-typescript/test/fixtures/src/services/invoice.ts :10 fetch(): Promise<string> {
  • net (weak) AraneaDev-Momus-MCP-74f7573/packages/parser-typescript/test/fixtures/tests/assignability.test.ts :24 expect(svc.fetch()).toBeDefined();
  • net AraneaDev-Momus-MCP-74f7573/packages/server/src/index.ts :7 import { createServer, type IncomingMessage, type ServerResponse } from 'node:http';

secrets 1

  • secrets AraneaDev-Momus-MCP-74f7573/packages/cli/src/index.ts :359 const token = process.env.GITHUB_TOKEN;

database 1

  • db AraneaDev-Momus-MCP-74f7573/packages/server/src/cache.ts :7 import Database from 'better-sqlite3';

tool registrations 16

  • audit_test_fidelity AraneaDev-Momus-MCP-74f7573/experiments/spikes/e7-mcp-server.ts :66
  • detect_tautological_assertions AraneaDev-Momus-MCP-74f7573/experiments/spikes/e7-mcp-server.ts :74
  • verify_mock_drift AraneaDev-Momus-MCP-74f7573/experiments/spikes/e7-mcp-server.ts :84
  • synthesize_mock_contract AraneaDev-Momus-MCP-74f7573/experiments/spikes/e7-mcp-server.ts :97
  • list_rules AraneaDev-Momus-MCP-74f7573/experiments/spikes/e7-mcp-server.ts :106
  • audit_test_fidelity AraneaDev-Momus-MCP-74f7573/packages/server/src/index.ts :420
  • detect_tautological_assertions AraneaDev-Momus-MCP-74f7573/packages/server/src/index.ts :436
  • verify_mock_drift AraneaDev-Momus-MCP-74f7573/packages/server/src/index.ts :451
  • synthesize_mock_contract AraneaDev-Momus-MCP-74f7573/packages/server/src/index.ts :491
  • apply_issue_fix AraneaDev-Momus-MCP-74f7573/packages/server/src/index.ts :727
  • preview_issue_fix AraneaDev-Momus-MCP-74f7573/packages/server/src/index.ts :811
  • audit_workspace AraneaDev-Momus-MCP-74f7573/packages/server/src/index.ts :866
show 4 more
  • doctor_status AraneaDev-Momus-MCP-74f7573/packages/server/src/index.ts :918
  • explain_issue AraneaDev-Momus-MCP-74f7573/packages/server/src/index.ts :951
  • get_ir AraneaDev-Momus-MCP-74f7573/packages/server/src/index.ts :1003
  • list_rules AraneaDev-Momus-MCP-74f7573/packages/server/src/index.ts :1056

install hooks 1

  • prepare AraneaDev-Momus-MCP-74f7573/package.json :26 git config core.hooksPath .githooks 2>/dev/null || true

declared dependencies 19

  • @eslint/js@^10.0.1
  • @stryker-mutator/core@^9.6.1
  • @types/better-sqlite3@^9.6.0
  • @types/node@^24.0.0
  • @vitest/coverage-v8@^3.2.7
  • eslint@^10.8.1
  • eslint-config-prettier@^10.1.8
  • globals@^14.0.0
  • prettier@^3.9.6
  • tsx@^4.19.0
  • typescript@^5.9.0
  • typescript-eslint@^8.67.0
show 7 more
  • vitepress@^1.6.4
  • vitest@^3.0.0
  • syn@2
  • proc-macro2@1
  • quote@1
  • serde_json@1
  • wee_alloc@0.4