← apibase.pro

# > Connect APIbase from Any Framework

One MCP endpoint. 500+ tools. Works with every major AI framework.

https://apibase.pro/mcp

## Claude Desktop / Claude Code Native MCP

Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):

    {
      "mcpServers": {
        "apibase": {
          "url": "https://apibase.pro/mcp",
          "transport": "streamable-http"
        }
      }
    }

No API key needed — auto-registration on first call. Optional: add "headers": {"Authorization": "Bearer ak_live_..."}

## Cursor IDE GA Jan 2026

Add to `.cursor/mcp.json` in your project root:

    {
      "mcpServers": {
        "apibase": {
          "url": "https://apibase.pro/mcp",
          "transport": "streamable-http"
        }
      }
    }

Or install via Cursor Settings → MCP → Add Server → URL: https://apibase.pro/mcp

## Windsurf (Codeium) Cascade Agent

Add to `~/.codeium/windsurf/mcp_config.json`:

    {
      "mcpServers": {
        "apibase": {
          "serverUrl": "https://apibase.pro/mcp",
          "transport": "streamable-http"
        }
      }
    }

Or: Windsurf → Cascade → MCP Tools → Add Server

## OpenAI Agents SDK Python + TS

### Python (recommended: MCPServerManager)

    from agents import Agent, Runner
    from agents.mcp import MCPServerStreamableHTTP, MCPServerManager

    # MCPServerManager handles lifecycle of all MCP connections
    async with MCPServerManager(
        servers=[
            MCPServerStreamableHTTP(
                url="https://apibase.pro/mcp",
                headers={"Authorization": "Bearer ak_live_..."}
            )
        ]
    ) as manager:
        agent = Agent(
            name="my-agent",
            instructions="You have access to 500+ real-world API tools.",
            mcp_servers=manager.servers
        )
        result = await Runner.run(agent, "Search flights from NYC to London")
        print(result.final_output)

MCPServerManager is the recommended way to manage multiple MCP connections. See official docs.

### TypeScript

    import { MCPServerStreamableHTTP } from "@openai/agents/mcp";

    const server = new MCPServerStreamableHTTP({
      url: "https://apibase.pro/mcp",
      headers: { Authorization: "Bearer ak_live_..." }
    });
    await server.connect();

## LangChain / LangGraph MultiServerMCPClient

    from langchain_mcp_adapters.client import MultiServerMCPClient

    async with MultiServerMCPClient({
        "apibase": {
            "url": "https://apibase.pro/mcp",
            "transport": "streamable_http",
            "headers": {"Authorization": "Bearer ak_live_..."}
        }
    }) as client:
        tools = client.get_tools()
        # Use with any LangChain agent
        from langgraph.prebuilt import create_react_agent
        agent = create_react_agent(model, tools)

Install: pip install langchain-mcp-adapters

## Google ADK (Agent Development Kit) v1.0 Stable

    from google.adk.tools.mcp_tool import McpToolset, StreamableHTTPConnectionParams

    toolset = McpToolset(
        connection_params=StreamableHTTPConnectionParams(
            url="https://apibase.pro/mcp",
            headers={"Authorization": "Bearer ak_live_..."}
        )
    )
    tools, exit_stack = await toolset.create_tools()
    # tools is a list of BaseTool — use with any ADK agent

Install: pip install google-adk

## CrewAI URL-based config

    from crewai import Agent, Task, Crew

    agent = Agent(
        role="Research Assistant",
        goal="Find real-time data using 500+ API tools",
        backstory="You have access to APIbase MCP server with tools for flights, weather, stocks, jobs, and more.",
        mcp_servers=["https://apibase.pro/mcp"],
        verbose=True
    )

CrewAI auto-discovers tools via MCP. No manual tool registration needed.

## Microsoft Copilot Studio Enterprise

In Copilot Studio → Actions → Add MCP Server:

Server URL: `https://apibase.pro/mcp`

Transport: Streamable HTTP

Authentication: Bearer token (optional — auto-registration supported)

Requires Microsoft 365 Copilot license. MCP support is GA as of 2026.

## Sunpeak MCP Apps

Sunpeak is an open-source framework for building interactive MCP Apps that run inside ChatGPT and Claude. Connect APIbase as a backend to give your app access to 500 real-world API tools — flights, finance, weather, government data, museums, and more.

    import { createApp } from "sunpeak";

    const app = createApp({
      mcpServers: [
        {
          name: "apibase",
          url: "https://apibase.pro/mcp",
          transport: "streamable-http"
        }
      ]
    });

    // Your app now has access to 500 tools via MCP
    // Use discover_tools prompt to find relevant tools by task
    await app.run();

Install: `pnpm add -g sunpeak` · Docs: sunpeak.ai · No API key required (auto-registration)

## REST / curl (any language) Universal

    # Browse all tools
    curl -s https://apibase.pro/api/v1/tools | jq '.data | length'

    # Call a free tool (no payment needed)
    curl -X POST https://apibase.pro/api/v1/tools/account.usage/call \
      -H "Authorization: Bearer ak_live_..." \
      -H "Content-Type: application/json" \
      -d '{"period": "7d"}'

    # Paid tool → 402 with payment instructions
    curl -X POST https://apibase.pro/api/v1/tools/crypto.trending/call \
      -H "Authorization: Bearer ak_live_..." \
      -H "Content-Type: application/json" \
      -d '{}'

