Knuckles-Team

CISO Assistant - A2A | AG-UI | MCP

Community Knuckles-Team
Updated

CISO Assistant GRC API + MCP Server + A2A Agent — 100% API coverage by codegen

CISO Assistant - A2A | AG-UI | MCP

PyPI - VersionMCP ServerPyPI - DownloadsGitHub Repo starsGitHub forksGitHub contributorsPyPI - LicenseGitHub

GitHub last commit (by committer)GitHub pull requestsGitHub closed pull requestsGitHub issues

GitHub top languageGitHub language countGitHub repo sizeGitHub repo file count (file type)PyPI - WheelPyPI - Implementation

Version: 0.1.0

Overview

CISO Assistant is a production-grade Python API client, Model Context Protocol(MCP) server, and A2A agent for CISO Assistant,intuitem's open-source GRC platform for Risk Management, AppSec, Compliance &Audit, TPRM, BIA, Privacy, and Reporting.

It provides 100% coverage of the CISO Assistant REST API — every one of the~1,565 operations in the drf-spectacular schema is exposed as both a typedclient method and an action-routed MCP tool. The client, MCP tools, and amachine-readable coverage manifest are all generated from the vendored OpenAPIspec (ciso_assistant_api/specs/ciso_assistant.json) byscripts/generate_from_openapi.py, and a coverage test asserts the three setsstay in lock-step.

Key Features

  • 100% Action-Routed MCP Tools — one consolidated tool per domain (e.g.ciso_assistant_compliance, ciso_assistant_risk_management,ciso_assistant_incidents) takes an action plus a params_json payload androutes to the underlying API method. 19 domain tools (mirroring the publisheddocumentation categories) cover every endpoint without flooding the IDE tool list.
  • Full CISO Assistant surface — Analytics & Metrology, Assets, Authentication& Users, Compliance, EBIOS-RM, Evidence & Attachments, Frameworks & Libraries,Governance, Incidents, Integrations, Privacy, Quantitative Risk (CRQ),Resilience, Risk Management, Security Exceptions & Findings, Settings, Tasks &Timeline, and Third-Party Risk Management.
  • Knox token auth — a pre-minted Knox token or a username/password pairexchanged for a token at POST /api/iam/login/, plus OIDC delegation (RFC 8693)via agent-utilities.
  • Resilient — honours 429 Retry-After, retries transient 5xx, andtransparently follows DRF next pagination links.

MCP

Using as an MCP Server

The MCP Server runs in stdio (local) or streamable-http (networked) mode.Each domain is a tool gated by a {TAG}TOOL environment variable (default True),so you can scope the surface (e.g. set CHATTOOL=False to drop the chat domain).

Environment Variables
Package environment variables
Variable Example Description
CISO_ASSISTANT_URL Backend host URL, e.g. https://ciso.arpa or http://localhost:8000
CISO_ASSISTANT_TOKEN 1) Pre-minted Knox token (My Profile > Settings, or manage.py generated)
CISO_ASSISTANT_USERNAME 2) Credentials exchanged for a token at POST /api/iam/login/
CISO_ASSISTANT_PASSWORD
CISO_ASSISTANT_SSL_VERIFY True ─── HTTP behaviour ────────────────────────────────────────────────────
FASTMCP_LOG_LEVEL INFO ─── MCP transport / auth (agent-utilities) ────────────────────────────
TRANSPORT stdio
AUTH_TYPE none
Inherited agent-utilities variables (apply to every connector)
Variable Example Description
HOST 0.0.0.0 Bind host (HTTP transports)
PORT 8000 Bind port (HTTP transports)
MCP_TOOL_MODE condensed Tool surface: condensed
MCP_ENABLED_TOOLS Comma-separated tool allow-list
MCP_DISABLED_TOOLS Comma-separated tool deny-list
MCP_ENABLED_TAGS Comma-separated tag allow-list
MCP_DISABLED_TAGS Comma-separated tag deny-list
EUNOMIA_TYPE none Authorization mode: none
EUNOMIA_POLICY_FILE mcp_policies.json Embedded Eunomia policy file
EUNOMIA_REMOTE_URL Remote Eunomia authorization server URL
ENABLE_OTEL False Enable OpenTelemetry export
OTEL_EXPORTER_OTLP_ENDPOINT OTLP collector endpoint
MCP_CLIENT_AUTH Outbound MCP auth (oidc-client-credentials for fleet calls)
OIDC_CLIENT_ID OIDC client id (service-account auth)
OIDC_CLIENT_SECRET OIDC client secret (service-account auth)
DEBUG False Verbose logging
PYTHONUNBUFFERED 1 Unbuffered stdout (recommended in containers)
MCP_URL http://localhost:8000/mcp URL of the MCP server the agent connects to
PROVIDER openai LLM provider for the agent
MODEL_ID gpt-4o Model id for the agent
ENABLE_WEB_UI True Serve the AG-UI web interface

