The Shinzo MCP server gives your AI assistants and agents direct access to the Shinzo platform. Once connected, you can deploy agents, manage MCP servers, send messages, and more — all from within Claude Code or any MCP-compatible client.
Server URL: https://api.app.shinzo.ai/v1/mcpTransport: Streamable HTTPAuth: Bearer token (your Shinzo API key)
Your API key starts with sk-. When configuring clients, the full Authorization header value should look like: Bearer sk-abc123def456... (include the word “Bearer” followed by a space and your key).
Replace YOUR_SHINZO_API_KEY with your actual API key.
Important: The --transport flag must come before the server name (shinzo) in the command. Placing it after will cause a parsing error.
After running this command, restart Claude Code. You can verify the connection with /mcp inside Claude Code — you should see shinzo listed as an available server.
You can also run /mcp inside a Claude Code session to verify all connected MCP servers and their tool counts.
For any MCP client that supports HTTP transport (Streamable HTTP or SSE) — including Cursor, Windsurf, VS Code Copilot, and others — use these connection details:
Field
Value
URL
https://api.app.shinzo.ai/v1/mcp
Transport
HTTP (Streamable HTTP)
Authorization
Bearer YOUR_SHINZO_API_KEY
Example mcpServers config block (Cursor / Windsurf format):
Config field names vary by client. Cursor and Windsurf use "type": "http". Other clients (e.g. VS Code Copilot extensions) may use "transportType" or similar. Consult your client’s documentation if the above doesn’t work — the URL and Authorization header values are always the same.
Create a recurring cron schedule for an agent (supports timezone, cron expression, message template with {{date}}, {{time}}, {{schedule.name}} variables)
list_schedules
List all schedules for an agent with pagination
get_schedule
Get details of a specific schedule
update_schedule
Update schedule name, cron expression, message template, timezone, or enabled state
toggle_schedule
Toggle a schedule between enabled and disabled
delete_schedule
Delete a cron schedule
list_schedule_executions
List execution history for a schedule (last 50 runs by default)
Create a webhook trigger for an agent (returns webhook URL and auto-generated secret; message template supports {{payload.*}} dot-path substitution from JSON payload)
list_triggers
List all webhook triggers for an agent with pagination
update_trigger
Update trigger name, message template, or enabled state
delete_trigger
Delete a webhook trigger
Usage examples:
“Create a daily standup reminder at 9am PST for agent abc-123”
“Set up a webhook trigger for agent abc-123 to process GitHub push events”
“List all schedules for agent abc-123”
“Show execution history for schedule xyz-789”
“Disable the weekend backup schedule for agent abc-123”
Cron Schedule Examples:
0 9 * * 1-5 — Every weekday at 9:00 AM
0 */4 * * * — Every 4 hours
0 0 * * 0 — Every Sunday at midnight
30 14 1 * * — First day of every month at 2:30 PM
Webhook Authentication:
Webhooks support both X-Webhook-Secret (plain secret) and X-Hub-Signature-256 (GitHub-style HMAC) headers for secure validation.
Generate a 6-character code to link Slack account to agent (expires in 10 min)
get_slack_status
Check Slack link status and binding details for an agent
unlink_slack
Unlink Slack account from agent (deactivates channel binding)
Usage examples:
“Generate Slack link code for agent abc-123”
“Check Slack status for agent abc-123”
“Unlink Slack from agent abc-123”
Note: Slack integration requires either the centralized Shinzo Slack bot or a custom Slack bot configured for your agent. See the Slack Integration Guide for setup instructions.
Once connected, you can ask Claude to create and manage agents in plain English:
You: Create a new Shinzo agent called "research-assistant" with the description"Helps with research tasks" and the system prompt "You are a helpful researchassistant. Always cite your sources."Claude: I'll create that agent for you using the Shinzo MCP server.[create_agent result]{ "uuid": "abc123de-f456-7890-abcd-ef1234567890", "name": "research-assistant", "status": "active", "created_at": "2026-02-18T10:30:00Z"}The agent "research-assistant" has been created and is now active. Its ID isabc123de-f456-7890-abcd-ef1234567890. You can send it messages usingsend_agent_message, or connect it to additional MCP servers usinggrant_agent_mcp_access.
// Create an agent and send it a messageconst newAgent = await client.callTool({ name: "create_agent", arguments: { name: "research-assistant", description: "Helps with research tasks", system_prompt: "You are a helpful research assistant. Always cite your sources.", configuration: {} }});// Extract agent UUID from tool responseconst agentId = JSON.parse(newAgent.content[0].text).uuid;// Send the agent its first messageawait client.callTool({ name: "send_agent_message", arguments: { agentId, content: "Summarize the latest developments in large language models.", queue_mode: "collect" }});// Retrieve the responseconst messages = await client.callTool({ name: "list_agent_messages", arguments: { agentId, limit: 10 }});