ShipDapp
io.github.yash1ts/shipdapp · v0.2.0 · MCP 2025-11-25
Deploy Dockerized apps to Akash devnet with ShipDapp MCP build, deploy, update, and logs tools.
Reachability
reachable
checked 2026-07-14 04:30 UTC
Registry status active
Tools pinned 16
e50780f3e1af
Tools last changed
unchanged since first capture 2026-07-14
Provenance
Registry namespace io.github.yash1ts
(GitHub-account verified by the official registry)
Repository
github.com/yash1ts/shipdapp
Website
https://shipdapp.com
Remote endpoints
https://api.shipdapp.com/api/mcp/sse (sse)
Observed changes
| When (UTC) | Event | Detail |
|---|---|---|
| 2026-07-14 03:23 | first capture | 16 tools pinned |
Pinned tool definitions (16)
| Tool | Description |
|---|---|
| get_auth_challenge | CALL THIS FIRST before deploy/build tools ONLY if you are NOT using a ShipDapp API key in MCP client headers. Returns a Sign-In-With-Solana message for local wallet signing. |
| authenticate | CALL THIS IMMEDIATELY AFTER get_auth_challenge. Submit the base58 signature of the challenge message to unlock the session. All deploy/build/status tools require authentication — do not call them until this succeeds. |
| get_usage_limits | CALL THIS AFTER A GUARDRAIL BLOCK or before planning multiple deploys. Returns your wallet's deployment quotas and current usage (active apps, hourly build/deploy counts). Use to understand why deploy_app was rejected and what to do... |
| list_templates | CALL THIS WHEN STARTING A NEW APP or when you need a templateId for deploy_app/build_image. Returns available templates (e.g. webapp-static = frontend SPA, framework-agnostic). Optional starter via includeFiles=true is... |
| list_template_files | CALL THIS BEFORE deploy_app to see required vs optional paths. Required is minimal (package.json + index.html); component filenames are not fixed — validate_upload checks that the HTML entry's imports resolve. |
| validate_upload | DRY-RUN before deploy_app/update_app/build_image. Checks file count, bytes, missing required paths, template-default fills, and placeholder garbage — without starting a Cloud Build. Call this when unsure the files map is complete. |
| build_image | USE ONLY when you want to build a container image WITHOUT creating a deployment. For normal shipping, prefer deploy_app instead (build + deploy in one step). Call this if you need to verify the image builds successfully before... |
| get_build_status | Optional debug tool for Cloud Build progress. Prefer polling get_app_status(deploymentId) after deploy_app/update_app — the server auto-promotes BUILDING → Akash deploy when the build succeeds. Use this when you only have a buildId... |
| deploy_app | PRIMARY SOURCE DEPLOY TOOL — call when the app is built/tested locally and ready to ship. Prefer validate_upload first. Uploads files + templateId (mergeMode=strict by default: upload-as-is — never injects starter Tailwind/PostCSS/React... |
| deploy_image | CALL THIS WHEN YOU ALREADY HAVE A PUBLIC DOCKER/OCI IMAGE and want to deploy it to devnet without uploading source files or running Cloud Build. Requires dockerImage + appName. Use deploy_app instead when the agent has local source... |
| update_app | CALL THIS WHEN AN APP IS ALREADY DEPLOYED and you want to push new code or change config. Pass files + templateId to rebuild (same strict upload rules as deploy_app — prefer validate_upload first), OR pass dockerImage alone to redeploy... |
| get_app_status | PRIMARY STATUS POLL after deploy_app, update_app, or deploy_image. Poll every 10–20s until status is ACTIVE and httpReady is true (then share proxyUri), or FAILED (read lastError / buildLogTail). ACTIVE alone can still mean HTTP 503... |
| list_apps | CALL THIS to see all your deployed apps (listed and unlisted), find a deploymentId, or check which apps are ACTIVE vs DEPLOYING. Use before update_app, set_app_listing, or close_app when you don't know the deploymentId. |
| set_app_listing | CALL THIS to list or unlist an existing app on the public App Store. Unlisted apps stay reachable via proxyUri if you know the URL. Use list_apps to find deploymentId. Does not change the live deployment. |
| close_app | CALL THIS WHEN PERMANENTLY SHUTTING DOWN an app — stops the Akash lease, frees resources, and marks the deployment DELETED. This is irreversible for that deploymentId. Use list_apps first if you don't know the ID. Do NOT use this for... |
| get_logs | CALL THIS WHEN SOMETHING WENT WRONG or you need to debug. type=build + buildId: after FAILURE — returns failureSummary and inline buildLogTail when Cloud Logging is available (else logUrl). type=runtime: container stdout/stderr from... |
Status badge
[](https://toolpin.dev/servers/io.github.yash1ts/shipdapp)
Maintain this server? Add the badge to your README — it links your users to this live status page.