8 package + 21 inherited variable(s). Auto-generated from .env.example + the shared agent-utilities set — do not edit.

Variable Description
CISO_ASSISTANT_URL Backend host URL, e.g. https://ciso.arpa or http://localhost:8000.
CISO_ASSISTANT_TOKEN Pre-minted Knox token.
CISO_ASSISTANT_USERNAME / CISO_ASSISTANT_PASSWORD Credentials exchanged for a token at POST /api/iam/login/.
CISO_ASSISTANT_SSL_VERIFY Verify TLS (default True).
<DOMAIN>TOOL Toggle a domain tool, e.g. INCIDENTSTOOL, COMPLIANCETOOL, RISK_MANAGEMENTTOOL (default True). See the Available MCP Tools table for the authoritative names.

The server also reads the standard MCP-transport, telemetry, governance, and agent-CLIvariables:

Variable Description Default
TRANSPORT stdio, streamable-http, or sse stdio
HOST Bind host (HTTP transports) 0.0.0.0
PORT Bind port (HTTP transports) 8000
MCP_TOOL_MODE Tool surface: condensed, verbose, or both condensed
MCP_ENABLED_TOOLS / MCP_DISABLED_TOOLS Comma-separated tool allow/deny list
MCP_ENABLED_TAGS / MCP_DISABLED_TAGS Comma-separated tag allow/deny list
DEBUG Verbose logging False
PYTHONUNBUFFERED Unbuffered stdout (recommended in containers) 1
ENABLE_OTEL Enable OpenTelemetry export True
OTEL_EXPORTER_OTLP_ENDPOINT OTLP collector endpoint
OTEL_EXPORTER_OTLP_PUBLIC_KEY / OTEL_EXPORTER_OTLP_SECRET_KEY OTLP auth keys
OTEL_EXPORTER_OTLP_PROTOCOL OTLP protocol (e.g. http/protobuf)
EUNOMIA_TYPE Authorization mode: none, embedded, remote none
EUNOMIA_POLICY_FILE Embedded policy file mcp_policies.json
EUNOMIA_REMOTE_URL Remote Eunomia server URL
MCP_URL (Agent only) URL of the MCP server the agent connects to http://localhost:8000/mcp
PROVIDER (Agent only) LLM provider (e.g. openai) openai
MODEL_ID (Agent only) Model id (e.g. gpt-4o) gpt-4o
ENABLE_WEB_UI (Agent only) Serve the AG-UI web interface True
Run in stdio mode (default):
export CISO_ASSISTANT_URL="https://ciso.arpa"
export CISO_ASSISTANT_TOKEN="your_token"
ciso-assistant-mcp --transport "stdio"
Run in HTTP mode:
export CISO_ASSISTANT_URL="https://ciso.arpa"
export CISO_ASSISTANT_TOKEN="your_token"
ciso-assistant-mcp --transport "streamable-http" --host "0.0.0.0" --port "8000"

Available MCP Tools

Auto-generated — do not edit (synced by the mcp-readme-table pre-commit hook).

