Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Analyze Java heap dumps locally with Eclipse MAT, including live JVM capture.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"jvmind-mat": {
"command": "uvx",
"args": [
"jvmind-mat-mcp"
]
}
}
}在终端中运行这条命令
claude mcp add jvmind-mat -- uvx jvmind-mat-mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"jvmind-mat": {
"command": "uvx",
"args": [
"jvmind-mat-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"jvmind-mat": {
"type": "stdio",
"command": "uvx",
"args": [
"jvmind-mat-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 kengrary 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.2.1)于14天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Python MCP
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ 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.
Local-only Python MCP server for the Files.com API.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
English | 中文
Java heap dump analysis built on the Eclipse Memory Analyzer (MAT) engine:
upload → parse → MAT-like web queries → domain diagnostics (connection-pool
leaks and more) → natural-language agent diagnosis.
Status: the Java parser and query service are tested. MCP Server
v0.2.1
is published on PyPI and the official MCP Registry. Python platform
integration is still in progress. See PROJECT-STATUS.md.
mat-study/README.md (the design blueprint; Chinese).uvx jvmind-mat-mcp, local stdio).A local stdio MCP server that exposes MAT heap analysis to Claude Desktop, Cursor, and VS Code. It can discover local Java processes and capture a live heap dump from a running JVM, or open an existing .hprof file. Heap dumps never leave the machine; the MAT helper binds to 127.0.0.1 only.
uvx jvmind-mat-mcp doctor # checks JDK 21 / MAT 1.17 / permissions
| Channel | Location |
|---|---|
| PyPI | https://pypi.org/project/jvmind-mat-mcp/ |
| Official MCP Registry | io.github.kengrary/jvmind-mat |
| MCPRush | https://mcprush.com/kengrary/jvmind-mat-heap-dump-analyzer-mcp |
| Documentation | mcp-server/README.md |
Capabilities: list_java_processes / dump_java_heap for live capture, open_heapdump for existing files, then mat_overview / mat_histogram / mat_dominator / mat_threads / mat_object / mat_path2gc / mat_oql / mat_leak_suspects / mat_diagnose_oom and more — 19 tools in total.
Requirements: Python 3.10+, JDK 21+, Eclipse MAT 1.17.x (a small query bundle is installed into MAT on first use).
All analysis tools take the report_id returned by open_heapdump.
open_heapdump — open a local .hprof, start background indexing, return a report_idget_heapdump_status — poll parse status, progress, and phaselist_heapdumps — list heap dumps known to this MCP serverclose_heapdump — release a heap dump handle and optionally stop the MAT helperlist_java_processes — discover local attachable JVMs (pid, main class, command; MAT helper excluded)dump_java_heap — preview and capture a live heap dump, then start MAT parsing (confirm=true)mat_overview — heap overview: used/committed/live heap, object/class/classloader counts, JDK versionmat_histogram — class histogram sorted by shallow, retained, or object countmat_dominator — dominator tree of the largest retained objects, with parent drill-downmat_threads — list threads or drill into stack frames and frame localsmat_threadlocals — inspect ThreadLocal values grouped by value class or threadmat_object — inspect a single object's fields, statics, references, and GC rootmat_path2gc — shortest path from an object to a GC rootmat_oql — run an OQL query and return rows plus a reusable result set idmat_leak_suspects — run LeakHunter and return suspects with retained sizes and descriptionsmat_diagnose_oom — composite OOM diagnosis: leak suspects + SQL in threads + dominator analysismat_connection_pools — diagnose database connection pools and leaked connectionsmat_top_consumers — top memory consumers by retained heapmat_sql_in_threads — find SQL statements in thread stacks User uploads a heap dump
│ [Python/FastAPI] ← in progress (TODO-PYTHON-TEAM.md) upload / queue / progress / auth / agent ├── fork ─────────────▶ [parser-cli / V1] hprof → *.index ✅ tested │ (writes to NFS) └── reverse proxy ────▶ [query-service] queries over indexes ✅ tested (OSGi bundle, :8090) histogram / dominators / threads / OQL
Local MCP path (v0.2.1 published): Claude Desktop / Cursor / VS Code │ stdio ▼ [mcp-server] ──HTTP 127.0.0.1──▶ [query-service :8090] └── runs MAT ParseHeapDump when index files are missing (reuses the parser-cli V1 logic)
| File | Contents |
|---|---|
| README.md | English overview (this file) |
| README.zh.md | Chinese overview |
| PROJECT-STATUS.md | Milestones, module status, TODOs, lessons learned |
| TODO-PYTHON-TEAM.md | Python integration task list, API contract, acceptance |
mat-study/ — design documents (Chinese)| # | Document | What it covers |
|---|---|---|
| — | README.md | Design blueprint (four-layer architecture, decisions, milestones) |
| 01 | MAT source study and architecture | How MAT works and how to reuse it; index file format |
| 02 | Core algorithms and implementation | Dominator tree, paths, retained size; web backend design |
| 03 | Beyond OOM: connection-pool leaks | What else a heap dump can answer; pools, thread pools, classloaders |
| 04 | Tooling the MAT API for agents | How an LLM drives MAT; tool granularity and output trimming |
| 05 | End-to-end integration design | Upload, queue, progress, three-layer soft-reference cache |
| 06 | Technology choices and four-view API | Finalized choices and the four-view API contract |
| 07 | Integrating with JVMind | How to connect to the existing platform (required for the Python team) |
| 08 | MAT feature inventory and gaps | 57 queries reviewed; gap priorities |
| 09 | Frontend implementation guidance | Making the web UI feel like MAT |
| 10 | MAT Inspector capabilities | Inspector features and what is already implemented |
| 12 | Python integration plan | Phased plan for the Python side |
| 13 | Thread-level OOM diagnosis | Finding the OOM-triggering thread and its SQL |
| 14 | Heap dump frontend design | Endpoint mapping, async state machine, integration rules |
parser-cli/ — parsing layer (hprof → index)| File | Contents |
|---|---|
| README.md | Parser overview (V1/V2 routes) |
| MAT-DEPENDENCIES.md | How to obtain MAT dependencies, version/JDK matrix, bundle list |
| v1-parsehd/README.md | V1 (zero build; MAT distribution + text progress) — current |
| v1-parsehd/VERIFICATION.md | V1 verification report (real hprof, three bugs fixed) |
v1-parsehd/mat_parse_runner.py | Progress parser (Python; reusable by the worker) |
python-worker-snippet.py | Worker snippet for calling the parser |
src/.../*.java | V2 skeleton (self-built jar + JSONL progress; not active) |
query-service/ — query layer (OSGi bundle, :8090) ✅| File | Contents |
|---|---|
| README.md | Service overview (endpoints, SnapshotManager, route 2) |
| DEPLOY.md | Deploy + end-to-end verification (bundles.info + -clean, curl examples) |
| EQUINOX-A-VERIFICATION.md | Embedded Equinox test and CNF fix (why route 2) |
| BUILD-TROUBLESHOOTING.md | Build troubleshooting (p2 repositories, JDK versions) |
src/.../*.java (21 files) | Service implementation: core/http/model/task/view/equinox |
mcp-server/ — local stdio MCP (✅ v0.2.1 published)| File | Contents |
|---|---|
| README.md | Install, client config, 19 tools, privacy, troubleshooting |
src/jvmind_mat_mcp/server.py | MCP SDK tool registration |
src/jvmind_mat_mcp/engine.py | Heap dump registry, background parsing, MAT lifecycle |
src/jvmind_mat_mcp/vendor/ | Query-service OSGi bundle shipped with the package |
| Dockerfile | Glama review image (MAT/JDK not included; mount at runtime) |
tests/ | Unit tests, stdio protocol tests, optional real-MAT integration tests |
marketplace/ — directory submission pack (🟡 prepared, not submitted)| File | Contents |
|---|---|
| README.md | Platform status, remaining steps, quality gaps |
| metadata.json | Shared name, description, tags, install command |
smithery/manifest.json | MCPB manifest (Smithery skipped, kept for later) |
| mcp.so.md / glama.md / pulsemcp.md | Form copy and steps per platform |
| Module | Form | Status | Entry point |
|---|---|---|---|
| parser-cli | V1 = MAT command; V2 = standalone jar | ✅ V1 tested | v1-parsehd/mat_parse_runner.py |
| query-service | OSGi bundle (HTTP :8090) | ✅ tested | QueryServiceApp.java / QueryHttpServer.java |
| mcp-server | Python stdio MCP (PyPI + official Registry) | ✅ v0.2.1 published | src/jvmind_mat_mcp/server.py |
| marketplace | Directory copy (Smithery skipped) | 🟡 prepared, pending submission | marketplace/README.md |
| Python integration | FastAPI + DB + agent | ⏳ in progress | TODO-PYTHON-TEAM.md |
eclipse-plugin) with a p2 repository or a local Directory target; do not add .plugins/, add a line to bundles.info (auto-start=true), and restart with `-clean` (not dropins/).dumpDir (= the dump directory).jvmind-mat-mcp; Registry name io.github.kengrary/jvmind-mat. After changing the Java query layer, rerun mcp-server/scripts/vendor-bundle.sh, otherwise the wheel ships a stale bundle.com.jvmind.mat.query into MAT's plugins/ and bundles.info; the MAT install must be writable.jmap -dump:live: it dumps only live objects, triggers a Full GC, and may pause the target JVM. The default output is the server's current working directory; override it with JVMIND_MCP_DUMP_DIR or the tool's output_dir.只显示了开头部分;其余内容请在仓库中阅读