Back to MCP Servers

Platform

Governance proxy for MCP servers. Wraps any upstream server with policy evaluation, human approval workflows, and hash-chain audit trails. 18+ framework integrations. Apache 2.0 SDK.

securitygoai
By sidclawhq
101Updated 3 weeks agoTypeScriptApache-2.0

Installation

npx -y platform

Configuration

{
  "mcpServers": {
    "platform": {
      "command": "npx",
      "args": ["-y", "platform"]
    }
  }
}

How to use

  1. Run the installation command above (if needed)
  2. Open your Claude Code settings file (~/.claude/settings.json)
  3. Add the configuration to the mcpServers section
  4. Restart Claude Code to apply changes
<div align="center">

SidClaw

Approve, deny, and audit AI agent tool calls.

Works with MCP, LangChain, OpenAI Agents, Claude Agent SDK, and 15+ more.

GitHub stars npm version PyPI version License: Apache-2.0 License: FSL Tests CI

<a href="https://sidclaw.com" target="_blank">Website</a> · <a href="https://docs.sidclaw.com" target="_blank">Documentation</a> · <a href="https://demo.sidclaw.com" target="_blank">Live Demo</a> · <a href="https://www.npmjs.com/package/@sidclaw/sdk" target="_blank">SDK on npm</a> · <a href="https://pypi.org/project/sidclaw/" target="_blank">SDK on PyPI</a>

</div>

Your agents call tools without oversight. SidClaw intercepts every tool call, checks it against your policies, and holds risky actions for human review before they execute.

Try it locally (self-contained, no install)

Clone and run:

git clone https://github.com/sidclawhq/platform
cd platform/packages/sidclaw-demo && node cli.mjs

Opens a local governance dashboard at http://localhost:3030 with four pre-loaded scenarios (Claude Code rm -rf, fintech trade, DevOps scale-to-zero, clinical lab order). No signup, no Docker, no API key — just the approval card UX running in your browser.

Coming to npm soon: npx sidclaw-demo one-liner will be published alongside the next SDK release. Until then, the clone-and-run path above is the canonical way to see the demo.

See it in action

Atlas Financial Demo

Agent wants to send an email → policy flags it → reviewer sees full context → approves or denies → trace recorded.

Works With Your Stack

<div align="center">

Integrations

</div>

SidClaw integrates with 18+ frameworks and platforms — including OpenClaw (329K+ users), LangChain, OpenAI, MCP, Claude Agent SDK, Google ADK, NemoClaw, Copilot Studio, GitHub Copilot, and more. Add governance in one line of code. <a href="https://docs.sidclaw.com/docs/integrations" target="_blank">See all integrations →</a>

See It In Action

Customer Support Agent (Financial Services)

Atlas Financial Demo

An AI agent wants to send a customer email. Policy flags it for review. The reviewer sees full context — who, what, why — and approves with one click. Every step is traced.

Infrastructure Automation (DevOps)

DevOps Demo

An AI agent wants to scale production services. High-risk deployments require human approval. Read-only monitoring is allowed instantly.

Clinical Decision Support (Healthcare)

Healthcare Demo

An AI assistant recommends lab orders. The physician reviews the clinical context and approves. Medication prescribing is blocked by policy — only physicians can prescribe.

How It Works

Agent wants to act → SidClaw evaluates → Policy decides → Human approves (if needed) → Action executes → Trace recorded

Four primitives govern every agent action:

┌──────────┐    ┌──────────┐    ┌──────────┐    ┌──────────┐
│ Identity │ →  │  Policy  │ →  │ Approval │ →  │  Trace   │
│          │    │          │    │          │    │          │
│ Every    │    │ Every    │    │ High-risk│    │ Every    │
│ agent    │    │ action   │    │ actions  │    │ decision │
│ has an   │    │ evaluated│    │ get human│    │ creates  │
│ owner &  │    │ against  │    │ review   │    │ tamper-  │
│ scoped   │    │ explicit │    │ with rich│    │ proof    │
│ perms    │    │ rules    │    │ context  │    │ audit    │
└──────────┘    └──────────┘    └──────────┘    └──────────┘
  • allow → action executes immediately, trace recorded
  • approval_required → human sees context card, approves/denies, trace recorded
  • deny → blocked before execution, no data accessed, trace recorded

Deploy your own SidClaw instance ($0)

Railway is the recommended one-click deploy — it spins up Postgres + API + Dashboard together. Vercel hosts only the Next.js dashboard; pair it with a hosted API.

Deploy on Railway

<details> <summary><strong>Vercel (dashboard only — point at an existing SidClaw API)</strong></summary>
https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fsidclawhq%2Fplatform&root-directory=apps%2Fdashboard&env=NEXT_PUBLIC_API_URL&envDescription=Your%20SidClaw%20API%20base%20URL%20(e.g.%20https%3A%2F%2Fapi.sidclaw.com)

Vercel can only host the dashboard (Next.js). The API is Fastify — deploy it to Railway, Fly, Render, or run via Docker. Set NEXT_PUBLIC_API_URL on the dashboard project to point at it.

</details>

Under 3 minutes to a working instance on Railway.


Quick Start — Pick What Fits

Option 1: Claude Code Hooks (zero code)

For Claude Code users. Every Bash, Write, Agent, mcp__* tool call is governed by SidClaw:

# In the SidClaw platform repo
npm run hooks:install

# Then set two env vars
export SIDCLAW_BASE_URL=https://api.sidclaw.com
export SIDCLAW_API_KEY=ai_your_key_here

Restart Claude Code. rm -rf pauses for approval, git push --force gets flagged, every tool call is traced with a hash-chained audit trail. See hooks/README.md.

Option 2: create-sidclaw-app (interactive scaffold)