MCP Tool Toggle Env Var Description
ciso_assistant_analytics_metrology ANALYTICS_METROLOGYTOOL Manage CISO Assistant analytics metrology operations.
ciso_assistant_api_request CUSTOM_APITOOL Execute an arbitrary CISO Assistant REST API request directly.
ciso_assistant_assets ASSETSTOOL Manage CISO Assistant assets operations.
ciso_assistant_auth_users AUTH_USERSTOOL Manage CISO Assistant auth users operations.
ciso_assistant_chat CHATTOOL Manage CISO Assistant chat operations.
ciso_assistant_compliance COMPLIANCETOOL Manage CISO Assistant compliance operations.
ciso_assistant_crq CRQTOOL Manage CISO Assistant crq operations.
ciso_assistant_ebios_rm EBIOS_RMTOOL Manage CISO Assistant ebios rm operations.
ciso_assistant_evidence EVIDENCETOOL Manage CISO Assistant evidence operations.
ciso_assistant_frameworks_libraries FRAMEWORKS_LIBRARIESTOOL Manage CISO Assistant frameworks libraries operations.
ciso_assistant_governance GOVERNANCETOOL Manage CISO Assistant governance operations.
ciso_assistant_incidents INCIDENTSTOOL Manage CISO Assistant incidents operations.
ciso_assistant_integrations INTEGRATIONSTOOL Manage CISO Assistant integrations operations.
ciso_assistant_privacy PRIVACYTOOL Manage CISO Assistant privacy operations.
ciso_assistant_resilience RESILIENCETOOL Manage CISO Assistant resilience operations.
ciso_assistant_risk_management RISK_MANAGEMENTTOOL Manage CISO Assistant risk management operations.
ciso_assistant_security_findings SECURITY_FINDINGSTOOL Manage CISO Assistant security findings operations.
ciso_assistant_settings SETTINGSTOOL Manage CISO Assistant settings operations.
ciso_assistant_tasks_timeline TASKS_TIMELINETOOL Manage CISO Assistant tasks timeline operations.
ciso_assistant_third_party THIRD_PARTYTOOL Manage CISO Assistant third party operations.

20 action-routed tools (default MCP_TOOL_MODE=condensed). Each is enabled unless its toggle is set false; set MCP_TOOL_MODE=verbose (or both) for the 1:1 per-operation surface. Auto-generated — do not edit.

A2A Agent

Run A2A Server

export CISO_ASSISTANT_URL="https://ciso.arpa"
export CISO_ASSISTANT_TOKEN="your_token"
ciso-assistant-agent --provider openai --model-id gpt-4o --api-key sk-...

Docker

Build

docker build -t ciso-assistant-api .

Run MCP Server

docker run -d \
  --name ciso-assistant-api \
  -p 8000:8000 \
  -e TRANSPORT=http \
  -e CISO_ASSISTANT_URL="https://ciso.arpa" \
  -e CISO_ASSISTANT_TOKEN="your_token" \
  knucklessg1/ciso-assistant-api:mcp

The :mcp tag is the slim MCP-server image (built fromdocker/Dockerfile --target mcp, installing ciso-assistant-api[mcp]). The default:latest tag is the full agent image (--target agent, ciso-assistant-api[agent])which also bundles the Pydantic AI agent and the epistemic-graph engine — use itwhen you run ciso-assistant-agent (the agent), not just the MCP server. SeeContainer images.

Deploy with Docker Compose

services:
  ciso-assistant-api:
    image: knucklessg1/ciso-assistant-api:mcp
    environment:
      - HOST=0.0.0.0
      - PORT=8000
      - TRANSPORT=http
      - CISO_ASSISTANT_URL=https://ciso.arpa
      - CISO_ASSISTANT_TOKEN=your_token
    ports:
      - 8000:8000
Configure mcp.json for AI Integration (e.g. Claude Desktop)

Install the slim [mcp] extra. The example below installsciso-assistant-api[mcp] — the MCP-server extra that pulls only the FastMCP /FastAPI tooling (agent-utilities[mcp]). It deliberately excludes the heavyagent runtime (the epistemic-graph engine, pydantic-ai, dspy, llama-index,tree-sitter), so uvx/container installs are dramatically smaller and faster.Use the full [agent] extra only when you need the integrated Pydantic AI agent(see Installation).

{
  "mcpServers": {
    "ciso_assistant": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "ciso-assistant-api[mcp]",
        "ciso-assistant-mcp"
      ],
      "env": {
        "CISO_ASSISTANT_URL": "https://ciso.arpa",
        "CISO_ASSISTANT_TOKEN": "your_token"
      }
    }
  }
}

Install Python Package

Pick the extra that matches what you want to run:

Extra Installs Use when
ciso-assistant-api[mcp] Slim MCP server only (agent-utilities[mcp] — FastMCP/FastAPI) You only run the MCP server (smallest install / image)
ciso-assistant-api[agent] Full agent runtime (agent-utilities[agent,logfire] — Pydantic AI + the epistemic-graph engine) You run the integrated agent
ciso-assistant-api[all] Everything (mcp + agent) Development / both surfaces
# MCP server only (recommended for tool hosting — slim deps)
uv pip install "ciso-assistant-api[mcp]"

