MCP server for terminal operations and file editing
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio
verified
reported
listed in the official MCP registry counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
No tools enumerated yet for this server.
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed v0.2.41 · analyzer v33 · 4w ago
danger signals6
- dynamic code execution new Function() package/dist/ui/config-editor/config-editor-runtime.js :26
ludes("Cloudflare"))return!1;try{return new Function(""),!0}catch{return!1}});function et(e){if(ht(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let n=t.prototype;r - dynamic code execution new Function() package/dist/ui/file-preview/preview-runtime.js :28
ludes("Cloudflare"))return!1;try{return new Function(""),!0}catch{return!1}});function ti(e){if(ro(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let n=t.prototype;r - suspicious endpoint www.google-analytics.com (telemetry) package/dist/setup-claude-server.js :16
const GA_BASE_URL = `https://www.google-analytics.com/mp/collect?measurement_id=${GA_MEASUREMENT_ID}&api_secret=${GA_API_SECRET}`; - suspicious endpoint www.google-analytics.com (telemetry) package/dist/track-installation.js :79
const GA_BASE_URL = `https://www.google-analytics.com/mp/collect?measurement_id=${GA_MEASUREMENT_ID}&api_secret=${GA_API_SECRET}`; - suspicious endpoint www.google-analytics.com (telemetry) package/dist/uninstall-claude-server.js :16
const GA_BASE_URL = `https://www.google-analytics.com/mp/collect?measurement_id=${GA_MEASUREMENT_ID}&api_secret=${GA_API_SECRET}`; - suspicious endpoint www.google-analytics.com (telemetry) package/dist/utils/capture.js :377
const GA_OLD_URL = `https://www.google-analytics.com/mp/collect?measurement_id=${GA_OLD_ID}&api_secret=${GA_OLD_SECRET}`;
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 226
filesystem 25
- fs package/dist/config-manager.js :1
import fs from 'fs/promises'; - fs package/dist/remote-device/desktop-commander-integration.js :3
import fs from 'fs/promises'; - fs package/dist/remote-device/device.js :7
import fs from 'fs/promises'; - fs package/dist/search-manager.js :3
import fs from 'fs/promises'; - fs package/dist/setup-claude-server.js :2
import fs from 'fs/promises'; - fs package/dist/tools/config.js :6
import { access, readFile } from 'node:fs/promises'; - fs package/dist/tools/filesystem.js :1
import fs from "fs/promises"; - fs package/dist/tools/improved-process-tools.js :9
import fs from 'fs/promises'; - fs package/dist/tools/pdf/manipulations.js :1
import fs from 'fs/promises'; - fs package/dist/tools/pdf/markdown.js :1
import fs from 'fs/promises'; - fs package/dist/tools/prompts.js :2
import * as fs from 'fs/promises'; - fs package/dist/ui/resources.js :4
import fs from 'fs/promises';
show 13 more
- fs package/dist/uninstall-claude-server.js :2
import fs from 'fs/promises'; - fs package/dist/utils/feature-flags.js :1
import fs from 'fs/promises'; - fs package/dist/utils/files/binary.js :7
import fs from "fs/promises"; - fs package/dist/utils/files/docx.js :18
import fs from 'fs/promises'; - fs package/dist/utils/files/excel.js :6
import fs from 'fs/promises'; - fs package/dist/utils/files/image.js :5
import fs from "fs/promises"; - fs package/dist/utils/files/pdf.js :5
import fs from 'fs/promises'; - fs package/dist/utils/files/text.js :15
import fs from "fs/promises"; - fs package/dist/utils/fuzzySearchLogger.js :1
import fs from 'fs/promises'; - fs package/dist/utils/ripgrep-resolver.js :2
import { existsSync, chmodSync } from 'fs'; - fs package/dist/utils/system-info.js :2
import fs from 'fs'; - fs package/dist/utils/toolHistory.js :1
import * as fs from 'fs'; - fs package/dist/utils/trackTools.js :1
import * as fs from 'fs';
shell / exec 13
- shell package/dist/remote-device/desktop-commander-integration.js :1
import { spawn } from 'child_process'; - shell package/dist/remote-device/remote-channel.js :364
const { spawnSync } = await import('child_process'); - shell package/dist/search-manager.js :1
import { spawn } from 'child_process'; - shell package/dist/setup-claude-server.js :8
import { exec } from "node:child_process"; - shell package/dist/terminal-manager.js :1
import { spawn } from 'child_process'; - shell package/dist/tools/feedback.js :4
import { exec } from 'child_process'; - shell package/dist/tools/improved-process-tools.js :8
import { spawn } from 'child_process'; - shell package/dist/tools/process.js :1
import { exec } from 'child_process'; - shell package/dist/track-installation.js :106
const { execSync } = await import('child_process'); - shell package/dist/uninstall-claude-server.js :8
import { exec } from "node:child_process"; - shell package/dist/utils/open-browser.js :1
import { execFile, spawn } from 'child_process'; - shell package/dist/utils/ripgrep-resolver.js :1
import { execSync } from 'child_process';
show 1 more
- shell package/dist/utils/system-info.js :4
import { execSync } from 'child_process';
network 9
- net package/dist/remote-device/device-authenticator.js :30
const response = await fetch(`${this.baseServerUrl}/device/start`, { - net package/dist/remote-device/device.js :202
const response = await fetch(`${this.baseServerUrl}/api/mcp-info`); - net package/dist/setup-claude-server.js :10
import * as https from 'https'; - net package/dist/tools/filesystem.js :310
const response = await fetch(url, { - net package/dist/tools/pdf/markdown.js :163
const response = await fetch(source); - net package/dist/track-installation.js :15
import * as https from 'https'; - net package/dist/uninstall-claude-server.js :10
import * as https from 'https'; - net package/dist/utils/capture.js :2
import * as https from 'https'; - net package/dist/utils/feature-flags.js :156
const fetchPromise = fetch(this.flagUrl, {
install hooks 2
- postinstall (suspicious) package/package.json :25
node dist/track-installation.js && node dist/npm-scripts/verify-ripgrep.js || node -e "process.exit(0)" - prepare package/package.json :41
npm run build
declared dependencies 47
- @modelcontextprotocol/sdk@^1.9.0
- @modelcontextprotocol/ext-apps@^1.0.1
- @opendocsg/pdf2md@^0.2.2
- @supabase/supabase-js@^2.89.0
- @tiptap/core@^3.22.3
- @tiptap/extension-image@^3.22.3
- @tiptap/extension-table@^3.22.4
- @tiptap/extension-table-cell@^3.22.4
- @tiptap/extension-table-header@^3.22.4
- @tiptap/extension-table-row@^3.22.4
- @tiptap/pm@^3.22.3
- @tiptap/starter-kit@^3.22.3
show 28 more
- @vscode/ripgrep@^1.15.9
- cross-fetch@^4.1.0
- exceljs@^4.4.0
- fastest-levenshtein@^1.0.16
- file-type@^21.1.1
- glob@^10.3.10
- highlight.js@^11.11.1
- isbinaryfile@^5.0.4
- markdown-it@^14.1.0
- md-to-pdf@^5.2.5
- open@^10.2.0
- pdf-lib@^1.17.1
- pizzip@^3.2.0
- remark@^15.0.1
- remark-gfm@^4.0.1
- remark-parse@^11.0.0
- sharp@^0.34.5
- tiptap-markdown@^0.9.0
- unified@^11.0.5
- unpdf@^1.4.0
- zod@^3.24.1
- zod-to-json-schema@^3.23.5
- @anthropic-ai/mcpb@^1.2.0
- @types/node@^20.17.24
- commander@^13.1.0
- esbuild@^0.27.2
- js-tiktoken@^1.0.21
- jsdom@^24.1.3
7 more not shown — this panel samples each group; the count above is the real total.