Guide · Model Context Protocol

Connect the Service4AI MCP server to your agent

One line of config, and your AI agent can rent a human, track their mission, estimate their sighs and check whether tomorrow is a French bridge day. Works with Claude Code, Claude, Cursor, VS Code, ChatGPT and any MCP client that speaks HTTP.

Server URL https://mcp.service4ai.com/v1/en

At a glance

URL (English)https://mcp.service4ai.com/v1/en
URL (French)https://mcp.service4ai.com/v1
TransportStreamable HTTP, stateless (POST only)
AuthenticationNone during the beta. An Authorization: Bearer s4ai_test_… header is accepted but optional.
ProtocolVersions 2025-11-25, 2025-06-18, 2025-03-26 and 2024-11-05
PriceFree. Nothing is billed, and no human is actually sent.

Site under construction, server in beta. The tools really answer, with simulated missions: nobody will get up for you. No data is stored; a mission only exists in its identifier.

Claude Code

One command in your terminal:

Terminal
claude mcp add --transport http service4ai https://mcp.service4ai.com/v1/en

Add --scope user to make it available in all your projects. In a session, the /mcp command shows the server status and its five tools.

Claude (web and desktop app)

Remote MCP servers are added as custom connectors, depending on your plan:

  1. Open Settings → Connectors.
  2. Choose Add custom connector.
  3. Name: Service4AI. URL: https://mcp.service4ai.com/v1/en. Leave the OAuth settings empty.
  4. In a conversation, turn the connector on from the tools menu.

The connector is then available on claude.ai and in the desktop app.

Cursor

Add the server to ~/.cursor/mcp.json (all projects) or to .cursor/mcp.json at the root of a project:

mcp.json
{
  "mcpServers": {
    "service4ai": {
      "url": "https://mcp.service4ai.com/v1/en"
    }
  }
}

The server then shows up in Cursor's MCP settings, where you can turn it on or off.

VS Code (GitHub Copilot)

Create .vscode/mcp.json in your project:

.vscode/mcp.json
{
  "servers": {
    "service4ai": {
      "type": "http",
      "url": "https://mcp.service4ai.com/v1/en"
    }
  }
}

The tools are then offered to Copilot Chat in agent mode.

ChatGPT

ChatGPT accepts remote MCP servers in developer mode, depending on your plan:

  1. Turn on developer mode in the connectors (or apps) settings.
  2. Create a connector with the URL https://mcp.service4ai.com/v1/en and authentication set to None.
  3. Turn it on in a conversation. ChatGPT may ask for confirmation before tools that change something (renting or cancelling).

ChatGPT's menus change often: if a label differs, look for “MCP” or “connector” in the settings.

Other clients

Any client that supports the Streamable HTTP transport works with the URL alone. For a client that only knows local (stdio) servers, go through the mcp-remote bridge:

stdio configuration
{
  "mcpServers": {
    "service4ai": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.service4ai.com/v1/en"]
    }
  }
}

To explore the tools without an agent, the official inspector does the job: npx @modelcontextprotocol/inspector, transport “Streamable HTTP”, then the server URL.

Exposed tools

French names (louer_humain, suivre_mission…) are accepted on both URLs.

ToolParametersWhat it does
rent_humantask, place, motivation_level…Creates a mission. Same parameters as POST /v1/humans/rent.
track_missionidReturns the status, the current step, the number of sighs and the blurry photo proof.
cancel_missionidCancels an unfinished mission, as far as possible: a human who already left finishes their coffee.
estimate_sighstask, motivation_level, monday_tolerancePredicts the number of sighs before you launch the mission.
check_public_holidaydate (default: tomorrow)Tells you whether a date is a French public holiday, a bridge day, or “a bit of both”.

Available tasks: bakery_line, complain, cerfa_stamp, wine_tasting, cheek_kiss, paris_parking, it_depends. Details and prices are in the catalog.

Example prompts

Once the server is connected, just talk to your agent:

  • “Rent a human to stand in line at the bakery on rue des Martyrs tomorrow at 8 am.”
  • “How many sighs to get a Cerfa form stamped on a Monday?”
  • “Is the Friday after Ascension Day a bridge day in France?”
  • “Send someone to grumble at customer service for me, intensity 4.”
  • “How is the mission you started earlier going?”

The server warns the agent that humans have lunch from noon to 2 pm (Paris time) and don't work on May 1st. Well-mannered agents take it into account.

Test with curl

The server speaks JSON-RPC 2.0 over a plain POST request, with no session to open:

Terminal
curl https://mcp.service4ai.com/v1/en \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"estimate_sighs","arguments":{"task":"cerfa_stamp"}}}'
Response (excerpt)
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "structuredContent": {
      "task": "cerfa_stamp",
      "estimated_sighs": 4,
      "range": [3, 6],
      "confidence": "it depends"
    },
    "isError": false
  }
}

Replace tools/call with tools/list (without params) to get the list of tools and their schemas.

Troubleshooting

SymptomCause and fix
405 on a GETThe server is stateless and opens no SSE stream: only POST requests are accepted. Pick the “HTTP” or “Streamable HTTP” transport, not the legacy “SSE” one.
The client asks for an OAuth loginNo authentication is required. Leave the OAuth fields empty, or choose “None”.
Answers come back in FrenchUse https://mcp.service4ai.com/v1/en, or send Accept-Language: en.
The mission stays in coffee_breakThat's normal. Don't retry, the human is coming back.
Error 503, human on strikeA feature, not a bug. See the error codes.

Something else? Write to contact@service4ai.com. A human will answer, after their coffee.