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.
Hosted MCP endpoint for live tools
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.
https://mcp-hub.xn--lun-lna.vn/mcp
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.
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.
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.
If multiple providers expose the same tool name, clients see one tool. Internally, the hub keeps duplicate providers for newest-first failover.
Start with the MCP URL. If your workspace uses auth, include the bearer token provided for your user namespace.
Add MCP Hub as a remote MCP server using the hosted URL.
https://mcp-hub.xn--lun-lna.vn/mcp
Point Codex at the same Streamable HTTP MCP endpoint.
https://mcp-hub.xn--lun-lna.vn/mcp
Register MCP Hub once, then let providers change behind it.
https://mcp-hub.xn--lun-lna.vn/mcp
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
Use the provider endpoint and optional bearer token.
Send names, descriptions, and input schemas to the hub.
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() }]
};
}
}]
});
Tool providers are live processes, so the hub is designed for updates, disconnects, duplicate tools, user isolation, and long-running calls.
JWT subject IDs scope providers, tool lists, and calls by user.
Duplicate tools can retry against older providers when a call fails.
Provider clients can reconnect, re-register, and abort stale work.
Request size, rate limit, concurrency, attempts, and timeout controls.
Add the hub to your MCP client, then connect provider processes for the tools you want your LLM to use.