dock0 — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited dock0 (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Dock0 turns any MCP server into a paid, managed endpoint with built-in API keys, rate limiting, wallet billing, and author payouts.
Dashboard: https://app.dock0.dev MCP proxy: https://mcp.dock0.dev
Already running an MCP server? Paste the URL and get a paid proxy endpoint in seconds.
dock0 login
dock0 link --name my-tool --url https://your-server.com/mcp --price 0.01This creates a proxy endpoint at https://<username>.mcp.dock0.dev/<slug>/mcp that wraps your server with auth, rate limiting, and per-call billing. No container build needed - the deployment is live immediately.
Or use the dashboard: https://app.dock0.dev/dashboard/new?mode=connect
Host your MCP server on Dock0's infrastructure (Fly.io). Supports TypeScript and Python runtimes.
dock0 login
dock0 github connect # Install the GitHub App on your repo
dock0 github repos # List connected repos
dock0 mcp add --repo owner/repo --project .Or use the dashboard: https://app.dock0.dev/dashboard/new?mode=deploy
Hosted runtime shape:
dock0 mcp add expects a stdio MCP runtime. Dock0's bridge handles HTTP and launches your process with command/args.dock0 link --url ... instead of converting it for hosted deployment.Runtime detection:
package.json must have @modelcontextprotocol/sdk as dependencyrequirements.txt or pyproject.toml must contain mcpEvery deployment can charge per MCP call. Set via CLI or dashboard.
# During creation (connect mode)
dock0 link --name my-tool --url https://server.com/mcp --price 0.005
# After creation (any mode)
# Use the dashboard Settings tab: /dashboard/<slug>/settings
# Or PATCH the API:
curl -X PATCH https://app.dock0.dev/api/v1/deployments/<slug> \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"pricingEnabled": true, "pricePerCall": 0.005}'Price is in USD per MCP call. Set to 0 or disable pricing for free endpoints.
Every deployment is protected by API keys. Create keys for your users:
dock0 keys create <slug> --name "Production key"
# Output: mcp_live_abc123... (shown once - copy it)
dock0 keys list <slug>
dock0 keys disable <slug> <keyId>
dock0 keys enable <slug> <keyId>For public deployments (visible in the directory), consumers create their own keys:
dock0 keys create-public <username>/<slug> --name "My key"Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"<tool-name>": {
"url": "https://<username>.mcp.dock0.dev/<slug>/mcp",
"headers": {
"Authorization": "Bearer mcp_live_<your-key>"
}
}
}
}Add to .cursor/mcp.json in your project root:
{
"mcpServers": {
"<tool-name>": {
"url": "https://<username>.mcp.dock0.dev/<slug>/mcp",
"headers": {
"Authorization": "Bearer mcp_live_<your-key>"
}
}
}
}Add to .mcp.json in your project root or ~/.claude.json globally:
{
"mcpServers": {
"<tool-name>": {
"type": "url",
"url": "https://<username>.mcp.dock0.dev/<slug>/mcp",
"headers": {
"Authorization": "Bearer mcp_live_<your-key>"
}
}
}
}Consumers pre-fund a wallet. Each paid MCP call deducts from the wallet balance. No per-call Stripe fees.
dock0 wallet balance
dock0 wallet topup --amount 10 # Opens Stripe Checkout to add $10
dock0 wallet transactions # View spending historyIf wallet balance is insufficient, the proxy returns HTTP 402.
Creators earn 95% of each paid call (5% platform fee). Payouts via Stripe Connect.
dock0 earnings # View gross/net earnings
dock0 connect status # Check Stripe Connect status
dock0 connect onboard # Set up Stripe Connect for payouts
dock0 connect dashboard # Open Stripe Express dashboardFor hosted deployments, manage runtime env vars:
dock0 env list <slug>
dock0 env set <slug> API_KEY sk-secret-value
dock0 env remove <slug> API_KEYSetting an env var triggers automatic redeployment.
dock0 status # List all deployments
dock0 redeploy <slug> # Rebuild and redeploy
dock0 start <slug> # Start a stopped deployment
dock0 stop <slug> # Stop a running deployment
dock0 delete <slug> --yes # Delete permanently
dock0 logs <slug> # View runtime logs
dock0 logs <slug> --build # View build logsdock0 login # Browser-based device-code auth
dock0 logout # Revoke session
dock0 whoami # Show current userConfig stored at ~/.dock0/config.json.
dock0 subscribe --plan pro # Upgrade to Pro ($29/mo)
dock0 subscribe --plan team # Upgrade to Team ($99/mo)
dock0 portal # Manage subscription in Stripedock0 login
dock0 link --name weather-api --url https://my-server.com/mcp --price 0.01
dock0 keys create weather-api --name "Demo key"
# Share the endpoint + key with your usersdock0 login
dock0 github connect
dock0 mcp add --repo myorg/my-mcp-server --project .
# Wait for build to complete
dock0 keys create my-mcp-server --name "Production"
# Enable pricing via dashboard Settings tabUse the dashboard Settings tab for the deployment and toggle "Public" on. Or:
curl -X PATCH https://app.dock0.dev/api/v1/deployments/<slug> \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"isPublic": true}'Public deployments appear at https://app.dock0.dev/directory and allow consumers to create their own API keys.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.