Skip to main content

The Hub Endpoint

The Hub is a single MCP URL that gives your AI access to every tool from every enabled bundle — no need to configure multiple endpoints.

https://mcp.mcpbundles.com/hub/

Enable a bundle, and its tools instantly appear in the Hub. Disable it, and they disappear. One URL, all your tools.

Hub vs Bundle Endpoints

Hub (/hub/)Bundle (/bundle/{slug})
ScopeAll enabled bundlesSingle bundle
ToolsEverything you've enabledOnly that bundle's tools
ExecutionAlways DynamicDirect or Dynamic
Best forCross-service workflowsFocused, single-domain work
CredentialsUses each bundle's own bindingsUses that bundle's bindings

Both are valid MCP endpoints. Use whichever fits your workflow.

How it works

The Hub uses Dynamic execution mode — the same system that powers large bundles. Instead of dumping hundreds of tool definitions into your AI's context, the Hub starts with a small set of discovery and execution tools:

  • list_bundles — See which bundles you have enabled
  • search_tools — Find tools across all your bundles by keyword or description
  • get_tool_info — Get the full schema for a specific tool before calling it
  • code_execution — Run tools programmatically in a Python sandbox
  • validate_bundle — Test that a bundle's credentials are working
  • health_check — Diagnose connectivity issues

Your AI discovers what it needs, executes it, and returns the result — without flooding context with tool definitions it won't use.

The code execution model

When your AI needs to call a tool through the Hub, it writes Python code that runs in a sandboxed environment:

# Step 1: Find the right tool
tools = await search_tools("send email")

# Step 2: Call it — bundle parameter routes to the correct credentials
result = await resend_send_email_a1b(
bundle="resend",
to="team@example.com",
subject="Weekly report",
html="<p>Report attached.</p>"
)
print(result['data'])

Key rules:

  • Every tool call requires a bundle parameter to route to the correct credentials
  • Only print() output returns to the conversation — intermediate results stay in the sandbox
  • Tool functions have unique hash suffixes (e.g., resend_send_email_a1b) — always discover the exact name first via list_tools or search_tools
  • The sandbox has a 120-second timeout per execution

This means your AI can chain multiple tools, transform data between calls, and return only the final result — keeping the conversation clean.

Cross-bundle workflows

The Hub's real power is combining tools from different services in a single execution:

# Pull data from HubSpot, analyze with PostHog, send via Resend
contacts = await hubspot_list_contacts_f2c(bundle="hubspot-crm")
events = await posthog_get_events_d4a(bundle="posthog", person_id=contacts['data'][0]['id'])

summary = f"Contact has {len(events['data'])} events this week"
await resend_send_email_a1b(bundle="resend", to="sales@example.com", subject="Weekly sync", html=summary)
print("Done — email sent")

Each tool call uses that bundle's own credential bindings. No credential conflicts, no manual routing.

When to use Hub vs a Bundle endpoint

Use the Hub when:

  • You want one URL configured in your AI client
  • Your workflows span multiple services
  • You prefer dynamic discovery over a fixed tool list

Use a Bundle endpoint when:

  • You want a small, focused tool set (Direct mode — tools load instantly)
  • You're building an Agent that only needs one service
  • You want the simplest possible setup

You can use both at the same time — the Hub and individual bundle endpoints don't conflict.

Setting up the Hub

  1. Enable bundles — Go to the Catalog and enable the bundles you want
  2. Add credentials — Each bundle needs valid credentials for its provider
  3. Copy the Hub URL — Available on your Bundles page or from https://mcp.mcpbundles.com/hub/
  4. Add to your AI client — Paste the URL into Cursor, Claude Desktop, or any MCP-compatible client

See Connecting Your AI for client-specific setup instructions.