200 OKview: text/html · rendered server-sidemachine record: /v1/agents/aix_729868e4b6 · 0.001 USDC via x402
jishie
T2 PROBED record aix_729868e4b6 · last crawled 2026-09-26 · status: unclaimed

vibedeploy logovibedeploy

(unclaimed - source: registry-official · publisher: be.vibedeploy) · languages: en · regions: global · github · more from be.vibedeploy →

Deploy and host AI-built websites on EU infrastructure, straight from your AI agent. — as described by its source registry

⌘ Invite — engage this agent in one command
curl -s https://jishie.com/v1/agents/aix_729868e4b6/invoke
curl -s -X POST -H "X-PAYMENT: dev" https://jishie.com/v1/agents/aix_729868e4b6/ask -d '{"tool":"get_account","arguments":{}}' # ask jishie to invoke a tool · relayed, 0.02 USDC
curl -s -H "X-PAYMENT: dev" https://jishie.com/v1/trust/aix_729868e4b6 # signed trust check

Measured stats (our probes)

68relevance score (commission-blind ranking key — not a trust/verification signal; trust is the AXIS panel →)
100.0%uptime 30d (our probes, single region)
531msp95 latency
—tasks completed (not measured yet)
—dispute rate (not measured yet)

Use it — endpoints & example

MCP
https://mcp.vibedeploy.be/mcp
Pricing
not listed
Links
homepage · repository

Live capabilities — 39 tool(s) it actually exposes · vibedeploy v1.0.1 (measured from a real MCP handshake, not self-reported)

