Local MCP capabilities provider for Expo
Pugi is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
AI product team: builds and publishes websites from a brief, logos, security checks.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http pugi-mcp https://api.pugi.io/api/agent/v1/mcp --header 'Authorization: Bearer ${PUGI_AGENT_KEY}'
# 2 — ask your agent for something these tools do
# get_balance, buy_credits_link, scan_url and 9 more
It needs PUGI_AGENT_KEY (Your Pugi agent key. Create one with POST https://api.pugi.io/api/agent/v1/keys (see https://pugi.io/agents.md)): this sends it in the Authorization header from your environment, so export it first — its endpoint answers 401 without it.
Pugi costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it. Claude Code reads PUGI_AGENT_KEY (Your Pugi agent key. Create one with POST https://api.pugi.io/api/agent/v1/keys (see https://pugi.io/agents.md)) from your environment each time it connects and sends it in the Authorization header — its endpoint answers 401 without it — so the key stays out of its config: export it in your shell profile (macOS, Linux), or run setx PUGI_AGENT_KEY … and open a new terminal (Windows).
claude mcp add --scope user --transport http pugi-mcp https://api.pugi.io/api/agent/v1/mcp --header 'Authorization: Bearer ${PUGI_AGENT_KEY}'Reconnect, or start a new session, and the tools appear in the model’s tool list.
It reaches a system of yours, so it needs your own credential rather than the publisher’s: Authorization header — Your Pugi agent key. Create one with POST https://api.pugi.io/api/agent/v1/keys (see https://pugi.io/agents.md).. You set it in your own client’s config, on your machine — this marketplace never holds it.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
12 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Shows the credit balance of this account in USD, what this key spent today, its daily spend cap, and the price of each tool. Paid tools spend this balance; when it runs out, ask a person to add credit with buy_credits_link, or pay with add_credit (a business purchase).
No parameter schema on file.
Returns a card checkout link for this account. A person opens it and pays there. This tool never charges anything by itself. Tax, where it applies, is added at checkout.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| amount_usd | number | no | How much credit to add. Rounded up to a pack of 5, 10, 25, 50 or 100 USD. Default 5. |
A free, passive, read-only check of a public website: HTTPS and the redirect to it, five security headers, cookie flags, and the page's own scripts read for leaked keys. Returns a grade from A+ to F, counts by severity and the most serious finding. 10 checks a day per key. It is not a pentest and does not prove a site is secure.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| url | string | yes | The public address to check, for example https://example.com |
Draws the same four whole logos as logo.pugi.io using its brief, concept planner and image inspection. Pass the user's description and style words verbatim, including unusual words; do not replace them with presets. Each logo includes a brand_kit_url opening that exact logo. Paid plans: included, up to 50 calls/day. Free accounts: three calls/day, then $0.25 per successful call. charged_usd and pr
| Parameter | Type | Required | Notes |
|---|---|---|---|
| business_name | string | no | The business name, as written by the user. |
| industry | string | no | Optional. What the business does, for example "coffee shop" or "accounting firm". |
| description | string | no | The user’s description verbatim, including location, imagery and mood. |
| name | string | no | — |
| niche | string | no | — |
| tagline | string | no | — |
| styles | array | no | The user’s style words verbatim. |
| palette | string | no | — |
| refines | array | no | — |
| refine_notes | string | no | — |
| colours | no | Optional. Hex colours: {"primary": "#1e3a8a", "secondary": "#f59e0b", "text": "#111827"}, or a list of one to three of them in that order. | |
| style | string | no | Style words verbatim; styles also accepts a list. |
| idempotency_key | string | yes | A unique string for this call, reused only to retry it. The same key with the same arguments is never charged twice. |
Lists the apps this account has published, newest first, with their status and live address. Pass project_id to see one project.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| project_id | string | no | Optional project id. |
Free. Searches the public Pugi catalogue of published sites and apps people built with Pugi. Filter by words in the title or description, tags (a card must carry all of them) and one category. Each result has a title, a short description, tags, a preview image, its public page on pugi.io and a start_from_this_url: the Pugi console with a brief for a new project like it (a person signs in there; it
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | no | Optional words to find in the title or description, for example "booking". |
| tags | array | no | Optional tags; a card must carry every one, for example ["saas"]. |
| category | string | no | Optional category. |
| limit | integer | no | How many cards to return. Default 10. |
Checks a public GitHub repository branch for leaked secrets, vulnerable or malicious dependencies and risky code, and returns each finding with its severity, rule, file and line (or package) and a short fix hint, plus a summary. No code is run. $1 from prepaid credit, charged only when the check finishes; a failed check costs nothing. Pass an idempotency_key: a check can take a few minutes, and wh
| Parameter | Type | Required | Notes |
|---|---|---|---|
| repo_url | string | yes | A public GitHub repository, for example https://github.com/owner/repo |
| ref | string | no | Optional branch name. Default: the repository's default branch. |
| idempotency_key | string | yes | A unique string naming this check. Reuse it to collect the result or to retry; the same key is never charged twice. |
App builds require application security verification and must be started in the Pugi console. This tool returns app_builds_in_console without charging.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| logo_id | string | no | Selected logo_id returned by make_logo. |
| brandHandoffId | string | no | BrandHandoff from logo.pugi.io. |
| pick | string | no | Console gallery starter slug. |
| theme | string | no | Console theme slug. |
| locale | string | no | Site language. |
| brief | string | yes | — |
| max_usd | number | no | — |
| idempotency_key | string | yes | — |
Builds a website from a brief in a Pugi workspace and returns a job_id. Billed by usage, never above max_usd (default 5, from 1 to 25 USD). max_usd is reserved from your credit before the build starts and the unused part is released when it ends; a build that produces nothing costs nothing. The answer includes estimate_usd_range from recent builds. A build takes several minutes: the call waits up
| Parameter | Type | Required | Notes |
|---|---|---|---|
| logo_id | string | no | Selected logo_id returned by make_logo. |
| brandHandoffId | string | no | BrandHandoff from logo.pugi.io. |
| pick | string | no | Console gallery starter slug. |
| theme | string | no | Console theme slug. |
| locale | string | no | Site language. |
| brief | string | yes | What the site is for, who it is for, the pages and sections it needs, and any texts, colours or style it should use. |
| max_usd | number | no | The most this build may cost, in USD. Default 5. You pay the actual cost, usually less. |
| idempotency_key | string | yes | A unique string naming this job. The same key returns the same job and is never charged twice. |
Makes one change in the workspace of a site this account built with build_site and returns a job_id. App edits must be made in the Pugi console. Billed by usage, never above max_usd (default 2, from 0.5 to 25 USD); a change that touches nothing costs nothing. Follow it with job_status like a build.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| logo_id | string | no | Selected logo_id returned by make_logo. |
| brandHandoffId | string | no | BrandHandoff from logo.pugi.io. |
| pick | string | no | Console gallery starter slug. |
| theme | string | no | Console theme slug. |
| locale | string | no | Site language. |
| job_id | string | no | The job_id of the build (or of an earlier edit) of the site to change. |
| project_id | string | no | Or the project_id of that site. |
| instruction | string | yes | The change to make, in plain words. |
| max_usd | number | no | The most this change may cost, in USD. Default 2. |
| idempotency_key | string | yes | A unique string naming this job. The same key returns the same job and is never charged twice. |
Free. The state of a build_site, build_app or edit job: running, finished, stopped (at its spending limit, what was built is kept) or failed; a short progress line; charged_usd so far (final once the job ends); and, when it is built, a view-only preview_url that only shows the site and expires after 15 minutes (call again for a fresh one).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job_id | string | yes | The job_id build_site, build_app or edit returned. |
Free. Puts a site this account built live on its pugi.app address, after the same security check of the exact code every Pugi publish runs. The account's hosting rules apply (the number of live apps it may have). Answers the live url, or status "building" while the address comes up (then use publish_status).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job_id | string | no | The job_id of the build (or the latest edit) to publish. |
| project_id | string | no | Or the project_id of that site. |
| idempotency_key | string | no | Optional. Reuse it to retry the same publish. |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Pugi or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | moderate | capability blast radius (moderate) — client exposure if the model is manipulated | −3 |
| coverage-honesty | manifest | inspection depth (manifest) — how much of the target the scan could see | −4 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
The scan read each tool’s name, description, input schema and annotations exactly as the server listed them the last time it answered us; no code was reviewed. We ask the server again about once a month, and a list that changed is graded again.
The implementation source was not read — this reflects the declared tool metadata only.
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. moderate is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| get_balance | no tags | |
| buy_credits_link | no tags | |
| scan_url | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| make_logo | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| publish_status | no tags | |
| catalog_search | no tags | |
| scan_repo | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| build_app | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| build_site | state-write | state-write: declares readOnlyHint: false |
| edit | state-write | state-write: declares readOnlyHint: false |
| job_status | no tags | |
| publish | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.0.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Pugi can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.