# Full agent runtime (Pydantic AI + epistemic-graph engine)
uv pip install "ciso-assistant-api[agent]"

# Everything (development)
uv pip install "ciso-assistant-api[all]"      # or: python -m pip install "ciso-assistant-api[all]"

Container images (:mcp vs :agent)

One multi-stage docker/Dockerfile builds two right-sized images, selected by --target:

Image tag Build target Contents Entrypoint
knucklessg1/ciso-assistant-api:mcp --target mcp ciso-assistant-api[mcp]slim, no engine/pydantic-ai/dspy/llama-index/tree-sitter ciso-assistant-mcp
knucklessg1/ciso-assistant-api:latest --target agent (default) ciso-assistant-api[agent]full agent runtime + epistemic-graph engine ciso-assistant-agent
docker build --target mcp   -t knucklessg1/ciso-assistant-api:mcp    docker/   # slim MCP server
docker build --target agent -t knucklessg1/ciso-assistant-api:latest docker/   # full agent

docker/mcp.compose.yml runs the slim :mcp server; docker/agent.compose.yml runs theagent (:latest) with a co-located :mcp sidecar.

Knowledge-graph database (epistemic-graph)

The full agent ([agent] / :latest) embeds the epistemic-graph engine (pulled intransitively via agent-utilities[agent]). For production — or to share one knowledge graphacross multiple agents — run epistemic-graph as its own database container and point theagent at it instead of embedding it. Deployment recipes (single-node + Raft HA), connectionconfig, and the full database architecture (with diagrams) are documented in theepistemic-graph deployment guide.The slim [mcp] server does not require the database.

Documentation

The complete documentation is published as theofficial documentation site and isthe source of truth for installation, usage, and deployment.

Page Covers
Overview the action-routed tool surface and architecture
Installation pip, source, extras, prebuilt Docker image
Usage (API / CLI / MCP) the MCP tools, the Api client, the CLI
Deployment run the MCP and agent servers, Compose, env config

Repository Owners

GitHub followersGitHub User's stars

Deploy with agent-os-genesis

This package can be provisioned for you — skill-guided — by the agent-os-genesisuniversal skill (its single-package deploy mode): it picks your install method, seedssecrets to OpenBao/Vault (or .env), trusts your enterprise CA, registers the MCPserver, and verifies it — the same machinery that stands up the whole Agent OS, narrowedto just this package. Ask your agent to "deploy ciso-assistant-api with agent-os-genesis".

Install mode Command
Bare-metal, prod (PyPI) uvx ciso-assistant-mcp · or uv tool install ciso-assistant-api
Bare-metal, dev (editable) uv pip install -e ".[all]" · or pip install -e ".[all]"
Container, prod deploy knucklessg1/ciso-assistant-api:latest via docker-compose / swarm / podman / podman-compose / kubernetes
Container, dev (editable) deploy docker/compose.dev.yml (source-mounted at /src; edits live on restart)

Secrets are read-existing + seeded via vault_sync — you are only prompted for what's missing.

MCP Server · Populars

MCP Server · New

    trendsmcp-ai

    Trends MCP

    MCP server for live trend data. Query Google Search, YouTube, TikTok, Reddit, Amazon, Wikipedia, News sentiment, Web Traffic, App Downloads, Steam, npm and more. Works with Claude, Cursor, VS Code, GitHub Copilot, ChatGPT, Windsurf, Cline, Raycast and any MCP-compatible.

    Community trendsmcp-ai
    jacob-bd

    Gemini Notebook (formerly Google NotebookLM) CLI & MCP Server

    Programmatic access to Gemini Notebook - via command-line interface (CLI), Model Context Protocol (MCP) server, and AI agent skills.

    Community jacob-bd
    PxyUp

    Fitter — web data for AI agents

    New way for collect information from the API's/Websites

    Community PxyUp
    kayhendriksen

    foehn

    Download MeteoSwiss Open Government Data — weather stations, radar, hail, forecasts and climate series — via Python API, CLI, or MCP server, as DataFrames, Parquet, xarray Datasets or Zarr stores

    Community kayhendriksen
    mldsveda

    pyscrappy

    All-in-one Web Scrapper for Python

    Community mldsveda