Docs · Deploy
MCP server for coding agents
homeport mcp lets a coding agent such as Claude Code or Cursor deploy your app, read its logs, set its variables and add a database. Every change it wants to make is put to you first, in your editor, and nothing happens until you approve it.
Set it up
- Install the CLI and sign in with
homeport login. - In your project’s folder, run
homeport linkto choose the app and environment it deploys to. - Add the server to your editor.
claude mcp add homeport -- homeport mcp{
"mcpServers": {
"homeport": { "command": "homeport", "args": ["mcp"] }
}
}The server runs in your project’s folder, with your sign-in. It can do what you can do in the dashboard, and no more.
Every change is yours to approve
An agent can be talked into things by what it reads, so a change is never the agent’s to approve. Each tool that changes something asks you through your editor, saying exactly what changes and where: variable names, never their values. Your answer counts for that one change only.
- No tool deletes anything: not an app, a database or a domain.
- No tool returns a variable’s value or any other secret.
- No tool takes a folder:
deploydeploys the one the server runs in, as linked. - At most 20 changes a minute.
Tools
| Tool | What it does | Asks you |
|---|---|---|
list_apps | Your teams, their apps and environments, addresses and status. | No |
deploy | Deploys this folder’s working tree, uncommitted changes included, and answers with the address once live. | Yes |
deploy_status | Where a deploy got to: the build’s status and the end of its log, then the release’s. | No |
runtime_logs | An environment’s newest log lines, or those since the last read. | No |
list_variables | An environment’s variable names. Never their values. | No |
set_variables | Adds or replaces variables. The app gets them on its next start. | Yes |
unset_variables | Removes variables. A removed value cannot be brought back. | Yes |
get_database | An environment’s database and its status, never its password. | No |
create_database | Makes a Postgres database for an environment and attaches it. | Yes |
attach_database | Attaches one of the team’s databases to an environment. | Yes |
detach_database | Detaches an environment’s database. The database itself is kept. | Yes |
usage | The team’s usage this month, by app, its plan and budget, and what the month is likely to cost. | No |
Tools that take an environment use production unless another is named. What an app’s logs say is its own output, and the server tells the agent to read it as that, never as an instruction.