Integrations

Connect Sigmodx to your AI agent framework in minutes. Register one callback or add five lines of config. Every agent decision is automatically logged, hashed, and attested.

LangChain

Callback handler

Live

Register one callback. Every tool call is automatically logged to Sigmodx.

pip install sigmodx-integrations

from sigmodx_integrations import \
    SigmodxCallbackHandler, \
    ANOMALY_DETECTION_CONFIG

handler = SigmodxCallbackHandler(
    client=client,
    config=ANOMALY_DETECTION_CONFIG,
)

LangGraph

Stream handler · Node decorator

Live

Process graph stream events. Every tool-calling node is automatically logged to Sigmodx.

from sigmodx_integrations.langgraph import (
    SigmodxLangGraphCallback,
    LANGGRAPH_ANOMALY_CONFIG,
)

handler = SigmodxLangGraphCallback(
    client=client,
    config=LANGGRAPH_ANOMALY_CONFIG,
)

async for event in graph.astream_events(
    inputs, version="v2"
):
    await handler.aprocess_event(event)

CrewAI

Task callback · Step callback

Live

Task callback or crew-level step callback. Every task output and agent step is automatically logged.

pip install "sigmodx-integrations[crewai]"

from sigmodx_integrations.crewai import (
    SigmodxTaskCallback,
    CREWAI_ANOMALY_CONFIG,
)

task = Task(
    description="Analyze transaction",
    agent=analyst_agent,
    expected_output="flag/clear/escalate",
    callback=SigmodxTaskCallback(
        client=client,
        config=CREWAI_ANOMALY_CONFIG,
    ),
)

OpenAI Agents SDK

RunHooks

Live

RunHooks implementation. Every tool call is logged automatically via on_tool_end.

pip install "sigmodx-integrations[openai-agents]"

from sigmodx_integrations.openai_agents import (
    SigmodxRunHooks,
    OPENAI_ANOMALY_CONFIG,
)

hooks = SigmodxRunHooks(
    client=client,
    config=OPENAI_ANOMALY_CONFIG,
)

result = await Runner.run(
    agent, "Check TXN-2026-4421", hooks=hooks
)

MCP Server

Claude · Cursor · Any MCP client

Live

Expose Sigmodx as tools any MCP-compatible agent can call directly.

pip install sigmodx-mcp

"sigmodx": {
  "command": "sigmodx-mcp",
  "env": {
    "SIGMODX_API_KEY": "...",
    "SIGMODX_AGENT_ID": "..."
  }
}

Universal Adapter

Any framework

Live

Works with any agent framework, orchestration system, or custom agent implementation.

from sigmodx_integrations.universal import SigmodxAdapter

adapter = SigmodxAdapter(
    client=client,
    scenario="anomaly_detection",
)
adapter.log(inputs={...}, ...)

More Frameworks

Coming soon
  • AutoGen / Microsoft Agent Framework Coming soon
  • Semantic Kernel Coming soon
  • Google ADK Coming soon

Request prioritization: github.com/Sigmodx/integrations-python/issues

Available MCP tools

ToolDescription
sigmodx_log_invoice_decisionLog invoice approval/reject/escalate
sigmodx_log_gl_decisionLog GL entry review decision
sigmodx_log_anomaly_decisionLog anomaly flag/clear/escalate
sigmodx_log_trade_decisionLog trade execute/reject/flag
sigmodx_log_forecast_decisionLog forecast submit/revise/reject
sigmodx_log_capex_decisionLog CapEx vs OpEx classification
sigmodx_log_vendor_risk_decisionLog vendor risk approve/reject/flag
sigmodx_verify_attestationVerify a verification string (no auth)
sigmodx_get_reliabilityGet agent ALLOW/LIMIT/BLOCK state
sigmodx_hash_inputsHash input payload (no auth needed)

sigmodx_verify_attestation and sigmodx_hash_inputs require no authentication. Any MCP client can use them to verify attestations or hash inputs without an API key.

What gets logged automatically

When an agent calls a tool through LangChain, a LangGraph node, or an MCP tool call, Sigmodx intercepts the event. The tool inputs are hashed client-side using SHA-256 with sorted keys. The actual input data never leaves the agent's environment. Only the hash travels to Sigmodx.

The decision type, rationale, and scenario-specific metadata are extracted from the tool output. The decision is submitted to Sigmodx's append-only API and logged with a cryptographic hash. The agent continues executing without interruption. Sigmodx failures never block agent operation.

At the end of a period, the org admin generates an attestation covering all decisions logged through any integration. The verification string works identically whether the decision came from the SDK directly, a LangChain callback, or an MCP tool call.

Start integrating

Python SDK + LangChain

pip install sigmodx sigmodx-integrations
LangChain guide →

MCP Server

pip install sigmodx-mcp
MCP server guide →