Skip to main content
Do this when the MCP server lives somewhere AgentArea cannot reach: a Kubernetes cluster, an office network, a VPC with no inbound rules. A small client, frpc, runs next to the server and dials out to relay.agentarea.ru on port 443. The server then answers at https://<subdomain>.relay.agentarea.ru, and AgentArea calls it like any remote server. Nothing is opened in your network. If the server already has a public URL, skip the relay and connect it directly.
The relay is a pilot. Every client uses one shared relay token, so anyone holding it could take a subdomain that is not connected at the moment. Each tunnel is still guarded by its own password, which is checked before any request reaches your server. Per-workspace tokens are planned.

Prerequisites

  • The relay token. Ask the AgentArea team for it; it is not self-service yet.
  • A host or pod next to the MCP server that can open outbound HTTPS to relay.agentarea.ru:443, with Docker or Kubernetes.
  • The server’s MCP endpoint as seen from that host, for example http://grafana-mcp:8000/mcp, and the credential the server itself expects. Run the server with its own authentication: the relay forwards whatever passes the tunnel password.

Steps

1

Pick a subdomain and a tunnel password

The subdomain is global across all relay users, so prefix it with your workspace, for example acme-grafana. Generate the password:
2

Write frpc.toml

frpc substitutes {{ .Envs.NAME }} from its environment, so no secret sits in the file.
Add hostHeaderRewrite = "<name>" when the server only accepts a known Host. Add one [[proxies]] block per server.
3

Run frpc

With Docker:
In Kubernetes, run the same image as a one-replica Deployment. Mount frpc.toml from a ConfigMap, and pass the three values from a Secret as environment variables. It needs no Service and no ServiceAccount token. Pin the image tag: frp is pre-1.0, and its config format has changed between releases.
4

Register the tunnel in AgentArea

Create a URL connection as in Connect a remote MCP server. Use the tunnel URL plus the server’s own path, and send the tunnel password as Basic auth:
Then set which tools agents may call on the connection’s Tools tab.

Verify

frpc logs start proxy success once per tunnel:
The tunnel refuses a request without the password and answers one with it:
A JSON-RPC result carrying the server’s serverInfo means the request crossed the relay, the tunnel and your server. In AgentArea, the instance’s verification.status should be succeeded.

Troubleshooting

TLS to relay.agentarea.ru:443 did not complete. Check that the host can open outbound HTTPS, and that transport.protocol is wss: plain tcp on port 443 fails this way.
Another client holds that subdomain. Pick a different, workspace-prefixed subdomain.
No frpc is connected for that subdomain right now. Check that frpc is running and logged start proxy success.
The relay accepted the password, and your server rejected the Bearer that frpc set. Check MCP_TOKEN. If the server checks the Host header, set hostHeaderRewrite.
Last modified on November 1, 2026