Petal Components MCP server
online · 100% uptimeio.github.petalframework/petal-components-mcp·v0.1.0·1 starsPhoenix LiveView component schemas from petal_components, exposed to AI coding assistants.
1 stars38 downloads/wk
Reviews
Write oneNobody has reviewed Petal Components yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Petal Components tools (3)
write = sends, deletes, buys or postsget_componentFreeGet the full schema for one petal_components component: attrs, slots, defaults, allowed values, and a working HEEx usage example. Call this every time you are about to write a tag like <.button>, <.modal>, <.table>, or <.field> so the attrs and slots match the real library instead of training-data guesses.
get_install_instructionsFreeGet the canonical steps for installing petal_components in a Phoenix project. Call this when the user asks to install petal_components, when you are setting up a new Phoenix project that needs UI components, or when verifying an existing installation. Returns step-by-step instructions covering mix.exs, mix deps.get, Tailwind v4 CSS config, and the web module import. Steps are idempotent - safe to follow on a project that is partially configured.
list_componentsFreeList every component shipped by petal_components, the shadcn-style component library for Phoenix LiveView. This is the canonical Phoenix UI vocabulary - call it before composing any HEEx so you reach for an existing component instead of hand-rolling Tailwind divs.
Public scan report
scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it
- Code scan11 source files scanned25/25
- Live reliabilityremote reachable in 283ms20/20
- Tool poisoning3 tool descriptions checked15/15
- Auth qualityopen endpoint, read-only tools10/15
- Maintenancelast push 26 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year9/10
How Petal Components compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 94/100
- higher than 96% of 48,255 servers
- Tools
- 3
- the typical server has 7
- Tools that change things
- 0%
- typical: 0%. Fewer write tools means less an agent can break
- Uptime
- 100%
- of our recent checks; the typical remote server answers 100%
- Response time
- 204 ms
- faster than 63% of 30,031 servers
- GitHub stars
- 1
- more than 65% of 28,688 servers
- Downloads a week
- 38
- more than 29% of 12,191 servers with a package
What its tools let an agent do: 3 read
Install Petal Components in Claude Code, Cursor or VS Code
claude mcp add --transport http petal-components-mcp https://mcp.petal.build/mcp
What the publisher says
From the Petal Components repository's README, as published. We do not edit it. Read it on GitHub
petal-components-mcp
An MCP server that exposes petal_components — the Shadcn-style component library for Phoenix LiveView — to AI coding assistants (Claude Code, Cursor, Windsurf, etc).
Without this, AI agents writing HEEx invent raw Tailwind soup and never reach for pc components. With it, the AI gets the full schema for every component on demand — attrs, slots, defaults, allowed values, usage examples — and writes idiomatic petalcomponents markup by default.
Install (Claude Code)
claude mcp add petal --transport http https://mcp.petal.buildThen in any Phoenix project, ask the AI to build something. It'll call listcomponents and getcomponent to ground its output in real petal_components schemas.
Available tools
- list_components — every component in the library with a one-line summary
- get_component — full schema (attrs, slots, defaults, values, docs) + HEEx usage example
Coming soon: searchcomponents (natural-language match) and generatepattern (composed blocks like form-in-card, modal-with-form, dashboard skeletons).
How it works
The MCP server is a thin TypeScript service that bundles a JSON snapshot of every component in petalcomponents. The JSON is generated by a Mix task that introspects Phoenix.Component.components/0 on every loaded PetalComponents. module — so the schemas are always in sync with the actual library, no manual duplication.
petal_components (Hex) petal-components-mcp (this repo)
│ │
│ mix run extract_schemas.exs │
│─────────────────────────────────────► src/schemas.json
│
│ tsc
▼
dist/server.js ◄── deployed to FlyRunning locally
# Regenerate schemas from the latest petal_components on Hex
npm run extract # cd scripts/extract && mix deps.get && mix run extract_schemas.exs
# Build and serve
npm install
npm run build
PORT=8765 npm start
# Health check
curl http://localhost:8765/healthzThe extraction is self-contained — scripts/extract/ is a tiny Mix project that pulls petalcomponents from Hex, introspects every Phoenix.Component.components/0, and writes src/schemas.json. No need for a local petalcomponents clone.
To use a local server with Claude Code:
claude mcp add petal-local --transport http http://localhost:8765/mcpDeploy (Fly.io)
The MCP server is hosted at mcp.petal.build on Fly.io as a standalone app.
First-time setup
# 1. Create the app (one-time, requires Fly auth)
fly apps create petal-components-mcp
# 2. Deploy
fly deploy --remote-only
# 3. Add the custom domain
fly certs add mcp.petal.buildAfter step 3, Fly prints the DNS records you need. Add a CNAME at the petal.build DNS provider:
mcp.petal.build CNAME petal-components-mcp.fly.devThen fly certs check mcp.petal.build will go green once propagation hits.
Subsequent deploys
fly deploy --remote-onlySyncing after a new petal_components release on Hex
# 1. Regenerate schemas from the latest petal_components on Hex
npm run extract
# 2. Eyeball the diff (catches surprises before they ship to AI agents worldwide)
git diff src/schemas.json | head -50
# 3. Commit and deploy
git add src/schemas.json
git commit -m "chore: sync schemas with petal_components vX.Y.Z"
git push
fly deploy --remote-onlyThe /healthz endpoint reports the bundled version, so you can confirm a deploy went out:
curl https://mcp.petal.build/healthz
# {"ok":true,"petal_components_version":"3.2.0","components":79,...}Background
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Petal Components: common questions
- Is Petal Components MCP server safe?
- Yes, by our scan: it is graded A (94/100). Read the Petal Components safety report
- How do I install Petal Components?
- It runs remotely at mcp.petal.build. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
- Does Petal Components need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Petal Components maintained?
- The last commit was 63 days ago (2026-09-02). The latest release is v0.1.0.
- Is Petal Components up?
- 100% of our last 28 checks got an answer. We check remote servers about four times a day.
- How does Petal Components compare with other MCP servers?
- safety score 94/100 (higher than 96% of 48,255 servers); tools 3 (the typical server has 7); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.