Add Printr plugin#71
Conversation
Match the merged-plugin house style (bankr/uniswap): 2-field frontmatter with the 'Skill plugin reference for' description idiom, prose overview in place of canonical spec headings, '## API' endpoints, send_calls mapping as an Orchestration subsection, bold-prompt examples, and Execution Warnings / Safety Notes / Notes sections. Enforce tone.md rules (onchain, no web3).
🟡 Heimdall Review Status
|
stephancill
left a comment
There was a problem hiding this comment.
Thanks for the submission. There are structural conformance gaps and the documented API does not currently function, both of which need to be resolved before this can be reviewed for merge.
Required — structure
- The frontmatter is missing nearly all required fields:
tags,name,version,integration,chains, and the capability flags. These are the routing/discovery signals surfaced in the SKILL.md table, so without them the plugin is undiscoverable. Add the full frontmatter block. - The required
## Surface Routingand## Submissionsections are absent. Add them. - Non-canonical headings:
## API,## Execution Warnings,## Safety Notes. Rename to## Endpointsand fold the warnings into## Risks & Warnings.
Required — functional
- "All endpoints are public (no auth)" is incorrect.
api.printr.moneyrequires authentication (returns 401) and the production OpenAPI gates all endpoints behindbearerAuth. Correct the documented auth model and setauthaccordingly. - The documented host
api-preview.printr.money/v0returns HTTP 500 on every endpoint (/print/quote,/print,/tokens/{id}), so the plugin cannot build calldata against it. Point the plugin at a working, stable production host.
Minor
- Request schema mismatches that would fail the quote/build calls even with valid auth:
initial_buyis documented as a bare string ("0.1"), but the API requires an object (VariableInitialBuy) selecting one of three denomination modes:{spend_native: "<amount>"},{spend_usd: <amount>}, or{supply_percent: <amount>}. A bare string is ambiguous (native vs USD vs percent), so the backend rejects it. Update the field type and examples, and pass whichever variant the user specifies.graduation_threshold_per_chain_usd: 5000is below the schema minimum of15000(max1000000). Use an in-range value in the examples.
Thanks for the submission — appreciate the work on the Printr plugin! As part of reviewing the Wave 2 submissions I ran an automated, read-only health check against the documented endpoints. A couple of these are blocking the documented flow right now, so flagging them early so they're easy to fix: Findings
What was checkedRead-only probes only. DNS/TLS via Really appreciate the contribution — happy to clarify any of the above. Since this is an automated check, please double-check anything that looks unexpected on your end before changing it.
|
Adds a Base MCP plugin for Printr, a cross-chain token launchpad.
What it does
Lets an agent quote, build, and launch a token on Printr from chat. The plugin reads and builds an unsigned EVM transaction over Printr's public HTTP API, then submits the raw
{ to, value, data }calldata through Base MCPsend_calls— the user signs and broadcasts via their Base Account. Covers the EVM chains Base MCP supports:base,arbitrum,optimism,polygon,bsc,avalanche,ethereum.integration: http-api— Printr's API is public (no auth). Build calldata viaPOST /print, submit viasend_calls.skills/base-mcp/plugins/printr.mdNotes for review
http-api, notexternal-mcp. Printr ships its own MCP server, but this plugin intentionally talks to the public HTTP API directly so the write always routes through Base MCPsend_calls(the smart-wallet approval gate) rather than Printr's own signer. No extra MCP install required — Base MCP only.## API, send_calls mapping as an Orchestration subsection, Execution Warnings / Safety Notes / Notes. Conforms totone.md(onchain, no web3).api-preview.printr.money. Happy to repoint at the stable production host before merge if preferred — flag it and I'll push the change.Authored per the plugin spec and verified against the Authoring Checklist.