MCP server integration for JEB Decompiler (Official API)
Project description
jeb-mcp
JEB Pro 的 MCP 集成服务,用于让 MCP 客户端通过标准工具接口调用 JEB Pro 的反编译、搜索、重命名、脚本执行等能力。
项目由两部分组成:
- JEB 插件脚本:
MCP.py放在 JEB scripts 目录中运行,在 JEB 内启动本地 JSON-RPC 服务。 - Python MCP 服务:连接 MCP 客户端和 JEB 插件,支持
stdio、HTTP和SSE。
目录
功能特性
- JEB 能力接入:通过 MCP 工具调用 JEB Pro,便于在 AI 编程工具中辅助逆向分析。
- 多种传输方式:支持
stdio、HTTP、SSE,可适配 Claude Code、Cline、RooCode、Codex 等客户端。 - 插件路径查询:提供
plugin-path命令,方便定位需要复制到 JEB scripts 目录的MCP.py。 - 源码与发布包两种用法:既可以通过
uvx jeb-mcp直接使用发布包,也可以在源码仓库中通过uv run jeb-mcp调试。 - 规则文件随包发布:
MCP.py和rules/会随 Python 包一起发布,避免手动整理插件依赖。
环境要求
- Python 3.11 及以上,已验证 Python 3.14。
- JEB Pro。
uv:https://docs.astral.sh/uv/getting-started/installation/
MCP.py 由 JEB 内置的 Jython 运行;Python 版本要求只针对外部 MCP 服务。
项目结构
.
├── pyproject.toml
├── README.md
├── sample_cline_mcp_settings.json
├── antigravity_mcp_settings.json
└── src/
└── jeb_mcp/
├── __init__.py
├── cli.py
├── MCP.py
├── remote_server.py
├── server.py
├── server_generated.py
└── rules/
项目使用标准 src/ 布局。
使用说明
安装 JEB 插件
如果使用已发布的包,先查看包内 MCP.py 的路径:
uvx jeb-mcp plugin-path
如果从源码运行,在仓库根目录执行:
uv run jeb-mcp plugin-path
把输出路径对应的 MCP.py 复制到 JEB scripts 目录,然后在 JEB 中运行:
File -> Scripts -> Scripts selector... -> MCP.py
JEB 日志中应出现:
[MCP] Plugin loaded
[MCP] Plugin running
[MCP] Server started at http://127.0.0.1:16161
stdio 模式
适用于由客户端直接拉起 MCP 子进程的场景,例如 Claude Code、Cline、RooCode。
发布包:
uvx jeb-mcp
源码:
uv run jeb-mcp
客户端配置示例:
{
"mcpServers": {
"jeb": {
"command": "uvx",
"args": [
"jeb-mcp"
]
}
}
}
HTTP 模式
适用于通过 URL 接入 MCP 服务的客户端。默认地址是 http://127.0.0.1:16160/mcp。
发布包:
uvx jeb-mcp remote
源码:
uv run jeb-mcp remote
Codex 示例:
codex mcp add jeb --url http://127.0.0.1:16160/mcp
配置文件示例:
[mcp_servers.jeb]
url = "http://127.0.0.1:16160/mcp"
SSE 模式
旧客户端如果只支持 SSE,可以指定传输方式:
uvx jeb-mcp remote --transport sse
常用参数:
uvx jeb-mcp remote --host 127.0.0.1 --port 16160 --path /mcp
连接远程 JEB 插件
Python MCP 服务默认连接 localhost:16161 上的 JEB 插件。需要改地址时:
JEB_MCPC_HOST=127.0.0.1 JEB_MCPC_PORT=16161 uvx jeb-mcp remote
不要把 jeb-mcp remote 直接暴露到公网;服务本身没有鉴权。
验证与构建
先在 JEB 中启动 MCP.py,再从 MCP 客户端调用 check_connection。成功时返回:
Successfully connected to JEB Pro
本地编译检查:
python -m compileall -q src
构建发布包:
uv build
发布流程会在 Python 3.11 和 Python 3.14 上做编译检查,并使用 Python 3.14 构建发布包。
常见问题
Q: check_connection 连接失败怎么办?
A: 先确认 JEB 中已经运行 MCP.py,并且日志中出现 Server started at http://127.0.0.1:16161。如果端口被占用,需要释放端口后重新运行脚本。
Q: Python 版本要求是否影响 JEB 插件?
A: 不影响。MCP.py 由 JEB 内置的 Jython 执行,Python 3.11 及以上只用于外部 MCP 服务。
Q: 应该使用 stdio 还是 HTTP?
A: 如果客户端支持直接拉起 MCP 子进程,优先使用 stdio。如果客户端只支持通过 URL 连接,使用 HTTP。旧客户端只支持 SSE 时再使用 SSE。
致谢
感谢原作者仓库:https://github.com/flankerhqd/jebmcp
免责声明
- 本项目仅供学习交流、逆向分析辅助和安全研究使用。
- 使用者应确保自己拥有分析目标的合法授权,并自行承担使用本项目带来的风险和责任。
- 请勿将未加鉴权的远程 MCP 服务暴露到公网环境。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jeb_mcp-0.1.0.tar.gz.
File metadata
- Download URL: jeb_mcp-0.1.0.tar.gz
- Upload date:
- Size: 81.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e7349bc1422a2647c667ce341e80716c76ad32853e9d94b5fcbb4a23c4f36cc8
|
|
| MD5 |
84b9188c5df7e1fc5888b951a5beb300
|
|
| BLAKE2b-256 |
64d93c5f38b836203e3f5a15c01e3c781d01230746edf0c30f9b479988f3baa3
|
Provenance
The following attestation bundles were made for jeb_mcp-0.1.0.tar.gz:
Publisher:
release.yml on xihan123/jebmcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jeb_mcp-0.1.0.tar.gz -
Subject digest:
e7349bc1422a2647c667ce341e80716c76ad32853e9d94b5fcbb4a23c4f36cc8 - Sigstore transparency entry: 1740713494
- Sigstore integration time:
-
Permalink:
xihan123/jebmcp@0b7ed325a3bc42274449d407dbd52675629f9e31 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/xihan123
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@0b7ed325a3bc42274449d407dbd52675629f9e31 -
Trigger Event:
push
-
Statement type:
File details
Details for the file jeb_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: jeb_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 80.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c2138bfbfafa741c6c4280a1296da45c6590a242296bec0021af0743229fd21
|
|
| MD5 |
a8e80182c0e36e24e7b16b02e1663db7
|
|
| BLAKE2b-256 |
51f952496f888482361f4cb9eda091e2152998569a08b0cb57e11398ae15eb9c
|
Provenance
The following attestation bundles were made for jeb_mcp-0.1.0-py3-none-any.whl:
Publisher:
release.yml on xihan123/jebmcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jeb_mcp-0.1.0-py3-none-any.whl -
Subject digest:
0c2138bfbfafa741c6c4280a1296da45c6590a242296bec0021af0743229fd21 - Sigstore transparency entry: 1740713501
- Sigstore integration time:
-
Permalink:
xihan123/jebmcp@0b7ed325a3bc42274449d407dbd52675629f9e31 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/xihan123
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@0b7ed325a3bc42274449d407dbd52675629f9e31 -
Trigger Event:
push
-
Statement type: