diff --git a/fuzzforge-mcp/src/fuzzforge_mcp/resources/executions.py b/fuzzforge-mcp/src/fuzzforge_mcp/resources/executions.py index a720761..61df782 100644 --- a/fuzzforge-mcp/src/fuzzforge_mcp/resources/executions.py +++ b/fuzzforge-mcp/src/fuzzforge_mcp/resources/executions.py @@ -30,10 +30,10 @@ async def list_executions() -> list[dict[str, Any]]: return [ { - "execution_id": exec_id, - "has_results": storage.get_execution_results(project_path, exec_id) is not None, + "execution_id": entry["execution_id"], + "has_results": storage.get_execution_results(project_path, entry["execution_id"]) is not None, } - for exec_id in execution_ids + for entry in execution_ids ] except Exception as exception: diff --git a/fuzzforge-mcp/src/fuzzforge_mcp/tools/projects.py b/fuzzforge-mcp/src/fuzzforge_mcp/tools/projects.py index 9d7709c..52b6c4a 100644 --- a/fuzzforge-mcp/src/fuzzforge_mcp/tools/projects.py +++ b/fuzzforge-mcp/src/fuzzforge_mcp/tools/projects.py @@ -15,15 +15,14 @@ mcp: FastMCP = FastMCP() @mcp.tool async def init_project(project_path: str | None = None) -> dict[str, Any]: - """Initialize a new FuzzForge project. + """Initialize a new FuzzForge project workspace. - Creates a `.fuzzforge/` directory inside the project for storing: - - config.json: Project configuration - - runs/: Execution results + Creates a `.fuzzforge/` directory for storing configuration and execution results. + Call this once before using hub tools. The project path is a working directory + for FuzzForge state — it does not need to contain the files you want to analyze. + Use `set_project_assets` separately to specify the target files. - This should be called before executing hub tools. - - :param project_path: Path to the project directory. If not provided, uses current directory. + :param project_path: Working directory for FuzzForge state. Defaults to current directory. :return: Project initialization result. """ @@ -51,12 +50,13 @@ async def init_project(project_path: str | None = None) -> dict[str, Any]: @mcp.tool async def set_project_assets(assets_path: str) -> dict[str, Any]: - """Set the initial assets (source code) for a project. + """Set the directory containing target files to analyze. - This sets the DEFAULT source directory that will be mounted into - hub tool containers via volume mounts. + Points FuzzForge to the directory with your analysis targets + (firmware images, binaries, source code, etc.). This directory + is mounted read-only into hub tool containers. - :param assets_path: Path to the project source directory. + :param assets_path: Path to the directory containing files to analyze. :return: Result including stored assets path. """