Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Encoding-aware, indentation-smart file tools for AI coding agents with SSH, SFTP, and 20+ tools.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
链接指向作者自己的文件;我们不托管也不重新打包它。打开文件后,Claude Desktop 会进行安装。
在终端中运行这条命令
浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 knewstimek 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.4.2)于8个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 MCPB。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Starreel
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Turn a script into a finished, downloadable short-drama episode — via MCP or REST.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
한국어
MCP (Model Context Protocol) tool server for AI coding agents.
Built-in tools in AI coding agents (Claude Code, Cursor, Codex, etc.) have known limitations:
curl/wget requests. agent-tool uses ECH (Encrypted Client Hello) and DoH (DNS over HTTPS) by default to work around these restrictions.agent-tool solves these with agent-oriented tools that preserve project conventions while keeping model context bounded.
Claude Code, Codex CLI, Cursor, Windsurf, Cline, Gemini CLI, and any MCP-compatible agent.
The default core profile exposes only 11 schemas (including toolbox) instead of all 40. In a protocol-level measurement this reduced the serialized tool list from about 74 KB (full) to 15 KB. For the smallest steady-state context, start with --profile core-lite; its five schemas are about 6.4 KB and expose only read, write, edit, grep, and toolbox. Use toolbox(operation="describe", tool="ssh", compact=true, tool_operation="execute") to load only one operation's fields and required list, then invoke it through toolbox(operation="call", tool="ssh", arguments={...}). The gateway does not depend on dynamic tool-list refresh, so it works with fixed-binding clients such as Codex. Describe returns a tool/version-bound schema_handle; sending it on a later describe returns a short unchanged acknowledgement when the schema is still current. Common compact operations include SSH execution, MySQL queries, file copy, Windows screenshots/clipboard images, and static-analysis operations. You can also start with --profile core-lite|coding|remote|analysis|full.
Potentially large text responses default to 32K characters with a 128K hard ceiling. Truncation is always visible and pageable tools return next_offset or next_cursor. Local relative paths resolve against an explicit workspace, then the MCP client root.
| Tool | Description | Status |
|---|---|---|
| Edit | String replacement with smart indentation and encoding preservation (supports dry_run) | ✅ |
| Read | Encoding-aware, line-numbered reading. Defaults to 400 lines/32K chars, reports truncation and exact next_offset, safely handles very long lines, optional SHA-256. Flexible offset and MCP ImageContent support | ✅ |
| Write | Encoding-aware file creation/overwrite | ✅ |
| Grep | Encoding-aware regex search with 32K output budget, compact file-grouped output, relative paths, .gitignore/.ignore/generated-directory filtering, binary detection, output modes/context, and deterministic next_cursor paging without repeated matches | ✅ |
| Glob | Sorted, bounded file matching with **, relative paths, .gitignore/.ignore/generated-directory filtering, explicit has_more, and deterministic cursor paging | ✅ |
| ListDir | Bounded/pageable directory listing. max_entries + continuation cursor, directory/file filters, entry-name glob filters, counts-only mode, flat/tree output | ✅ |
| Diff | Compare two files with unified diff output (encoding-aware). Files differing only in line endings or a trailing newline say so instead of returning an empty diff | ✅ |
| Patch | Apply unified diff patch to a file (supports dry_run). Each line keeps its own ending, so a mixed CRLF/LF file is not rewritten | ✅ |
| Checksum | Compute file hash (md5, sha1, sha256) | ✅ |
| FileInfo | File metadata (size, encoding, mixed line-ending counts, indentation, line count) | ✅ |
| ConvertEncoding | Convert file encoding (EUC-KR ↔ UTF-8, add/remove BOM, etc.) | ✅ |
| Delete | Safe file/directory deletion, including compact batches of up to 100 file_paths. Directories require recursive=true; protected roots, symlink blocking, bounded errors, and dry_run preview | ✅ |
| Rename | Atomic file/directory rename or move (dry_run) | ✅ |
| ProcList | List running processes — PID, name, command line, memory. Sensitive args auto-masked. Filter by name or port | ✅ |
| ProcKill | Kill, suspend, or resume processes by PID or port. Tree kill, signal selection (kill/term/hup/int/stop/cont), zombie handling (Linux), dry_run | ✅ |
| ProcExec | Execute commands as new processes without blocking the agent: runs still going after yield_after_sec return a job_id (wait/status/tail/cancel/list, process-tree kill), background jobs keep capturing output, suspended start, lifetime timeout/env vars, and safe repeated-diagnostic compaction with expiring raw-output retrieval | ✅ |
| SSH | SSH execution with 32K head+tail capture, original byte counts, proper non-zero-exit errors, and background jobs (start/wait/status/tail/cancel, also visible via toolbox operation=job), UTF-8 powershell_script output on non-English Windows. Auth-aware pooling, host-key verification, ProxyJump, IPv6 | ✅ |
| SSHKey | Convert local private keys between PuTTY PPK v3, traditional PEM, modern OpenSSH, and PKCS#8. Auto-detects input, supports encrypted PPK/OpenSSH output, writes mode 0600, and never returns key material | ✅ |
| SFTP | Transfer files and manage remote filesystems over SSH. Upload, download, ls, stat, mkdir, rm, chmod, rename. Reuses SSH session pool. Max 2 GB per transfer | ✅ |
| Bash | Persistent shell sessions with working directory/environment retention, safe repeated-diagnostic compaction, and expiring raw-output retrieval. Session pooling (max 5, idle timeout 30 min). Unix: bash/sh, Windows: PowerShell/git-bash/cmd | ✅ |
| Download | Download files from URLs to disk. ECH + DoH by default. SSRF protection. HTTP/SOCKS5 proxy. Atomic write. Max 2 GB | ✅ |
| HTTPReq | Execute HTTP requests with any method (GET/POST/PUT/PATCH/DELETE/HEAD/OPTIONS). API testing with custom headers, body, proxy. SSRF protection | ✅ |
| Query | Read one value from a JSON, YAML or TOML file by dot-notation path (e.g. dependencies.react, services.web.ports[0], users[*].email); format from the extension or format. Saves tokens on large configs | ✅ |
| Copy | Copy files/directories with atomic write and permission preservation. Recursive directory copy. Windows locked-file fallback (renames running exe/DLL aside). dry_run preview | ✅ |
| Mkdir | Create directories with optional permission mode (octal, e.g. 0755). Recursive by default (mkdir -p). dry_run preview | ✅ |
| MultiRead | Read up to 50 files with a call-wide 32K budget, 200-line per-file default, long-line safety, and per-file/overall continuation metadata. Hashes are opt-in | ✅ |
| RegexReplace | Regex find-and-replace across files/directories. Encoding and line-ending preserving, capture groups ($1, $2). Skips binary files. dry_run preview | ✅ |
| NetCheck | Network diagnostics: external_ip (public IPv4/IPv6 with provider fallback), dns (A/AAAA/MX/CNAME/TXT/NS/SOA over DoH or the system resolver), tls (certificate subject, issuer, expiry, SANs, TLS version, cipher), port (TCP OPEN/CLOSED with response time) | ✅ |
| MySQL | Execute SQL queries on MySQL/MariaDB. Table-formatted SELECT results with configurable row/column/cell/total-output limits; affected rows for DML. Use SQL LIMIT/OFFSET for paging | ✅ |
| Redis | Execute Redis commands with formatted output by type. TLS support. Dangerous commands (FLUSHALL, SHUTDOWN, etc.) blocked | ✅ |
| SLOC | Count source lines of code per language. 70+ language detection, per-file/language breakdown, blank line stats, max_depth control | ✅ |
| Debug | Interactive debugger via DAP (Debug Adapter Protocol). Full DAP coverage with bounded values/output and paging for variables, completions, modules, and loaded sources. Tested with dlv (Go), debugpy (Python), codelldb (C/C++/Rust). Works with any DAP-compatible adapter. Stdio and TCP modes. Note: vsdbg (Microsoft) requires VS Code licensing and is not usable standalone — use codelldb or netcoredbg as open-source alternatives | ✅ |
| Analyze | Static binary analysis and reverse engineering. Decompilation of x86/x64 PE/ELF functions to C (Gosleigh, a Go port of Ghidra's decompiler core, run in an isolated worker process with time/memory limits); a matching PE PDB (built-in reader, no DIA SDK; pdb_force loads one whose GUID differs) or embedded DWARF is read automatically for function names, prototypes, struct/enum types, global data, bitfields and local variables (names and types) in decompilation (the structs/enums a function names are printed after it with member offsets and enum values; type_info prints any other by name), and for names and exact function bounds in disassemble, call_graph and function_at; MSVC decorated names are demangled; Go binaries use the Go ABI; non-returning functions are detected as in Ghidra; undecodable bytes end only their path (halt_baddata()); a runaway flow (junk-byte obfuscation, where Ghidra times out) is decompiled inside the function's x64 .pdata extent with each exit marked (halt_missing()), and assume_branches fixes conditional jumps a runtime trace resolved; agent-tool decompile-all dumps a whole binary to a JSONL corpus; x86/x64/ARM/ARM64 disassembly; semantic x86/x64 instruction search (mnemonic, register, immediate, memory displacement) with exhaustive executable-offset recovery, CFG confidence, function names, target/result filters, and parallel fixpoint register/stack/read-only constant tracing into ABI-aware calls and tail calls (stdcall argument cleanup modeled, read from the imported DLLs for x86 imports); PE/ELF/Mach-O parsing with bounded, pageable PE import output; xref to an address, the strings containing a text, or a struct field (Class::member, confirmed by decompiling), covering code, immediates and data pointers (vtable slots), each reference named by its containing function; function discovery/call graphs (function bounds without a PDB matched PDB bounds for 100% of addresses on a large x64 image, 99.5% on x86; callers through thunks and tail jumps, vtable references), pointer/RTTI/vtable/struct analysis, imphash, Rich header, DWARF, strings, hexdump, pattern search, entropy, overlay detection, and binary diff. No global file size limit | ✅ |
| Memtool | CheatEngine-style process memory tool — search/filter/read/write memory values, read_chain (resolve base+offset pointer chains, batched in one call), live disassembly (x86/x64/ARM/ARM64), undo, struct pattern search, pointer scan, memory diff. Disk-backed snapshots for large scans. Session management with idle timeout. Windows (ReadProcessMemory) and Linux (/proc/pid/mem). Windows auto-enables SeDebugPrivilege when elevated; opt-in force_dacl bypasses a same-user process's self-hardened DACL (original restored after). Long scans yield a `j
只显示了开头部分;其余内容请在仓库中阅读