SecPipe
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {
"tasks": {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
}
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| init_projectA | Initialize a new SecPipe project workspace. Creates a :param project_path: Working directory for SecPipe state. Defaults to current directory. :return: Project initialization result. |
| set_project_assetsA | Set the directory containing target files to analyze. Points SecPipe 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 directory containing files to analyze. :return: Result including stored assets path. |
| list_executionsA | List all executions for the current project. Returns execution summaries including server, tool, timestamp, and success status. :return: List of execution summaries. |
| get_execution_resultsB | Get results for a specific execution. :param execution_id: The execution ID to retrieve results for. :param extract_to: Optional directory to extract results to. :return: Result including path to results archive. |
| list_artifactsA | List all artifacts produced by hub tools in the current project. Artifacts are files created by tool executions in /app/output/. They are automatically tracked after each execute_hub_tool call. :param source: Filter by source server name (e.g. "binwalk-mcp"). :param artifact_type: Filter by type (e.g. "elf-binary", "json", "text", "archive"). :return: List of artifacts with path, type, size, and source info. |
| get_artifactA | Get metadata for a specific artifact by its container path. :param path: Container path of the artifact (e.g. /app/output/extract_abc123/squashfs-root/usr/sbin/httpd). :return: Artifact metadata including path, type, size, source tool, and timestamps. |
| list_skillsB | List available skill packs. Skill packs provide domain-specific pipeline guidance for AI agents. They describe analysis methodologies and list the hub servers needed. Project-local skills (.secpipe/skills/) override built-in skills. :return: List of available skills with name, summary, and server list. |
| load_skillA | Load a skill pack to guide the current analysis session. A skill pack provides a pipeline description and specifies which hub servers are relevant. Once loaded, the pipeline description is available as context and only the listed servers need discovery. :param name: Skill name (e.g. "firmware-analysis"). :return: Loaded skill with full description and server list. |
| unload_skillA | Unload the currently active skill pack. Clears the active pipeline guidance. The agent returns to generic mode. :return: Confirmation of unload. |
| list_hub_serversA | List all registered MCP hub servers. Returns information about configured hub servers, including their connection type, status, and discovered tool count. :param category: Optional category to filter by (e.g. "binary-analysis", "web-security", "reconnaissance"). Only servers in this category are returned. :return: Dictionary with list of hub servers. |
| discover_hub_toolsA | Discover tools from hub servers. Connects to hub servers and retrieves their available tools. If server_name is provided, only discovers from that server. Otherwise discovers from all enabled servers. :param server_name: Optional specific server to discover from. :return: Dictionary with discovered tools. |
| list_hub_toolsA | List all discovered hub tools. Returns tools that have been previously discovered from hub servers. Run discover_hub_tools first if no tools are listed. :return: Dictionary with list of discovered tools. |
| execute_hub_toolA | Execute a tool from a hub server. :param identifier: Tool identifier (format: hub:server:tool or server:tool). :param arguments: Tool arguments matching the tool's input schema. :param timeout: Optional execution timeout in seconds. :return: Tool execution result. Example identifiers:
FILE ACCESS — if set_project_assets was called, the assets directory is mounted read-only inside the container at two standard paths:
Tool outputs are persisted to a writable shared volume:
|
| get_hub_tool_schemaA | Get the input schema for a hub tool. Returns the JSON Schema that describes the tool's expected arguments. :param identifier: Tool identifier (format: hub:server:tool or server:tool). :return: JSON Schema for the tool's input. |
| add_hub_serverA | Add a new MCP server to the hub. Register a new external MCP server that can be used for tool discovery and execution. Servers can be Docker images, local commands, or SSE endpoints. :param name: Unique name for the server (e.g., "nmap", "nuclei"). :param server_type: Connection type ("docker", "command", or "sse"). :param image: Docker image name (for docker type). :param command: Command and args (for command type). :param url: SSE endpoint URL (for sse type). :param category: Category for grouping (e.g., "reconnaissance"). :param description: Human-readable description. :param capabilities: Docker capabilities to add (e.g., ["NET_RAW"]). :param environment: Environment variables to pass. :return: Information about the added server. Examples:
|
| start_hub_serverA | Start a persistent container session for a hub server. Starts a Docker container that stays running between tool calls, allowing stateful interactions. Tools are auto-discovered on start. Use this for servers like radare2 or ghidra where you want to keep an analysis session open across multiple tool calls. After starting, use execute_hub_tool as normal - calls will be routed to the persistent container automatically. :param server_name: Name of the hub server to start (e.g., "radare2-mcp"). :return: Session status with container name and start time. |
| stop_hub_serverA | Stop a persistent container session for a hub server. Terminates the running Docker container and cleans up resources. After stopping, tool calls will fall back to ephemeral mode (a new container per call). :param server_name: Name of the hub server to stop. :return: Result indicating if the session was stopped. |
| hub_server_statusA | Get status of persistent hub server sessions. If server_name is provided, returns status for that specific server. Otherwise returns status for all active persistent sessions. :param server_name: Optional specific server to check. :return: Session status information. |
| start_continuous_hub_toolA | Start a continuous/background tool on a hub server. Automatically starts a persistent container if not already running, then calls the server's start tool (e.g., cargo_fuzz_start) which launches a background process and returns a session_id. The tool runs indefinitely until stopped with stop_continuous_hub_tool. Use get_continuous_hub_status to monitor progress. Example workflow for continuous cargo fuzzing:
:param server_name: Hub server name (e.g., "cargo-fuzzer-mcp"). :param start_tool: Name of the start tool on the server. :param arguments: Arguments for the start tool. :return: Start result including session_id for monitoring. |
| get_continuous_hub_statusA | Get live status of a continuous hub tool session. Returns current metrics, progress, and recent output from the running tool. Call periodically (every 10-30 seconds) to monitor. :param session_id: Session ID returned by start_continuous_hub_tool. :return: Current status with metrics (executions, coverage, crashes, etc.). |
| stop_continuous_hub_toolA | Stop a running continuous hub tool session. Gracefully stops the background process and returns final results including total metrics and any artifacts (crash files, etc.). :param session_id: Session ID of the session to stop. :return: Final metrics and results summary. |
| list_continuous_hub_sessionsA | List all active and recent continuous hub tool sessions. :return: List of sessions with their status and server info. |
| generate_reportA | Generate a comprehensive analysis report for the current project. Aggregates all execution history, tool outputs, and tracked artifacts
into a structured report. The report is saved to :param title: Optional report title. Defaults to the project folder name.
:param report_format: Output format — |
| list_reportsA | List all generated reports for the current project. Reports are stored in :return: List of report files with filename, path, size, and creation time. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| list_executions | List all executions for the current project. Returns a list of execution IDs and basic metadata. :return: List of execution information dictionaries. |
| get_project | Get information about the current project. Returns the current project configuration including paths and available executions. :return: Project information dictionary. |
| get_project_settings | Get current SecPipe settings. Returns the active configuration for the MCP server including engine, storage, and hub settings. :return: Settings dictionary. |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/FuzzingLabs/secpipe'
If you have feedback or need assistance with the MCP directory API, please join our Discord server