Hosted MCP endpoint for live tools

Give your MCP client one URL for every tool.

MCP Hub is a hosted bridge between LLM clients and tool providers. Add the hub to Claude, Codex, opencode, or any MCP client once, then let connected providers publish tools in real time.

See how it works
https://mcp-hub.xn--lun-lna.vn/mcp
Claude-ready Codex-ready opencode-ready Stateful + stateless MCP
How it works

The hub keeps clients simple and tools dynamic.

Your LLM talks to one stable MCP endpoint. Tool providers can appear, update, fail, reconnect, or disappear behind the hub without changing the client configuration.

Client → Hub → Provider → Hub → Client.

MCP Hub receives tool calls from the LLM client, forwards each call to the selected provider over JSON-RPC, then returns the provider result through the same MCP request flow.

1. Configure Add the hosted MCP URL to your client.
2. Register Providers connect and publish schemas.
3. Discover The client sees current tools from the hub.
4. Execute Calls route to providers with IDs and timeouts.

Real-time tool changes.

When a provider registers, updates, or disconnects tools, the hub can notify MCP clients with tools/list_changed so users see the current tool surface.

One clean tool list.

If multiple providers expose the same tool name, clients see one tool. Internally, the hub keeps duplicate providers for newest-first failover.

Use the hub

Paste the hosted endpoint into your MCP client.

Start with the MCP URL. If your workspace uses auth, include the bearer token provided for your user namespace.

Claude

Add MCP Hub as a remote MCP server using the hosted URL.

https://mcp-hub.xn--lun-lna.vn/mcp

Codex

Point Codex at the same Streamable HTTP MCP endpoint.

https://mcp-hub.xn--lun-lna.vn/mcp

opencode

Register MCP Hub once, then let providers change behind it.

https://mcp-hub.xn--lun-lna.vn/mcp
Bring your tools

Connect providers only when you want to expose tools.

A provider is any process that knows how to run a tool: search a database, read internal docs, call an API, or automate a workflow. It connects to the hub, declares MCP-compatible tool schemas, and handles calls from the LLM.

wss://mcp-hub.xn--lun-lna.vn/clients/ws
1
Connect over WebSocket

Use the provider endpoint and optional bearer token.

2
Register MCP tools

Send names, descriptions, and input schemas to the hub.

3
Handle tool calls

Return MCP content or errors through JSON-RPC responses.

// provider example with client.ts
import { connectProviderClient } from "./client.ts";

await connectProviderClient({
  url: "https://mcp-hub.xn--lun-lna.vn",
  token: Deno.env.get("MCP_HUB_TOKEN"),
  tools: [{
    tool: {
      name: "search_docs",
      description: "Search documentation",
      inputSchema: {
        type: "object",
        properties: { query: { type: "string" } },
        required: ["query"]
      }
    },
    async handler(args, signal) {
      const res = await fetch("/search", {
        method: "POST",
        body: JSON.stringify(args),
        signal
      });

      return {
        content: [{ type: "text", text: await res.text() }]
      };
    }
  }]
});
Built for moving tools

The hub handles the messy parts between client and provider.

Tool providers are live processes, so the hub is designed for updates, disconnects, duplicate tools, user isolation, and long-running calls.

User isolation

JWT subject IDs scope providers, tool lists, and calls by user.

Provider failover

Duplicate tools can retry against older providers when a call fails.

Reconnect-aware

Provider clients can reconnect, re-register, and abort stale work.

Operational limits

Request size, rate limit, concurrency, attempts, and timeout controls.

Start with the hosted MCP URL.

Add the hub to your MCP client, then connect provider processes for the tools you want your LLM to use.