83trust / 100

Plinth

by tryplinth.dev in Developer tools

MCP serverPassing, checked 3 h ago

App hosting your agent runs: git, deploys, staging/production, Postgres. Owner approves risky steps.

https://tryplinth.dev/mcp
Tools
72
behind sign-in or payment
Uptime
100%
last 30 days
Response time
176 ms
249 ms slowest 5%
Last check
Passed
3 h ago, next in 3 h

Scan it nowHow to connect

Reliability

All checks passedSome failedAll failedNot checked

Status and outage history · Atom feed · Watch with other listings

How to connect

Add it to any MCP client that supports remote servers. It asks for sign-in, an API key or payment.

{
  "mcpServers": {
    "plinth": {
      "type": "http",
      "url": "https://tryplinth.dev/mcp"
    }
  }
}

72 tools

  • account.create

    Create a Plinth account for your human owner (or join theirs if their email already has one). Plinth emails them a link to approve; then call account.status with the returned signup_id and poll to collect your token.

  • account.status

    Finish signup: checks whether the owner approved, and returns your token (once) when they have.

  • whoami

    Show the account this token belongs to, its policy and projects.

  • project.create

    Create a project: a git repo plus production and staging environments, each with its own Postgres database. May return pending_approval: the owner is emailed a link to approve; tell them it is waiting, then poll approval.status.

  • project.list

    List projects with their environments, live releases and URLs.

  • project.get

    Show one project: git remote, environments, live release per environment, URLs.

  • project.delete

    Delete a project, its repo, environments and databases. Irreversible. May return pending_approval: the owner is emailed a link to approve; tell them it is waiting, then poll approval.status.

  • code.write

    Commit files to the project without git: for agents that cannot run git or the CLI (e.g. Claude or ChatGPT in the cloud). Writes and deletes files on a branch (main deploys to staging; other branches get preview environments) and starts the deploy. Send whole files; text as…

  • code.list

    List files in the project repo (path and size) on a branch or commit.

  • code.read

    Read one file from the project repo. Text comes back as utf8; binary files as base64.

  • git.remote

    Get the authenticated git remote URL for pushing. Pushing main deploys staging; any other branch gets a preview environment.

  • git.log

    Recent commits on a branch.

  • git.branches

    Branches and their head commits.

  • git.revert

    Revert a commit on a branch server-side. The new commit deploys like a push.

  • env.list

    Environments for a project with live release and URL.

  • env.secrets.set

    Set an environment variable for an environment. Restarts the env so it takes effect.

  • env.secrets.list

    List environment variable names (values are never returned).

  • env.secrets.import

    Set many environment variables at once from .env text (KEY=value lines; # comments, quotes and "export" are fine). One restart at the end. Keys starting with VITE_/NEXT_PUBLIC_/PUBLIC_ also reach the build.

  • env.secrets.unset

    Remove an environment variable.

  • deploy

    Rebuild and deploy the head of the branch an environment tracks (staging tracks main). Production only changes via promote.

  • deploy.status

    Releases for an environment, newest first, with status and build log of the latest. Pass log_from (a character offset) to get only the log written since; build_log_length tells you where to continue.

  • deploy.cancel

    Stop a build that is still running (the latest one in the environment, or a given release id). The live release keeps serving.

  • promote

    Promote the release running on one environment to another (default staging to production). Applies pending migrations first. May return pending_approval: the owner is emailed a link to approve; tell them it is waiting, then poll approval.status.

  • rollback

    Point an environment back at its previous release (or a given release id). Does not roll back the database.

  • db.query

    Run SQL against an environment database. Returns up to 500 rows. On production, reads (SELECT, WITH, SHOW, EXPLAIN) run in a read-only transaction; any write needs owner approval. May return pending_approval: the owner is emailed a link to approve; tell them it is waiting, then…

  • db.migrations

    Applied and pending migrations (files in migrations/*.sql, applied in name order).

  • db.migrate

    Apply pending migrations from the live release now (deploys do this automatically). Takes a snapshot first. May return pending_approval: the owner is emailed a link to approve; tell them it is waiting, then poll approval.status.

  • db.snapshot

    Take a snapshot (pg_dump) of an environment database.

  • db.snapshots

    List snapshots for an environment. Staging and production get one automatically every night at 03:00 UTC, kept 7 days.

  • db.restore

    Restore an environment database from a snapshot. Takes a safety snapshot first. Production needs owner approval. May return pending_approval: the owner is emailed a link to approve; tell them it is waiting, then poll approval.status.

  • db.connection

    Get the DATABASE_URL for an environment (the same one the app receives). Production needs owner approval. May return pending_approval: the owner is emailed a link to approve; tell them it is waiting, then poll approval.status.

  • cron.add

    Schedule a job: Plinth POSTs to path on the environment at each tick (5-field cron, UTC), with the header x-plinth-cron-secret. Paths under /api/cron/ refuse any other caller. Outside production jobs start paused unless enabled is true. Jobs can also be declared in plinth.json…

  • cron.list

    Cron jobs on an environment with last run and next run.

  • cron.pause

    Pause a cron job (it stays defined but does not run).

  • cron.resume

    Resume a paused cron job.

  • cron.remove

    Delete a cron job.

  • cron.run

    Run a cron job now and return its result.

  • cron.runs

    Recent runs of a cron job.

  • domains.connect

    Map a domain you own to an environment. Point its DNS at the Plinth host; returns the record to create.

  • domains.list

    Domains mapped to a project.

Security scan

No findings

We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTime
3 h agoPassed401205 ms
16 h agoPassed401249 ms
29 h agoPassed401269 ms
40 h agoPassed401212 ms
2 days agoPassed401169 ms
Show 10 older checks
3 days agoPassed401215 ms
3 days agoPassed401238 ms
4 days agoPassed401143 ms
4 days agoPassed401178 ms
4 days agoPassed200185 ms
5 days agoPassed200168 ms
5 days agoPassed200170 ms
6 days agoPassed200146 ms
6 days agoPassed200150 ms
7 days agoPassed200135 ms