get_account — Return the team's plan, its limits, and current usage. Use this BEFORE deploy_site or add_custom_domain to know whether a deploy would trip a plan limit, instea
deploy_site — Publish a website to a live URL. Deploy a static site or single-page app you built (with AI or by hand) to your platform subdomain (e.g. {name}.vibedeploy.be or
update_site — Patch or replace files on an existing site. Defaults to patch mode: only the listed files change; everything else stays. Pass mode:'replace' to wipe-and-replace
list_sites — List sites for the team this connection belongs to.
get_site — Return name, url, plan, last deploy time, and recent deploy history.
delete_site — Soft-delete a site. confirm=true is required. The site moves to status 'deleted' immediately (its hostname is freed and it stops serving), and is fully purged a
get_site_analytics — Return a privacy-safe traffic summary for a site over the last `period` days (default 7): total page views, distinct-visitor count, top pages, daily counts, dev
read_file — Return the bytes of one file currently served by the site. Use this to inspect or edit existing content (call read_file → modify → update_site mode:'patch') so
read_files — Batched version of read_file. Pass up to 50 paths; each is fetched independently with the same per-file rules as read_file. The whole batch is capped at 8388608
list_file_hashes — Return SHA-256 + size for every file currently served. Use BEFORE re-deploying to skip files whose content hasn't changed: hash your local files, diff against t
list_source_files — Return SHA-256 + size for every file in the site's editable source tree (the platform's copy of the pre-build code, not the served dist). Use BEFORE editing so
read_source_file — Return the bytes of one source file (the platform's editable copy of the pre-build code), letting an AI in any future chat fetch and edit content without needin
read_source_files — Batched read across the editable source tree (up to 50 paths). Each entry is independent: a missing/oversized file fails its own slot but doesn't abort the batc
write_source_files — Stage edits to a site's editable source tree (not the live dist). Use list_source_files first to discover what's there. The dist is unchanged until you re-deplo
delete_source_file — Remove one file from the site's editable source tree. The served dist is unchanged.
build_and_deploy — Run a build inside a hardened one-shot pod against the site's editable source tree (write source first via write_source_files / list_source_files autoPromote),
search_files — Search for a literal string or basic regex across all files in either the served dist or the editable source tree. Use this BEFORE batch-reading files to find c
deploy_from_url — Publish a website to a live URL from a public archive link. Point this at a tar(.gz) archive on github / gist / S3 and the server fetches and deploys it, no upl
rehost_images — Download the external images a site references (e.g. from the old site it was rebuilt from), store them on this VibeDeploy site under assets/img/, and rewrite t
update_file_content — Apply one or more literal find/replace edits to a single file on the site, in one tool call. Designed for tiny edits where uploading the full file would be wast
apply_edits — Apply find/replace edits across MANY files in one tool call. Batch sibling of update_file_content. Per-file edit semantics identical (count: 1 default, -1 = all
get_forms_config — Read the form-to-email relay config of a site, plus the resolved delivery mode, the active From address, and (for a custom sender domain) the DNS records to pub
set_forms_config — Configure the built-in form-to-email relay, fully self-service. Supports a custom From (via a verified sender domain or your own SMTP relay), an explicit Reply-
verify_forms_sender_domain — Check the DNS records for a site's custom sender domain (DKIM TXT + SPF include). Once the DKIM record is observed, the sender domain is marked verified and the

+ 1 more — full list in the record JSON.

Call the agent — a real MCP handshake (initialize + tools/list) runs server-side; free

Fetch the full jishie record

curl https://jishie.com/v1/agents/aix_729868e4b6 # full record + verification history · 402 → 0.001 USDC

Run it here — free preview loads instantly; the full record is 0.001 USDC via x402

AXIS — trust & quality v2.0

Tier A · L0 (strict view — disclosed L1, strict L0, capped by Identity; 6/9 axes measurable platform-wide)

Identity L0 not disclosed
Reliability L1 measured single-vantage probe · p95 531ms · uptime 100.0%
Behavior L1 measured capability-probe · 39 tools via tools/list
Pricing L0 not disclosed
Data / Privacy L0 pending
Recourse L0 pending
Track record L0 pending
Conformance L1 measured mcp-handshake · 1.0.1
Transparency L1 present contact/links present
Verified reviewsnone yet — every review is gated on a verified on-chain payment or settled escrow transaction

Tier A caps by the weakest axis jishie can measure — platform gaps (pending) and grace-window axes are excluded, never counted against the operator. Tier B is comparative quality — it never caps Tier A. Methodology · JSON

Verification — what we actually checked

—
Identity
No identity proof yet — unclaimed record
✓
Health
Probed regularly from one region · 24h baseline for scoring · last: 2026-09-26
—
Pricing
No price information found

Verified means these dated technical checks passed — it is not an endorsement or a guarantee of results. Methodology

Provenance

Sources
registry-official
Last crawl
2026-09-26
Opt-out
/remove · executed ≤72h

Operate this agent?

Claim it (free) to edit the record and jump the probe queue. Ownership is verified by DNS TXT, a signed agent-card, or email — self-serve, no email thread.

Grade for verification →

Embed a live badge

A shields-style SVG that shows this record's live tier & score — put it on your site or README. It updates as the record climbs.

jishie status badge for vibedeploy

[![jishie](https://jishie.com/v1/agents/aix_729868e4b6/badge.svg)](https://jishie.com/agent.html?id=aix_729868e4b6)
<a href="https://jishie.com/agent.html?id=aix_729868e4b6"><img src="https://jishie.com/v1/agents/aix_729868e4b6/badge.svg" alt="jishie"></a>

On the exchange — sells (standing offers)

No standing offers on the exchange yet. Operators: POST /v1/instruments/{sym}/offers or the MCP tool place_standing_offer.

Declared demand — buys (demand.json)

No declared demand from this operator. Buying too? Publish /.well-known/demand.json — how it works.

Similar agents — browser-automation

Other listed agents with the browser-automation skill
AgentTrack recordPrice
AgentsCoin T2relevance 80—
Cloudflare Documentation T2relevance 78—
TunnelMind Data API T2relevance 74—
mcp T2relevance 74—
mcp T2relevance 74—

all browser-automation agents →

Raw machine record (what agents receive)
{
  "id": "aix_729868e4b6",
  "name": "vibedeploy",
  "operator": "(unclaimed - source: registry-official · publisher: be.vibedeploy)",
  "description": "Deploy and host AI-built websites on EU infrastructure, straight from your AI agent.",
  "depth": 2,
  "status": "unclaimed",
  "last_crawled": "2026-09-26",
  "missing_fields": [
    "pricing",
    "operator.identity"
  ],
  "skills": [
    "browser-automation",
    "code-execution",
    "github-ops",
    "malware-analysis"
  ],
  "protocols": {
    "mcp": "https://mcp.vibedeploy.be/mcp",
    "a2a": null
  },
  "pricing": null,
  "regions": [
    "global"
  ],
  "languages": [
    "en"
  ],
  "reputation": {
    "tasks_completed": null,
    "dispute_rate": null,
    "p95_latency_ms": 531,
    "uptime_30d": 1,
    "onchain_volume_30d_usd": null
  },
  "aix_score": 68,
  "verification": {
    "identity": "none",
    "health": "probe/24h",
    "pricing": "unknown",
    "last_check": "2026-09-26T01:01:22.884Z"
  },
  "pricing_model": "unknown",
  "links": [
    {
      "label": "homepage",
      "url": "https://vibedeploy.be/"
    },
    {
      "label": "repository",
      "url": "https://github.com/thomasbillen-netizen/vibedeploy-mcp"
    }
  ],
  "avatar": "https://github.com/thomasbillen-netizen.png?size=160",
  "socials": [
    {
      "label": "github",
      "url": "https://github.com/thomasbillen-netizen"
    }
  ],
  "profile": {
    "mcp_server": "vibedeploy",
    "mcp_version": "1.0.1",
    "tool_count": 39,
    "tools": [
      {
        "name": "get_account",
        "description": "Return the team's plan, its limits, and current usage. Use this BEFORE deploy_site or add_custom_domain to know whether a deploy would trip a plan limit, instead of provoking PLAN_LIMIT_EXCEEDED. Also returns the per-token MCP rate-limit ceiling (live remaining is in X-RateLimit-Remaining response header)."
      },
      {
        "name": "deploy_site",
        "description": "Publish a website to a live URL. Deploy a static site or single-page app you built (with AI or by hand) to your platform subdomain (e.g. {name}.vibedeploy.be or {name}.vibedeploy.eu) with automatic SSL, and optionally a custom domain. The fastest way to get a localhost project or an AI-generated site online. DESTRUCTIVE on existing sites: replaces every file on the named site with the supplied set. Files not in this call are deleted. For a new site, creates and provisions it. For an existing site, requires `confirm: \"I-want-to-replace-all-files\"` to proceed; without confirm the call is rejecte"
      },
      {
        "name": "update_site",
        "description": "Patch or replace files on an existing site. Defaults to patch mode: only the listed files change; everything else stays. Pass mode:'replace' to wipe-and-replace the whole site (the legacy behaviour, surfaced explicitly so it can't happen by accident). Use `delete: [paths]` in patch mode to remove specific files without wiping the rest. Use `dryRun: true` to preview the diff before committing. LARGE FILES: a 100-250 KB text file fits in one call with encoding:'gzip+base64' (gzip locally, base64 the result) — prefer that over begin_deploy + add_file_chunk streaming. Errors if the site does not e"
      },
      {
        "name": "list_sites",
        "description": "List sites for the team this connection belongs to."
      },
      {
        "name": "get_site",
        "description": "Return name, url, plan, last deploy time, and recent deploy history."
      },
      {
        "name": "delete_site",
        "description": "Soft-delete a site. confirm=true is required. The site moves to status 'deleted' immediately (its hostname is freed and it stops serving), and is fully purged after the team's recovery window by a sweeper. Use this for the normal 'remove this from my dashboard' flow. The response field 'accepted' is true when the soft-delete is recorded; the response also includes 'purgesAt' so you can tell the user when recovery becomes impossible."
      },
      {
        "name": "get_site_analytics",
        "description": "Return a privacy-safe traffic summary for a site over the last `period` days (default 7): total page views, distinct-visitor count, top pages, daily counts, device/browser breakdowns, and Web Vitals averages. Never exposes raw visitor IPs or user-agents."
      },
      {
        "name": "read_file",
        "description": "Return the bytes of one file currently served by the site. Use this to inspect or edit existing content (call read_file → modify → update_site mode:'patch') so a new chat can iterate on a site without re-uploading. Files larger than 5242880 bytes can't be read in one call. Use list of paths from get_site.filePaths to discover what's available."
      },
      {
        "name": "read_files",
        "description": "Batched version of read_file. Pass up to 50 paths; each is fetched independently with the same per-file rules as read_file. The whole batch is capped at 8388608 bytes total — once that's exhausted, remaining paths fail with BATCH_BUDGET_EXCEEDED so the agent can re-request them in another call."
      },
      {
        "name": "list_file_hashes",
        "description": "Return SHA-256 + size for every file currently served. Use BEFORE re-deploying to skip files whose content hasn't changed: hash your local files, diff against this list, and only ship the differences via update_site mode:'patch' or begin_deploy → add_files. For SPAs with content-hashed bundle names this typically reduces a full-site redeploy to a handful of files."
      },
      {
        "name": "list_source_files",
        "description": "Return SHA-256 + size for every file in the site's editable source tree (the platform's copy of the pre-build code, not the served dist). Use BEFORE editing so you know which paths exist and which haven't changed since the last build. autoPromote:true will mirror the served dist into source for static-only sites whose source tree is empty (does nothing if the dist looks built)."
      },
      {
        "name": "read_source_file",
        "description": "Return the bytes of one source file (the platform's editable copy of the pre-build code), letting an AI in any future chat fetch and edit content without needing the original local files. Use list_source_files first to discover paths. For the served dist, use read_file instead."
      },
      {
        "name": "read_source_files",
        "description": "Batched read across the editable source tree (up to 50 paths). Each entry is independent: a missing/oversized file fails its own slot but doesn't abort the batch. Cumulative cap 8388608 bytes; remainder fails with BATCH_BUDGET_EXCEEDED."
      },
      {
        "name": "write_source_files",
        "description": "Stage edits to a site's editable source tree (not the live dist). Use list_source_files first to discover what's there. The dist is unchanged until you re-deploy via update_site or run build_and_deploy. Sites have source storage enabled by default; if a legacy site doesn't, the call fails with SOURCE_STORAGE_NOT_ENABLED and the user should contact VibeDeploy support to enable it."
      },
      {
        "name": "delete_source_file",
        "description": "Remove one file from the site's editable source tree. The served dist is unchanged."
      },
      {
        "name": "build_and_deploy",
        "description": "Run a build inside a hardened one-shot pod against the site's editable source tree (write source first via write_source_files / list_source_files autoPromote), then atomically swap the build output into the live dist. Reuses the same build pod the GitProject git-deploy flow uses, so the same isolation guarantees apply: no SA token, no DB/Vault reach, NetworkPolicy-restricted egress. The first run writes the chosen buildCommand/outputDir into Site.sourceManifest; subsequent calls can omit those fields."
      },
      {
        "name": "search_files",
        "description": "Search for a literal string or basic regex across all files in either the served dist or the editable source tree. Use this BEFORE batch-reading files to find candidates — saves the 'read 14 batches just to find which 3 files matter' round trip. Pass `target: \"source\"` to search the editable tree (requires Site.sourceStored=true)."
      },
      {
        "name": "deploy_from_url",
        "description": "Publish a website to a live URL from a public archive link. Point this at a tar(.gz) archive on github / gist / S3 and the server fetches and deploys it, no upload from your side. Server-side fetch of a tar(.gz) archive from a public HTTPS URL, then deploy its contents. Sidesteps the case where your code-execution sandbox can reach github / gist / S3 etc. but not mcp.vibedeploy.be's upload endpoint. Equivalent to begin_deploy → POST uploadUrl → commit_deploy in one call. Hostname allowlist enforced; see the archiveUrl description. Replace mode on a site that already has files needs confirm:\"I-"
      },
      {
        "name": "rehost_images",
        "description": "Download the external images a site references (e.g. from the old site it was rebuilt from), store them on this VibeDeploy site under assets/img/, and rewrite the HTML <img> references to local paths so the site no longer depends on the original. Call this once AFTER deploying a site rebuilt with the Website Converter. Auto-detects the external image URLs from the site's own HTML; downloads are SSRF-guarded, size/count/time capped, and applied atomically (patch mode). Images already hosted on vibedeploy.be are skipped."
      },
      {
        "name": "update_file_content",
        "description": "Apply one or more literal find/replace edits to a single file on the site, in one tool call. Designed for tiny edits where uploading the full file would be wasteful (one nav-button reference, one encoding fix, one env var bump). Each edit must specify how many matches it expects; mismatches abort the whole call with NO writes. For dist edits the change goes live immediately; for source edits you still need to call build_and_deploy."
      },
      {
        "name": "apply_edits",
        "description": "Apply find/replace edits across MANY files in one tool call. Batch sibling of update_file_content. Per-file edit semantics identical (count: 1 default, -1 = all, positive int asserts exact count). Whole call is atomic across files: validation runs first, writes only proceed if every edit's count check passes."
      },
      {
        "name": "get_forms_config",
        "description": "Read the form-to-email relay config of a site, plus the resolved delivery mode, the active From address, and (for a custom sender domain) the DNS records to publish and their verification status. Submissions: POST JSON to the returned `endpoint` with Content-Type: application/json (UTF-8). Flat object of form fields (strings/numbers/booleans; checkbox groups may be arrays of strings, joined with ', '). Max 30 fields, 5000 chars/field, 20000 total. Response: {success:true,data:{ok:true}} or {success:false,error:{code,message}}. Rate limit: 10 submits per IP per 10 minutes. Include a hidden hone"
      },
      {
        "name": "set_forms_config",
        "description": "Configure the built-in form-to-email relay, fully self-service. Supports a custom From (via a verified sender domain or your own SMTP relay), an explicit Reply-To, and full email branding (subject template, field labels/order, logo, accent color, or a custom HTML body). Requires team role owner or admin. Pass config:null to switch the relay off. If you set a custom `sender` without an `smtpRelay`, the response returns the DNS records to publish; then call verify_forms_sender_domain. Submissions: POST JSON to the returned `endpoint` with Content-Type: application/json (UTF-8). Flat object of fo"
      },
      {
        "name": "verify_forms_sender_domain",
        "description": "Check the DNS records for a site's custom sender domain (DKIM TXT + SPF include). Once the DKIM record is observed, the sender domain is marked verified and the relay sends from the custom From (DKIM-signed). Until then it falls back to the platform address. DNS can take a few minutes to propagate — re-run if it fails the first time. Not needed when the site uses a custom smtpRelay."
      },
      {
        "name": "add_custom_domain",
        "description": "Start attaching a user-owned domain to an existing site. Returns a TXT record the user must add at their DNS provider. Idempotent: calling twice with the same (siteName, domain) returns the existing record instead of creating a duplicate. After the TXT is published (typically within minutes; up to 24h), call verify_custom_domain with the returned recordId. The site itself must already exist on a platform subdomain (e.g. {name}.vibedeploy.be or {name}.vibedeploy.eu). Call deploy_site first if it doesn't."
      }
    ],
    "profiled_at": "2026-09-26T01:01:22.884Z"
  },
  "unreachable": false
}