One MCP endpoint. 409+ tools. Works with every major AI framework.
https://apibase.pro/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_..."}
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
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"apibase": {
"serverUrl": "https://apibase.pro/mcp",
"transport": "streamable-http"
}
}
}
Or: Windsurf → Cascade → MCP Tools → Add Server
from agents import Agent
from agents.mcp import MCPServerStreamableHTTP
async with MCPServerStreamableHTTP(
url="https://apibase.pro/mcp",
headers={"Authorization": "Bearer ak_live_..."}
) as server:
tools = await server.list_tools()
agent = Agent(
name="my-agent",
instructions="You have access to 409+ real-world API tools.",
mcp_servers=[server]
)
result = await Runner.run(agent, "Search flights from NYC to London")
import { MCPServerStreamableHTTP } from "@openai/agents/mcp";
const server = new MCPServerStreamableHTTP({
url: "https://apibase.pro/mcp",
headers: { Authorization: "Bearer ak_live_..." }
});
await server.connect();
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
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
from crewai import Agent, Task, Crew
agent = Agent(
role="Research Assistant",
goal="Find real-time data using 409+ 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.
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.
# 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 '{}'
409+ 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")'
Most agents need 3 types of tools: browser (Playwright), docs (Context7), and real-world data (APIbase). Configure all three together:
{
"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 = 409 real-world APIs (flights, stocks, weather, jobs, e-commerce). Each covers a different need — no overlap.
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.
from agents.mcp import MCPServerStreamableHTTP, MCPServerStdio
apibase = MCPServerStreamableHTTP(url="https://apibase.pro/mcp")
playwright = MCPServerStdio(command="npx", args=["-y", "@playwright/mcp"])
context7 = MCPServerStdio(command="npx", args=["-y", "@upstash/context7-mcp"])
agent = Agent(
name="research-agent",
instructions="You have browser, docs, and 409 real-world API tools.",
mcp_servers=[apibase, playwright, context7]
)
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)