About agenthost
agenthost is a remotely hosted MCP server for managing web hosting, including sites, apps, databases, and domains. It is intended for agents and MCP clients; authentication uses browser-based OAuth or a bearer API token for unattended clients.
Key features
- 01Manage hosting through an MCP server
- 02Deploy sites, apps, databases, and domains
- 03Connect remotely over Streamable HTTP
- 04Authenticate with OAuth or bearer token
Use cases
- 01Deploy a website through an MCP client
- 02Manage an app and its hosting resources
- 03Connect an unattended client using an API token
MCP support
The remote MCP server is available at https://agenthost.eu/mcp over Streamable HTTP. MCP clients authenticate through OAuth, or can send a bearer API token when browser sign-in is unavailable.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://agenthost.eu/mcpclaude mcp add --transport http eu-agenthost-agenthost https://agenthost.eu/mcp{"mcpServers":{"eu-agenthost-agenthost":{"type":"http","url":"https://agenthost.eu/mcp"}}}Open in Cursor{"servers":{"eu-agenthost-agenthost":{"type":"http","url":"https://agenthost.eu/mcp"}}}Open in VS Code{"mcpServers":{"eu-agenthost-agenthost":{"type":"http","url":"https://agenthost.eu/mcp"}}}{"mcpServers":{"eu-agenthost-agenthost":{"serverUrl":"https://agenthost.eu/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
Details
From the project READMEagenthost MCP server
agenthost is agent-first web hosting, driven entirely
through an MCP server. This repository holds the MCP Registry
listing for it — server.json — and the workflow that publishes
that listing.
agenthost is a remote MCP server: it is hosted by agenthost and reachable over
Streamable HTTP
at https://agenthost.eu/mcp. There is nothing to install locally.
- Registry name:
eu.agenthost/agenthost - Endpoint:
https://agenthost.eu/mcp(Streamable HTTP) - Website: https://agenthost.eu
The server code itself lives in agenthost's private control-panel repository; this repository only carries the public registry metadata.
Connecting
Point any MCP client that speaks Streamable HTTP at https://agenthost.eu/mcp.
Authentication is handled by the client's OAuth flow — you sign in (or sign up) at
agenthost in your browser, so there is no token to paste. For unattended clients
that cannot open a browser, agenthost can mint a long-lived API token to send as a
Bearer header.
Example client configuration:
{
"mcpServers": {
"agenthost": {
"type": "streamable-http",
"url": "https://agenthost.eu/mcp"
}
}
}
Publishing
Publishing is automated with GitHub Actions (.github/workflows/publish-mcp.yml).
The registry entry is namespaced under eu.agenthost — the reverse-DNS form of
agenthost.eu — and ownership is proven with DNS authentication: a TXT record
on the apex of agenthost.eu holds the public half of an Ed25519 signing key, and
the workflow signs with the private half stored in the MCP_PRIVATE_KEY secret.
- Every push and pull request validates
server.jsonagainst the official schema (mcp-publisher validate) — no secret required. - Pushing a
v*tag (or running the workflow manually) publishes to the registry. On a tag, the published version is taken from the tag, so the git tag is the single source of truth for the registry version.
To cut a release:
git tag v0.1.0
git push origin v0.1.0
Verify afterwards:
curl "https://registry.modelcontextprotocol.io/v0.1/servers?search=eu.agenthost/agenthost"
One-time DNS auth setup
Generate the signing key on a trusted machine (needs OpenSSL 3+), so the private key never leaves your control:
# 1. Generate an Ed25519 key pair
openssl genpkey -algorithm Ed25519 -out key.pem
# 2. Build the DNS TXT record (public key)
PUBLIC_KEY="$(openssl pkey -in key.pem -pubout -outform DER | tail -c 32 | base64)"
echo "agenthost.eu. IN TXT \"v=MCPv1; k=ed25519; p=${PUBLIC_KEY}\""
# 3. Extract the private key for the GitHub secret
openssl pkey -in key.pem -noout -text | grep -A3 'priv:' | tail -n +2 | tr -d ' :\n'; echo
Then:
- Add the TXT record from step 2 on the apex of
agenthost.eu(agenthost.eu, not a_mcp-authsubdomain). Wait for it to propagate. - Add the private key from step 3 as a repository secret named
MCP_PRIVATE_KEY(Settings → Secrets and variables → Actions). For stronger protection, store it instead on a GitHub Environment namedmcp-registry-publishand restrict that environment to the default branch and release tags — the workflow already references that environment. - Delete
key.pemonce the secret is stored.
If you rotate the key, remove the old TXT record from the apex — a stale record is tried first and will fail verification.
Editing server.json
server.json follows the MCP Registry
server.schema.json
(the $schema field pins the exact version). Keep the remotes[].url in sync with
the production endpoint, and keep description within the schema's 100-character
limit. CI validates every change, so a malformed edit fails in review.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.