Metadata-Version: 2.4
Name: jeb-mcp
Version: 0.1.0
Summary: MCP server integration for JEB Decompiler (Official API)
Author: xihan123
Project-URL: Homepage, https://github.com/xihan123/jebmcp
Project-URL: Repository, https://github.com/xihan123/jebmcp
Project-URL: Issues, https://github.com/xihan123/jebmcp/issues
Keywords: jeb,mcp,decompiler,reverse-engineering
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: fastmcp>=3.4.2
Dynamic: license-file

![jeb-mcp](https://socialify.git.ci/xihan123/jebmcp/image?description=1&forks=1&issues=1&language=1&name=1&owner=1&pulls=1&stargazers=1&theme=Auto)

![Python](https://img.shields.io/badge/Python-3.11%2B-brightgreen.svg)
![版本](https://img.shields.io/github/v/release/xihan123/jebmcp?label=%E7%89%88%E6%9C%AC)
[![Build and publish](https://github.com/xihan123/jebmcp/actions/workflows/release.yml/badge.svg)](https://github.com/xihan123/jebmcp/actions/workflows/release.yml)
![PyPI](https://img.shields.io/pypi/v/jeb-mcp)
![下载量](https://img.shields.io/pypi/dm/jeb-mcp)

# jeb-mcp

JEB Pro 的 MCP 集成服务，用于让 MCP 客户端通过标准工具接口调用 JEB Pro 的反编译、搜索、重命名、脚本执行等能力。

项目由两部分组成：

- **JEB 插件脚本**：`MCP.py` 放在 JEB scripts 目录中运行，在 JEB 内启动本地 JSON-RPC 服务。
- **Python MCP 服务**：连接 MCP 客户端和 JEB 插件，支持 `stdio`、`HTTP` 和 `SSE`。

## 目录

- [功能特性](#功能特性)
- [环境要求](#环境要求)
- [项目结构](#项目结构)
- [使用说明](#使用说明)
  - [安装 JEB 插件](#安装-jeb-插件)
  - [stdio 模式](#stdio-模式)
  - [HTTP 模式](#http-模式)
  - [SSE 模式](#sse-模式)
  - [连接远程 JEB 插件](#连接远程-jeb-插件)
- [验证与构建](#验证与构建)
- [常见问题](#常见问题)
- [致谢](#致谢)
- [免责声明](#免责声明)

## 功能特性

- **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 服务。

## 项目结构

```text
.
├── 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` 的路径：

```bash
uvx jeb-mcp plugin-path
```

如果从源码运行，在仓库根目录执行：

```bash
uv run jeb-mcp plugin-path
```

把输出路径对应的 `MCP.py` 复制到 JEB scripts 目录，然后在 JEB 中运行：

```text
File -> Scripts -> Scripts selector... -> MCP.py
```

JEB 日志中应出现：

```text
[MCP] Plugin loaded
[MCP] Plugin running
[MCP] Server started at http://127.0.0.1:16161
```

### stdio 模式

适用于由客户端直接拉起 MCP 子进程的场景，例如 Claude Code、Cline、RooCode。

发布包：

```bash
uvx jeb-mcp
```

源码：

```bash
uv run jeb-mcp
```

客户端配置示例：

```json
{
  "mcpServers": {
    "jeb": {
      "command": "uvx",
      "args": [
        "jeb-mcp"
      ]
    }
  }
}
```

### HTTP 模式

适用于通过 URL 接入 MCP 服务的客户端。默认地址是 `http://127.0.0.1:16160/mcp`。

发布包：

```bash
uvx jeb-mcp remote
```

源码：

```bash
uv run jeb-mcp remote
```

Codex 示例：

```bash
codex mcp add jeb --url http://127.0.0.1:16160/mcp
```

配置文件示例：

```toml
[mcp_servers.jeb]
url = "http://127.0.0.1:16160/mcp"
```

### SSE 模式

旧客户端如果只支持 SSE，可以指定传输方式：

```bash
uvx jeb-mcp remote --transport sse
```

常用参数：

```bash
uvx jeb-mcp remote --host 127.0.0.1 --port 16160 --path /mcp
```

### 连接远程 JEB 插件

Python MCP 服务默认连接 `localhost:16161` 上的 JEB 插件。需要改地址时：

```bash
JEB_MCPC_HOST=127.0.0.1 JEB_MCPC_PORT=16161 uvx jeb-mcp remote
```

不要把 `jeb-mcp remote` 直接暴露到公网；服务本身没有鉴权。

## 验证与构建

先在 JEB 中启动 `MCP.py`，再从 MCP 客户端调用 `check_connection`。成功时返回：

```text
Successfully connected to JEB Pro
```

本地编译检查：

```bash
python -m compileall -q src
```

构建发布包：

```bash
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 服务暴露到公网环境。

---
