Some checks are pending
Build Ghidra Plugin / build (push) Waiting to run
Port allocator would spin on the same Docker-occupied ports because releasing a flock and re-calling allocate() restarts from port 8192. Now holds flocks on occupied ports during the scan so allocate() advances past them. Also expands default pool from 32 to 128 ports (8192-8319), and makes range configurable via MCGHIDRA_PORT_START/MCGHIDRA_PORT_END environment variables.
44 lines
961 B
TOML
44 lines
961 B
TOML
[project]
|
|
name = "mcghidra"
|
|
version = "2026.3.2"
|
|
description = "AI-assisted reverse engineering bridge: a multi-instance Ghidra plugin exposed via a HATEOAS REST API plus an MCP Python bridge for decompilation, analysis & binary manipulation"
|
|
readme = "README.md"
|
|
requires-python = ">=3.11"
|
|
authors = [
|
|
{name = "Ryan Malloy", email = "ryan@supported.systems"}
|
|
]
|
|
dependencies = [
|
|
"mcp>=1.22.0",
|
|
"requests>=2.32.3",
|
|
"fastmcp>=2.0.0",
|
|
"fastmcp-feedback>=1.0.0",
|
|
]
|
|
|
|
[project.scripts]
|
|
mcghidra = "mcghidra:main"
|
|
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["mcghidra"]
|
|
|
|
[tool.hatch.build]
|
|
sources = ["src"]
|
|
|
|
[tool.hatch.build.targets.sdist]
|
|
include = [
|
|
"/src",
|
|
"/README.md",
|
|
"/pyproject.toml",
|
|
]
|
|
|
|
[tool.ruff]
|
|
line-length = 100
|
|
target-version = "py311"
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E", "F", "I", "W"]
|
|
ignore = ["E501"] # Line too long - handled by formatter
|