MCP.Market

Petal Components MCP server

online · 100% uptime
by petalframework·io.github.petalframework/petal-components-mcp·v0.1.0·1 stars

Phoenix LiveView component schemas from petal_components, exposed to AI coding assistants.

A94/100grade A
What users say
No reviews yet
Be the first
Safety scan
A94/100

full report

Adoption
Growing

1 stars38 downloads/wk

Reviews

Write one

Nobody 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 posts
  • get_componentFree

    Get 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_instructionsFree

    Get 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_componentsFree

    List 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

no findings
  • 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
Overall 94/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

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
Add to Cursor

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.build

Then 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 Fly

Running 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/healthz

The 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/mcp

Deploy (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.build

After 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.dev

Then fly certs check mcp.petal.build will go green once propagation hits.

Subsequent deploys

fly deploy --remote-only

Syncing 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-only

The /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.