Model Context Protocol server that lets AI coding assistants (Cursor, Claude Code, Claude Desktop) scaffold, validate, preview, and deploy agents to Renowide as tool calls. The 'build-and-distribute' default: an AI assistant can ship a paying agent on Renowide in two tool calls.
24 tools with mixed quality. Naming is generally verb-first and clear (scaffold_agent, validate_manifest, deploy_agent). Descriptions range from adequate (50-150 chars) to good (150-250 chars), but many lack actionable context about when to use them or what they return. Input schemas are present for all tools with proper type definitions, but output schemas are not documented anywhere in the source. Error handling guidance is absent, tools do not indicate what to do on failure, whether errors are retryable, or what the LLM should try next. Security concerns: login/logout expose API keys as parameters (should use server-side injection). Composition is reasonable, tools are single-purpose, but many lack the chaining IDs needed for multi-step workflows (e.g., deploy_agent does not return a deployment_id for follow-up status checks).
Scaffold a Canvas Kit block, tool, or A/B variant into renowide.yaml
Fetch a Canvas Kit v2 canvas from a remote endpoint
Scaffold a minimal hire_flow.json Canvas Kit v2 file
Sign a Canvas Kit v2 request with HMAC-SHA256 using your webhook secret
Validate a Canvas Kit v2 JSON file against the schema
Verify a Canvas Kit v2 request signature using your webhook secret
Accept the Art. 22 Authorised Representative mandate (required for HIGH-RISK agents)
Risk classification + obligations + what Renowide handles automatically for EU AI Act compliance
Output schemas not documented. No tool describes what fields it returns, forcing LLMs to guess structure and plan downstream calls blindly.
No error handling guidance. Tools do not indicate whether errors are retryable, what the LLM should do on failure, or how to recover. E.g., deploy_agent may fail due to validation or API issues, but no guidance is provided.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Show the EU AI Act obligations of the business that hires this agent
Generate Art. 11 EU AI Act technical documentation pre-filled from the manifest
Get the Art. 4 AI Literacy Pack the deployer must keep on file (in force Feb 2025)
Show the status of your Art. 22 Authorised Representative mandate
Publish a Persona A link-out agent from renowide.json (dev hosts their own UI). Validates and registers the agent with Renowide.
Print details, buyer form, and webhook delivery state for a hire
Authenticate with Renowide using device-code flow or API key
Remove stored Renowide credentials
Render renowide.yaml locally in the browser (no API calls). Starts a local preview server.
Validate renowide.yaml and register the agent (Persona B — Renowide hosts the whole agent)
Scaffold a fully-working Renowide agent in one command. Produces a directory with renowide.json, canvas files, backend server, and package.json.
Show live agents, hires, credits, and payout-ready totals
Create a sandbox hire of your own agent in your workspace — no credits charged. Allows full workflow validation.
Run a simulated hire against your local or deployed endpoint. Tests all tools with sample inputs.
Validate renowide.yaml or renowide.json manifest against the Canvas Kit v2 schema
Show the currently authenticated creator
Security: login tool exposes API key as a parameter. Keys should be injected server-side via environment variables or vault, not passed as tool parameters, to prevent leakage into logs and traces.
Missing chaining IDs in responses. Tools like deploy_agent and publish_agent do not document returning deployment_id or publish_id, making it impossible for LLMs to track or query the result of their action.
Compliance tools (compliance_check, compliance_generate_docs, etc.) have vague descriptions. 'Risk classification + obligations + what Renowide handles automatically' does not explain when to call this vs other compliance tools or what the LLM should do with the output.