## Progressive Disclosure

500+ tools is too many for any context window. Use `discover_tools` prompt to find relevant tools first:

    # MCP: call the discover_tools prompt
    {"method": "prompts/get", "params": {"name": "discover_tools", "arguments": {"task": "search flights from NYC to London"}}}

    # REST: browse categories
    curl -s https://apibase.pro/api/v1/tools | jq '.data[] | select(.category == "travel")'

## Multi-Server Setup (Recommended)

Most agents need 3 types of tools: browser (Playwright), docs (Context7), and real-world data (APIbase). Configure all three together:

### Claude Desktop / Cursor / Windsurf

    {
      "mcpServers": {
        "apibase": {
          "url": "https://apibase.pro/mcp",
          "transport": "streamable-http"
        },
        "playwright": {
          "command": "npx",
          "args": ["-y", "@playwright/mcp"]
        },
        "context7": {
          "command": "npx",
          "args": ["-y", "@upstash/context7-mcp"]
        }
      }
    }

Playwright = browser automation (2.3M npm/week). Context7 = up-to-date library docs (875K npm/week). APIbase = 500 real-world APIs (flights, stocks, weather, jobs, e-commerce). Each covers a different need — no overlap.

### Why three servers?

Context7 answers "how do I use this library?" — current docs, no hallucination

Playwright answers "what's on this webpage?" — screenshots, clicks, form fills

APIbase answers "what's happening in the real world?" — flight prices, stock quotes, job listings, weather, package tracking

The agent decides which server to call based on the task. No routing logic needed — the LLM reads tool descriptions and picks the right one.

### OpenAI Agents SDK (multi-server via MCPServerManager)

    from agents import Agent, Runner
    from agents.mcp import MCPServerStreamableHTTP, MCPServerStdio, MCPServerManager

    async with MCPServerManager(
        servers=[
            MCPServerStreamableHTTP(url="https://apibase.pro/mcp"),
            MCPServerStdio(command="npx", args=["-y", "@playwright/mcp"]),
            MCPServerStdio(command="npx", args=["-y", "@upstash/context7-mcp"]),
        ]
    ) as manager:
        agent = Agent(
            name="research-agent",
            instructions="You have browser, docs, and 500 real-world API tools.",
            mcp_servers=manager.servers
        )
        result = await Runner.run(agent, "Get AAPL stock price")

## Base MCP Companion Pay From Your Base Account

Base launched their official Base MCP server in May 2026 with native x402 payment support. APIbase is x402-native on Base mainnet via a self-hosted facilitator — the two pair cleanly. Base MCP signs payments from your Base Account; APIbase serves the 600+ tools your agent actually uses.

### Combined config (Claude Desktop / Cursor / Windsurf)

    {
      "mcpServers": {
        "base-mcp": {
          "url": "https://mcp.base.org"
        },
        "apibase": {
          "url": "https://apibase.pro/mcp",
          "transport": "streamable-http"
        }
      }
    }

### What each one does

Base MCP — wallet ops, on-chain swaps (Uniswap, Aerodrome), lending (Morpho, Moonwell), perps (Avantis), and x402 payment signing. Your Base Account handles user approval per transaction.

APIbase — 600+ external API tools (flights, stocks, weather, jobs, music, chess, EV charging, food safety, government docs, …). Pay per call via x402 USDC on Base — signed by your Base Account, settled on-chain by our facilitator.

For Base App users this is the cleanest path: zero API key management (Base Account handles auth), zero per-provider signup (APIbase aggregates 191 providers), one approval flow (Base App pops up for each paid call). Compatible because both sides speak EIP-3009 `transferWithAuthorization` on Base mainnet.

### Quick test from Claude Desktop

After adding both MCP servers to your config and authenticating Base MCP:

    You: "What's the current price of AAPL?"
    Agent: [calls APIbase finnhub.quote — gets 402 with x402 challenge]
    Agent: [hands payment challenge to Base MCP — user approves in Base Account popup]
    Agent: [retries with X-Payment header — APIbase settles on-chain via local facilitator]
    Agent: "AAPL is trading at $187.42 (+0.34%) as of 14:23 ET."

First paid call may take 2–3s longer than free tools (Base mainnet finality). Cache hits on the same tool within TTL skip the on-chain settle entirely — 10% of full price billed via balance debit.

### LangChain (multi-server)

    async with MultiServerMCPClient({
        "apibase": {"url": "https://apibase.pro/mcp", "transport": "streamable_http"},
        "playwright": {"command": "npx", "args": ["-y", "@playwright/mcp"]},
        "context7": {"command": "npx", "args": ["-y", "@upstash/context7-mcp"]}
    }) as client:
        tools = client.get_tools()  # all tools from all 3 servers
        agent = create_react_agent(model, tools)

Home · Dashboard · GitHub · Smithery