Repository navigation
Install: pip install drums-sdk==0.3.0
The MCP server and the drums command. The hosted MCP endpoint on the gateway (<gateway URL>/mcp) is live already;
this release adds the local server and the client methods for the new gateway routes.
drums mcp(the same aspython -m drums.mcp): a stdio MCP server with the 34 workspace and desktop tools of
drums/mcp_tools.json, the list the gateway serves.--env <computer id>binds the desktop tools to one computer;
--print-config claude|claude-local|cursor|codexprints the matching client snippet with a placeholder key.
Destructive tools (destroy_computer,delete_snapshot,revoke_api_key) are refused unless the caller passes
confirm: truein the tool arguments, before any request is sent; the MCP client, not Drums, owns the user's
approval of such a call.- Token transport rule, in the
Clientand the CLI: a token is sent over https, or over plain http to loopback
only (localhost,127.0.0.0/8,::1). Any otherhttp://URL (--url,DRUMS_URL) raises the new
drums.InsecureTransportbefore any request (exit 2 with a one-line message fromdrums mcp); the message names
the host and the opt-ins, never the token. Opt in withdrums mcp --allow-insecure-http,
DRUMS_ALLOW_INSECURE_HTTP=1, orconnect(..., allow_insecure_http=True)/Client(..., allow_insecure_http=True).
drums.check_transport(url, token, allow_insecure_http=None)is the check itself. - Redirect rule: the
Clientfollows a redirect only to the same origin (scheme, host, port) as the request, at
mostdrums.MAX_REDIRECTS(5) hops, and runs the transport check on every hop. A redirect to another origin
(another host or port, https to http) or a sixth hop raises the newdrums.RedirectRefusedbefore it is
followed, so the token is never re-sent elsewhere by way of aLocationheader (urllib's default follows and
re-sendsAuthorization). The message names the target's scheme, host and port only.308is followed like
307on every supported Python. drumsconsole script (drums mcp,drums version);mcp_tools.jsonships in the wheel.Client.runs,create_run,run,api_keys,create_api_key,revoke_api_key,auditfor the gateway's
/v1/runs,/v1/api-keysand/v1/auditroutes;call()takes extra headers.- The repository is a Claude Code plugin (
.claude-plugin/plugin.json,.mcp.json, thedrums-workflowskill). drums.hybridwrite_filesends chunks of 8000 base64 characters (the gateway caps a step argument at 8192);
guicode is at most 16384 characters.