ISO-toolset MCP
Provides a gateway for managing a private Cortex MCP runtime, including starting, checking status, discovering and calling downstream Cortex tools with schema validation, and stopping sessions, while brokering calls to the Cortex HTTPS API and returning sanitized errors.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ISO-toolset MCP start Cortex and list the available security tools"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ISO-toolset MCP
A vendor-neutral MCP gateway for starting, discovering, calling, and stopping security-vendor MCP runtimes without requiring every analyst to install each vendor integration or handle its credentials.
Status: v0.1 reference implementation. The local MCP gateway is runnable. The AWS template establishes the scale-to-zero control-plane skeleton. Okta, production authorization and the Fargate request/result worker are explicit integration boundaries, not completed features. The unmodified Cortex MCP package is included under Palo Alto Networks' separate vendor license.
What an analyst sees
Claude Code connects to one MCP server and sees five stable tools:
cortex-start
cortex-status
cortex-help
cortex-call
cortex-stopThe downstream call path is:
Claude Code
-> ISO-toolset MCP gateway
-> private Cortex MCP runtime
-> Cortex HTTPS API
-> sanitized MCP result back to Claude Codecortex-call is an ISO-toolset broker tool, not an official Cortex tool. It
takes a live downstream tool name and arguments, validates them against the
schema discovered from Cortex, forwards the MCP call, and preserves useful
errors without leaking sensitive runtime details.
Related MCP server: OpenXNet MCP Server
Local development
Requirements: Python 3.11+ and a Cortex MCP server running with Streamable HTTP.
The vendor ZIP is available at vendor/cortex/cortex-mcp-1.0.5.zip; review its
separate license and README before building or running it.
python -m venv .venv
. .venv/bin/activate
python -m pip install -e '.[dev]'
export CORTEX_MCP_URL='http://127.0.0.1:8080/api/v1/stream/mcp'
iso-toolsetThe default transport is stdio, suitable for a local MCP host. To expose the development Streamable HTTP endpoint:
export ISO_TOOLSET_TRANSPORT=streamable-http
iso-toolsetThe endpoint is:
http://127.0.0.1:8000/ISO-toolset/v1/mcpThis local mode attaches to an existing Cortex process. Therefore
cortex-stop closes the logical ISO-toolset session but does not terminate a
process it does not own.
Error behavior
Known argument errors are returned before the downstream call:
{
"ok": false,
"error": {
"code": "INVALID_TOOL_ARGUMENTS",
"message": "Invalid arguments for 'get_assets' at $: 'asset_type' is required",
"retryable": true,
"details": {"path": "$", "validator": "required"}
}
}Claude can correct the parameters and retry. Downstream errors are sanitized, tagged, and returned rather than collapsed into a generic failure.
AWS scale-to-zero direction
infra/template.yaml declares:
a custom EventBridge bus and runtime-command rule;
encrypted SQS control and dead-letter queues;
a DynamoDB session table with TTL;
an ECS cluster and ephemeral Fargate task definition;
an outbound-only runtime security group;
a control Lambda that calls
RunTaskandStopTask;least-scope starting IAM roles and CloudWatch logs.
CloudFormation creates the reusable infrastructure. A normal cortex-start
does not run CloudFormation; it publishes a runtime command that ultimately
calls ECS RunTask. A normal cortex-stop calls ECS StopTask.
Read the architecture and the threat model before deploying anything.
Deliberately not included
A prebuilt Cortex container image. Build the included, checksum-pinned vendor archive only after reviewing its license, then store the resulting image in a private ECR repository.
API keys, example secrets, tenant URLs, or organization identifiers.
A claim that the reference AWS template is production-ready.
GPU sweeps, EC2 shutdown automation, notifications, or write-capable tools.
Tests
python -m pip install -e '.[dev]'
ruff check .
pytest -qLicense
The ISO-toolset source is MIT licensed. The Cortex MCP ZIP is not: it remains
under the Palo Alto Networks license included inside the archive and at
vendor/cortex/LICENSE. See third-party notices.
Available Tools
5 toolscortex-callC
Validate and forward one call to an allowed tool on Cortex MCP.
Inputs: tool_name (required), session_id (required), tool_arguments (required). Returns: object
cortex-helpC
Return live Cortex tool schemas plus agent-ready safety context.
Inputs: session_id (required). Returns: object
cortex-startA
Start or attach to the configured Cortex MCP runtime and discover its tools.
Inputs: no named parameters. Returns: object
cortex-statusC
Return the current state of a Cortex runtime session.
Inputs: session_id (required). Returns: object
cortex-stopC
Stop a Cortex session; attached mode leaves an externally owned process running.
Inputs: session_id (required). Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Each tool maps to a distinct lifecycle action (start, status, help, call, stop) so an agent can generally tell them apart. The only mild overlap is cortex-status vs cortex-help, since both are informational endpoints, but their descriptions (session state vs tool schemas/safety context) do differentiate them.
All five tools use a uniform 'cortex-<verb>' naming pattern, making the set highly predictable. There is no mixing of casing or alternate verb styles.
Five tools is well-scoped for a runtime proxy/wrapper, covering exactly the lifecycle operations needed. No tool feels extraneous or missing from the count.
The surface covers the full session lifecycle (start/attach, status, help/discovery, call, stop) with discovery folded into start and help. A dedicated 'list allowed tools' operation might be a minor convenience gap, but the core loop is fully covered.
Maintenance
Related MCP Connectors
Single-connection MCP gateway discovering and executing 490+ verified MCP & A2A tools.
Governed MCP gateway: one endpoint for your tools, with credential custody and audit log.
Remote MCP for 1,500+ APIs. Vault-managed credentials; OAuth or API key. Search, load, and execute.
Managed MCP gateway with OAuth, per-agent permissions, shared accounts and activity logs.
Related MCP Servers
AlicenseCqualityDmaintenanceProvides unified access to 100+ MCP tools from the marketplace plus custom MCPs through a single gateway with search and execute capabilities.218 npm23MIT- AlicenseNot gradedqualityCmaintenanceProvides an isolated MCP gateway for SynapXnet AIOps, DataOps, and MLOps evidence-to-remediation workflows, with OAuth validation, scoped tool discovery, persistent approvals, and audit tracking.AGPL 3.0
- AlicenseNot gradedqualityCmaintenanceEnables an agent to search approved MCP integrations and expose only the tools a given task needs, signing the user in once via browser-based OAuth and enforcing scopes, effects and budgets in code. It also acts as a single gateway connection so existing hosts can reach many servers with per-tenant isolation and audit events.MIT
- FlicenseNot gradedqualityAmaintenanceEnables teams to onboard remote MCP servers, enforce function-level allow lists and credential modes, and let developers expose permitted tool bundles through a unified MCP endpoint with search and execute functions while keeping permissions and auditing enforced.-