DwiziDwizi

Browse docs

API Reference

LLM-facing MCP control plane for tools, prompts, resources, and servers.

Dwizi MCP (Management API)

Dwizi MCP is a JSON-RPC control plane that lets API keys create and manage tools, prompts, resources, and MCP servers. It is designed for LLM agents that need to build and maintain their own toolbelt.

Endpoint

POST https://api.dwizi.com/mcp/dwizi

Auth

Provide an API key scoped to the operations you need:

  • Authorization: Bearer dwz_live_...
  • or X-Dwizi-Key: dwz_live_...

Streaming (SSE)

Dwizi MCP supports SSE:

  • Add stream=1 to the URL, or
  • Send Accept: text/event-stream

Scopes

API keys are scoped. Write scopes imply read scopes.

Available scopes:

  • tools:read, tools:write
  • resources:read, resources:write
  • prompts:read, prompts:write
  • mcp:read, mcp:write
  • org:read

Notes

  • All assets are scoped to the API key’s organization.
  • Deletes are soft deletes for API-key actions.
  • Inline resources and prompts are not supported here. Use resourceIds and promptIds.
  • outputPolicy values: retain (default), omit, obfuscate.

Tool Catalog

Org

  • dwizi.org.getorg:read

Tools

  • dwizi.tools.listtools:read
  • dwizi.tools.gettools:read
  • dwizi.tools.createtools:write
  • dwizi.tools.updatetools:write
  • dwizi.tools.deletetools:write

Resources

  • dwizi.resources.listresources:read
  • dwizi.resources.getresources:read
  • dwizi.resources.createresources:write
  • dwizi.resources.updateresources:write
  • dwizi.resources.deleteresources:write

Prompts

  • dwizi.prompts.listprompts:read
  • dwizi.prompts.getprompts:read
  • dwizi.prompts.createprompts:write
  • dwizi.prompts.updateprompts:write
  • dwizi.prompts.deleteprompts:write

MCP Servers

  • dwizi.mcp.listmcp:read
  • dwizi.mcp.getmcp:read
  • dwizi.mcp.createmcp:write
  • dwizi.mcp.updatemcp:write
  • dwizi.mcp.deletemcp:write
  • dwizi.mcp.tools.listmcp:read
  • dwizi.mcp.resources.listmcp:read
  • dwizi.mcp.prompts.listmcp:read

Examples

List Dwizi MCP tools

curl -X POST "https://api.dwizi.com/mcp/dwizi" \
  -H "Authorization: Bearer dwz_live_..." \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Create a tool

curl -X POST "https://api.dwizi.com/mcp/dwizi" \
  -H "Authorization: Bearer dwz_live_..." \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"dwizi.tools.create","arguments":{"tool":{"name":"Send Email","slug":"send-email","language":"js","description":"Send email","outputPolicy":"retain","inputSchema":{"type":"object","required":["to","subject","body"],"properties":{"to":{"type":"string"},"subject":{"type":"string"},"body":{"type":"string"}}},"source":"export default async (input) => ({ ok: true })"}}}}'

Create a resource

curl -X POST "https://api.dwizi.com/mcp/dwizi" \
  -H "Authorization: Bearer dwz_live_..." \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"dwizi.resources.create","arguments":{"resource":{"uri":"resource://docs/welcome","name":"Welcome","mimeType":"text/plain","text":"Hello"}}}}'

Create a prompt

curl -X POST "https://api.dwizi.com/mcp/dwizi" \
  -H "Authorization: Bearer dwz_live_..." \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"dwizi.prompts.create","arguments":{"prompt":{"name":"triage-ticket","description":"Triage a support ticket","arguments":[{"name":"ticketBody","required":true}],"messages":[{"role":"system","content":"You are a helpful support agent."},{"role":"user","content":"{{ticketBody}}"}]}}}}'

Create an MCP server (attach existing assets)

curl -X POST "https://api.dwizi.com/mcp/dwizi" \
  -H "Authorization: Bearer dwz_live_..." \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":5,"method":"tools/call","params":{"name":"dwizi.mcp.create","arguments":{"server":{"name":"Support Suite","slug":"support-suite","toolIds":["<tool_id>"],"resourceIds":["<resource_id>"],"promptIds":["<prompt_id>"]}}}}'

Update MCP server attachments

curl -X POST "https://api.dwizi.com/mcp/dwizi" \
  -H "Authorization: Bearer dwz_live_..." \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":6,"method":"tools/call","params":{"name":"dwizi.mcp.update","arguments":{"slug":"support-suite","patch":{"toolIds":["<tool_id>","<tool_id>"],"resourceIds":["<resource_id>"],"promptIds":["<prompt_id>"]}}}}'

Soft delete a tool

curl -X POST "https://api.dwizi.com/mcp/dwizi" \
  -H "Authorization: Bearer dwz_live_..." \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":7,"method":"tools/call","params":{"name":"dwizi.tools.delete","arguments":{"slug":"send-email"}}}'

Limits (current defaults)

  • Rate limits (per API key): 60/min, 600/hour, burst 20/10s
  • Asset caps (per org): tools 10, prompts 20, resources 20, MCP servers 3