SidClaw GovernanceMCPServer
About
Governance proxy for MCP servers — wraps any server with policy evaluation, human approval workflows, and hash-chain audit trails.
Explore
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
SidClaw GovernanceMCPServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
// Before: the agent decides, nobody reviews await sendEmail({ to: "[email protected]", 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: "[email protected]", subject: "Follow-up", body: "..." }); // → allow (executes) | approval_required (human reviews) | deny (blocked)
@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)
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('[email protected]', 'Follow-up', 'Hello...'); // allow → executes | approval_required → waits for human | deny → throws
import os from sidclaw import SidClaw from sidclaw.middleware.generic import with_governance, GovernanceConfig client = SidClaw( api_key=os.environ](#mcp-governance-proxy)["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)
Wrap any MCP server with policy evaluation and approval workflows. Works with Claude Desktop, Cursor, VS Code, GitHub Copilot — any MCP client. Listed on theofficial MCP Registry.
{ "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 customers→allowed(~50ms overhead)
- DELETE FROM customers WHERE id = 5→held for human approval
- DROP TABLE customers→denied by policy
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"sidclaw governancemcpserver": {
"server": {
"command": "npx",
"args": [
"-y",
"@sidclaw/sdk"
],
"env": {
"SIDCLAW_API_KEY": "",
"SIDCLAW_AGENT_ID": "",
"SIDCLAW_UPSTREAM_CMD": "",
"SIDCLAW_UPSTREAM_ARGS": "",
"SIDCLAW_APPROVAL_MODE": ""
}
}
}
}
}
McpServers
{
"server": {
"command": "npx",
"args": [
"-y",
"@sidclaw/sdk"
],
"env": {
"SIDCLAW_API_KEY": "",
"SIDCLAW_AGENT_ID": "",
"SIDCLAW_UPSTREAM_CMD": "",
"SIDCLAW_UPSTREAM_ARGS": "",
"SIDCLAW_APPROVAL_MODE": ""
}
}
}
Transport
"stdio"
Package
"@sidclaw/sdk"
Registry
"npm"
Option 4: SDK wrapper (one line per tool)
// Before: the agent decides, nobody reviews await sendEmail({ to: "[email protected]", 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: "[email protected]", subject: "Follow-up", body: "..." }); // → allow (executes) | approval_required (human reviews) | deny (blocked)
@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)
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('[email protected]', 'Follow-up', 'Hello...'); // allow → executes | approval_required → waits for human | deny → throws
import os from sidclaw import SidClaw from sidclaw.middleware.generic import with_governance, GovernanceConfig client = SidClaw( api_key=os.environ](#mcp-governance-proxy)["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)
Wrap any MCP server with policy evaluation and approval workflows. Works with Claude Desktop, Cursor, VS Code, GitHub Copilot — any MCP client. Listed on theofficial MCP Registry.
{ "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 customers→allowed(~50ms overhead)
- DELETE FROM customers WHERE id = 5→held for human approval
- DROP TABLE customers→denied by policy
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



