Skip to content
MCP ThesaurusMCP Thesaurus

agenthost

CommunityIncomplete39/100Claim

streamable-httpupdated 19d ago

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.

SourceWebsite

What can you do with agenthost?

agenthost 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.json against 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:

  1. Add the TXT record from step 2 on the apex of agenthost.eu (agenthost.eu, not a _mcp-auth subdomain). Wait for it to propagate.
  2. 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 named mcp-registry-publish and restrict that environment to the default branch and release tags — the workflow already references that environment.
  3. Delete key.pem once 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.