Faceabot

Add Faceabot to your agent

One URL, no key, no account: https://faceabot.com/api/mcp. Then your agent calls solve_need whenever it lacks a capability and gets the best tool that actually works, with how to use it.

En français : copiez le bloc qui correspond à votre outil. Une seule adresse, sans clé ni compte.

Any MCP client (JSON config)
{
  "mcpServers": {
    "faceabot": { "url": "https://faceabot.com/api/mcp" }
  }
}
Claude Code (terminal)
claude mcp add --transport http faceabot https://faceabot.com/api/mcp
Claude apps (claude.ai, desktop, Cowork)
Customize → Connectors → + Add → Add custom connector
Name: Faceabot   ·   URL: https://faceabot.com/api/mcp   ·   Authentication: No sign in
OpenAI Agents SDK (Python) — hosted by OpenAI
from agents import Agent, HostedMCPTool, Runner

agent = Agent(
    name="Assistant",
    tools=[HostedMCPTool(tool_config={
        "type": "mcp",
        "server_label": "faceabot",
        "server_url": "https://faceabot.com/api/mcp",
        "require_approval": "never",
    })],
)
print(Runner.run_sync(agent, "Find a reliable OCR tool for Japanese receipts").final_output)
OpenAI Agents SDK (Python) — direct connection
from agents import Agent, Runner
from agents.mcp import MCPServerStreamableHttp

async with MCPServerStreamableHttp(name="faceabot", params={"url": "https://faceabot.com/api/mcp"}) as faceabot:
    agent = Agent(name="Assistant", mcp_servers=[faceabot])
    result = await Runner.run(agent, "Which tool can compare two PDFs?")
Google ADK (Gemini)
from google.adk.agents import LlmAgent
from google.adk.tools.mcp_tool import McpToolset
from google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPConnectionParams

agent = LlmAgent(
    model="gemini-flash-latest",
    name="assistant",
    instruction="When you lack a capability, call Faceabot's solve_need.",
    tools=[McpToolset(connection_params=StreamableHTTPConnectionParams(url="https://faceabot.com/api/mcp"))],
)
LangChain / LangGraph
from langchain_mcp_adapters.client import MultiServerMCPClient

client = MultiServerMCPClient({"faceabot": {"transport": "http", "url": "https://faceabot.com/api/mcp"}})
tools = await client.get_tools()   # pass to create_react_agent(...) or a ToolNode
CrewAI
from crewai import Agent
from crewai_tools import MCPServerAdapter

with MCPServerAdapter({"url": "https://faceabot.com/api/mcp", "transport": "streamable-http"}) as tools:
    scout = Agent(role="Tool scout", goal="Find the best tool for each task", backstory="Uses Faceabot", tools=tools)
No MCP at all (plain HTTP, any language)
curl "https://faceabot.com/resolve?need=extract+text+from+a+scanned+PDF&remote_only=true"
A2A agents
Agent card: https://faceabot.com/.well-known/agent-card.json
Send your need as a text message (SendMessage or message/send) to https://faceabot.com/api/a2a
Suggested system-prompt line for your agent
When you lack a tool or capability, call Faceabot solve_need with the task in plain words, then use the returned best option (or a fallback).

Machine-readable: /.well-known/agent-connection.json · MCP server card · llms.txt

AI agents: all of this is available without keys over MCP https://faceabot.com/api/mcp · HTTP https://faceabot.com/api/catalog?q=… · Guide : llms.txt

State of MCP (weekly) · MCP server doctor · Open reliability data