npx create-sidclaw-app my-agent
cd my-agent
npm start

Option 3: MCP Governance Proxy (zero code, wraps any MCP server)

Jump to the MCP Governance Proxy section below.

Option 4: SDK wrapper (one line per tool)

// Before: the agent decides, nobody reviews
await sendEmail({ to: "customer@example.com", subject: "Follow-up", body: "..." });

// After: wrap with SidClaw — now policies apply
const sendEmail = withGovernance(client, {
  operation: 'send_email',
  data_classification: 'confidential',
}, sendEmailFn);

await sendEmail({ to: "customer@example.com", subject: "Follow-up", body: "..." });
// → allow (executes) | approval_required (human reviews) | deny (blocked)
<details> <summary>Same thing in Python</summary>
@with_governance(client, GovernanceConfig(
    operation="send_email",
    data_classification="confidential",
))
def send_email(to, subject, body):
    email_service.send(to=to, subject=subject, body=body)
</details> <details> <summary><strong>Full TypeScript example with imports</strong></summary>
npm install @sidclaw/sdk
import { AgentIdentityClient, withGovernance } from '@sidclaw/sdk';

const client = new AgentIdentityClient({
  apiKey: process.env.SIDCLAW_API_KEY,
  apiUrl: 'https://api.sidclaw.com',
  agentId: process.env.SIDCLAW_AGENT_ID,
});

const sendEmail = withGovernance(client, {
  operation: 'send_email',
  target_integration: 'email_service',
  resource_scope: 'customer_emails',
  data_classification: 'confidential',
}, async (to, subject, body) => {
  await emailService.send({ to, subject, body });
});

await sendEmail('customer@example.com', 'Follow-up', 'Hello...');
// allow → executes | approval_required → waits for human | deny → throws
</details> <details> <summary><strong>Full Python example with imports</strong></summary>
pip install sidclaw
import os
from sidclaw import SidClaw
from sidclaw.middleware.generic import with_governance, GovernanceConfig

client = SidClaw(
    api_key=os.environ["SIDCLAW_API_KEY"],
    agent_id=os.environ["SIDCLAW_AGENT_ID"],
)

@with_governance(client, GovernanceConfig(
    operation="send_email",
    target_integration="email_service",
    data_classification="confidential",
))
def send_email(to, subject, body):
    email_service.send(to=to, subject=subject, body=body)
</details>

MCP Governance Proxy

Wrap any MCP server with policy evaluation and approval workflows. Works with Claude Desktop, Cursor, VS Code, GitHub Copilot — any MCP client. Listed on the <a href="https://registry.modelcontextprotocol.io" target="_blank">official MCP Registry</a>.

Add to your .mcp.json:

{
  "mcpServers": {
    "postgres-governed": {
      "command": "npx",
      "args": ["-y", "@sidclaw/sdk", "sidclaw-mcp-proxy", "--transport", "stdio"],
      "env": {
        "SIDCLAW_API_KEY": "ai_your_key",
        "SIDCLAW_AGENT_ID": "your-agent-id",
        "SIDCLAW_UPSTREAM_CMD": "npx",
        "SIDCLAW_UPSTREAM_ARGS": "-y,@modelcontextprotocol/server-postgres,postgresql://localhost/mydb"
      }
    }
  }
}
  • SELECT * FROM customersallowed (~50ms overhead)
  • DELETE FROM customers WHERE id = 5held for human approval
  • DROP TABLE customersdenied by policy

<a href="https://docs.sidclaw.com/docs/integrations/claude-code" target="_blank">Full MCP governance docs →</a>

Why not just auth / sandboxing / logging?

ApproachWhat it solvesWhat it doesn't solve
Auth (Okta, OAuth)Who is this agent?Should this specific action execute right now?
Sandboxing (Docker, WASM)Blast radius if something goes wrongWhether the action should happen at all
Logging (Langfuse, LangSmith)What happened after the factIntercepting actions before they execute
Policy engines (OPA)General-purpose policy evaluationApproval workflows, agent-specific context, audit trails
SidClawAll of the above, plus the Approval primitive

SidClaw sits at the tool-call layer: the moment an agent decides to act in the real world.

Integrations

SidClaw wraps your existing agent tools — no changes to your agent logic.

Agent Frameworks

TypeScriptPython
Core client@sidclaw/sdksidclaw
MCP proxy@sidclaw/sdk/mcpsidclaw.mcp
LangChain@sidclaw/sdk/langchainsidclaw.middleware.langchain
OpenAI Agents@sidclaw/sdk/openai-agentssidclaw.middleware.openai_agents
CrewAI@sidclaw/sdk/crewaisidclaw.middleware.crewai
Vercel AI@sidclaw/sdk/vercel-ai
Pydantic AIsidclaw.middleware.pydantic_ai
Claude Agent SDK@sidclaw/sdk/claude-agent-sdksidclaw.middleware.claude_agent_sdk
Google ADK@sidclaw/sdk/google-adksidclaw.middleware.google_adk
LlamaIndex@sidclaw/sdk/llamaindexsidclaw.middleware.llamaindex
Composio@sidclaw/sdk/composiosidclaw.middleware.composio
NemoClaw@sidclaw/sdk/nemoclawsidclaw.middleware.nemoclaw
Webhooks@sidclaw/sdk/webhookssidclaw.webhooks

Platform Integrations

IntegrationDescription
Claude CodeGovern any MCP server in Claude Code. Add a .mcp.json entry — zero code changes. <a href="https://docs.sidclaw.com/docs/integrations/claude-code" target="_blank">Guide →</a>
OpenClawGovernance proxy for OpenClaw skills. Published as sidclaw-governance on ClawHub. <a href="https://docs.sidclaw.com/docs/integrations/openclaw" target="_blank">Guide →</a>

View source on GitHub