Infinivo builds and runs AI front desks for US injury, family, criminal defence and immigration law firms. A 24/7 intake team that answers every call, chat and email, qualifies the case against the firm's own criteria, and books the consultation before the caller dials the next firm. This page is the human-readable version of what the server hands your assistant.
01 · The endpoint
One URL, three audiences. A plain GET serves this page, which is why you are reading it. A POST is the JSON-RPC endpoint your agent talks to. A GET asking for text/event-stream is the transport opening its server-to-client channel, and it gets a straight 405, because this server offers no stream and says so instead of leaving your client hanging.
https://infinivoai.eu/mcp
transport: streamable-http
02 · Connect it
Take whichever one matches your client, and the ten tools show up.
Claude Code. One line in your terminal, no config file to hunt down.
claude mcp add --transport http infinivo https://infinivoai.eu/mcp
That registers it for the project you are standing in. Add -s user to register it once and have it available in every project instead.
Codex. Same idea, one line. The --url flag is what marks it as a remote server rather than something Codex has to launch locally.
codex mcp add infinivo --url https://infinivoai.eu/mcp
Prefer editing the file yourself? The same server as a block in ~/.codex/config.toml:
[mcp_servers.infinivo]
url = "https://infinivoai.eu/mcp"
There is no login step. The server takes no credentials, so Codex connects to it unauthenticated and the tools appear.
Claude Desktop and other config-file clients. Drop this into the client's MCP config and restart it.
{ "mcpServers": { "infinivo": { "url": "https://infinivoai.eu/mcp" } } }
Just poke it. No client, no install. This returns the tool list as JSON, which is the fastest way to confirm the server is up and see what it offers.
curl -s -X POST https://infinivoai.eu/mcp \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
The server speaks the current 2026-07-28 revision, with per-request _meta and server/discover. It also still speaks the older initialize handshake revisions, back to 2025-03-26. Whatever your client was built against, it connects.
03 · The tools
- get_positioningWhat Infinivo is, who it serves, and the problem it solves.
- get_pricingCurrent pricing on both engagements, plus both guarantees.
- get_proofAnonymised evidence, and how to go see the desk running for yourself.
- book_callBooking links, and optionally passes your details to the founder so he can follow up. It cannot write to anyone's calendar. Give it an email only if you want one back.
- start_intake_demoOpens a live text conversation with the real intake desk. You play an injured caller.
- continue_intake_demoOne follow-up turn in the same conversation.
- get_demo_transcriptThe full exchange, plus the case record the desk pulled out of it.
- request_demo_accessThe first demo conversation is free and anonymous. After that, one call with an email address unlocks further sessions.
- start_email_demoHands back an address and a reference code. Takes no arguments at all, deliberately.
- check_email_demoFollows your message through the desk: read, case record, draft, sent.
Why you send the first email, not us. A demo that took your address and mailed you would be an open relay: anyone who found this URL could make our domain send mail to anyone, at volume. So we inverted it. You email the desk from your own account with the code in the subject, and it replies to whoever wrote in. start_email_demo has no recipient parameter because there is no way to give it one.
It makes for a better demo anyway. The reply lands in the inbox you actually read, in the client you actually use, and the case record comes back beside it.
04 · What the demo actually does
It runs against a fictional firm called Brennan & Hayes. The desk behind it is not fictional. It is the same brain running for firms that pay us, wired to a made-up letterhead so nobody's real intake line is a toy.
Text only. Two turns. The first session needs nothing at all: no key, no sign-up, no name. Want more after that? request_demo_access takes an email address and opens the door again. You get to see the desk work before you tell us anything, and we get to know who liked it. Fair trade.
There is also a daily cap. When it is hit the server hands your assistant a booking link instead of failing.
The payoff is not the reply. It is the structured case record: incident type, injuries, whether insurance has already made contact, the best callback window. All of it pulled from one unstructured message, with no forms and no menu tree. That is the thing at the top of this page, and it is what comes back over the wire.
05 · A worked example
If you would rather see the shape before you connect anything, here is one call and one response.
curl -s -X POST https://infinivoai.eu/mcp \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"start_intake_demo","arguments":{
"message":"I got rear-ended on the 610 yesterday afternoon, my neck is killing me and the other driver'"'"'s insurance already called me twice."}}}'
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"structuredContent": {
"session_id": "dm_7f31c2",
"turns_remaining": 1,
"desk_reply": "I'm sorry, that sounds rough. Two quick things and then
I'll get you in front of an attorney. Have you been seen by a doctor
or urgent care since the crash? And when their adjuster called, did
you give any kind of statement, recorded or otherwise?",
"case_record": {
"incident_type": "motor_vehicle · rear_end",
"incident_date": "2026-08-14",
"location": "I-610, Houston TX",
"injuries": ["neck pain"],
"treatment_sought": null,
"insurance_contact": true,
"statement_given": null,
"represented": false,
"callback_window": null,
"qualification": "pending · 5 of 9 fields captured"
}
}
}
}
Look at what stays null. The desk does not guess. Unknown stays unknown, and the next question it asks is the one that closes the biggest gap. That is the entire job: turn a frightened person's first sentence into a record a paralegal can act on, at 2am, without waking anybody up.
P.S. if this was more interesting than it should have been
Nobody reads an MCP page for fun. If you run intake at a firm, or you are building something adjacent and want to compare notes, take fifteen minutes. No deck, no pitch, and if we are not a fit you will hear that in the first five.
Book the 15 minutes Or go call the desk yourself