AI receptionist for US businesses: free test line, then 25c a minute. Meeting notes, video formats.
One address for any MCP client. No sign-in needed on this server.
8 read5 act
Grouped by tool name. At most: moves money, runs code or commands, deletes data, or sends messages for you.
Odel charges nothing per call. The publisher may charge for its own service.
Odile is a hosted, paid service run by OdileUSA L.L.C. This repository holds only the MCP connector listing and instructions, not the service's source code, and is not open source.
A hosted Model Context Protocol server at
https://odilelabs.com/mcp, so an agent — Claude Code, Codex, or anything else
that speaks MCP — can work with Odile Labs on a person's behalf.
Before any sign-in, four tools answer:
get_receptionist_benchmark — Odile Labs' published benchmark of AI phone
receptionists: real test calls to public lines, scored against stated
measures, with the evidence per measure. Run by Odile Labs, which sells two
of the lines tested, and the output says so first.get_answering_line_offer — the After Hours answering line billed per
minute: the packs, what is charged, what happens at zero, and what the owner
has to do.get_catalog and estimate_media_job — the live Odile Formats price
list, and the price of a job before anything is uploaded.Signed in, the agent can use:
try_answering_line returns a shared test number and a
4-digit code; calling it reaches an AI receptionist answering as the business
the agent described. Nothing is booked, sent or charged. Any signed-in account.The monthly After Hours plans (United States and Canada) and Dusklin, the same receptionist sold everywhere else, are still set up on the website (odilelabs.com/afterhours, dusklin.com). The per-call line is the one set up through this server, for businesses in the United States, billed per minute.
This repository is the public record of the server: what it exposes, how it authenticates, and what it costs. The service itself is closed source.
Streamable HTTP, at https://odilelabs.com/mcp. Claude Code:
claude mcp add --transport http odile https://odilelabs.com/mcp
Anything else that takes a remote MCP URL works the same way. Sign-in happens in a browser on first use.
Four tools are public; everything that touches an account is OAuth 2.1.
Without a token, a client can complete the handshake, list the tools, and call
get_receptionist_benchmark, get_answering_line_offer, get_catalog and
estimate_media_job — constants, arithmetic and a published dataset, none of it
about any account. Every other tool, and any request that carries a token
(valid or not), gets the standard 401 with the discovery header the MCP
specification asks for:
WWW-Authenticate: Bearer realm="OAuth",
resource_metadata="https://odilelabs.com/.well-known/oauth-protected-resource/mcp"
Both documents a client needs are served:
https://odilelabs.com/.well-known/oauth-protected-resourcehttps://odilelabs.com/.well-known/oauth-authorization-serverPermissions are ticked on a consent screen. The two that lead to a payment,
billing:checkout (checkout links) and lines:manage (the answering line), start
unticked; the owner ticks them. A connection made before they existed does not
gain them: reconnect and tick them.
Nothing on this server takes a card. buy_pack and set_up_answering_line
return a Stripe Checkout link, and nothing is charged until the owner pays on
Stripe's page. unlock_job is the only tool that spends a balance a person
already holds, and it never runs without a ceiling the owner agreed to.
Sixteen are always present. Four more appear only on a deployment with Meeting Notes enabled, so a client that sees twenty and a client that sees sixteen are both correct.
| Tool | What it does |
|---|---|
get_receptionist_benchmark | The published receptionist benchmark: date, lines tested, points by scenario, the fairness note and the limitations. Filter by line_id or scenario_id; pass include_evidence for the quoted evidence per measure. Vendor-run by Odile Labs, and it says so |
get_answering_line_offer | The answering line billed per minute: the packs and their prices, what is charged, what happens at zero, where it is sold, what the owner must do, and the terms link |
get_catalog | The live Odile Formats price list and limits, read from the same source the website charges from |
estimate_media_job | Prices an Odile Formats job before anything is uploaded or charged |
| Tool | What it does |
|---|---|
try_answering_line | Free. A shared test number and a 4-digit code (24 hours, 5 calls; 3 test lines a day per account). Calling it and keying the code reaches an AI receptionist answering as the business described; hear_url plays the same receptionist in a browser. Nothing is booked, sent or charged |
set_up_answering_line | Takes the business details, builds the greeting, and returns a checkout link for the first pack. Runs only after the owner has seen the terms and said yes. Nothing is set up or charged until that pack is paid |
get_answering_line | The owner's own lines: status, the number, the forwarding codes, the balance in minutes, and the last calls charged |
get_line_calls | One line's calls, newest first: time, caller, duration, summary, urgent. No audio links |
get_line_messages | One line's messages, newest first: name, number, what they need, urgent |
The line is paid for in prepaid minute packs, with no monthly fee:
| Pack | Price | Per minute |
|---|---|---|
| 40 minutes | $10 | $0.25 |
| 200 minutes | $50 | $0.25 |
Answered phone calls are billed by the second, with a 20-second minimum. Robocalls, calls from the owner's own numbers, website chats, text messages and calls whose transcript cannot be read are not charged.
At zero the line keeps answering and the balance goes below zero; the next pack
pays that first. The owner is emailed at 5 minutes left, at zero, and at 10
minutes below zero, and nothing switches the line off on its own. The owner
forwards their business line to the new number with their carrier's forwarding
code; get_answering_line returns the codes. The greeting always says the call
is recorded and that the caller is speaking with an AI. Lines set up before
per-minute billing keep their answered-call packs.
The same calls are on a REST API at https://api.odilelabs.com/v1 with an API
key made at odilelabs.com/developers; the
OpenAPI 3.1 spec is odilelabs.com/openapi.json.
| Tool | What it does |
|---|---|
buy_pack | A Stripe Checkout link for an Odile Formats credit pack, a meeting-minute pack, or a phone-minute pack for one of the owner's own answering lines. Returns the link, the price and what the pack adds. The pack is added once Stripe confirms the payment |
| Tool | What it does |
|---|---|
get_balance | The signed-in customer's credit balance and when it expires |
prepare_upload | A 30-minute upload token and the command to use it |
create_media_job | Queues a job from uploaded sources. Costs nothing — credits are spent at unlock |
get_job | One job by id, or the ten most recent |
get_downloads | Signed links to every finished file of a job |
unlock_job | Spends credits. Refuses, charging nothing, if the job costs more than max_credits, is not ready, or the balance is short |
unlock_job takes an explicit max_credits the customer agreed to, and
unlocking the same job twice charges once.
| Tool | What it does |
|---|---|
schedule_meeting_notes | Sends the note-taker to a Zoom, Meet or Teams link at a stated time, for a roster of addresses the owner gave you |
get_meeting | One meeting, or the recent ones |
get_meeting_summary | The summary once the call is done |
cancel_meeting_notes | Cancels a scheduled note-taker |
Meeting minutes are reserved when a call is scheduled and the unused part is returned. Every minute on the call is charged, rounded up to the minute.
Phone minutes for the answering line, credits for media, minutes for meetings,
each bought in prepaid packs and quoted before anything is spent. Phone minutes
are 40 for $10 and 200 for $50 ($0.25 a minute), with no monthly fee, and the
test line is free. get_answering_line_offer,
get_catalog and estimate_media_job are the honest way to find out what
something costs without committing to it. Every price is on
odilelabs.com/developers, is the same for
everyone, and is read live by the server; if this file and the server ever
disagree, the server is right.
server.json is the entry for the
official MCP registry, published
under the com.odilelabs namespace, which is authenticated by DNS on
odilelabs.com.
OdileUSA L.L.C., Florida. odilelabs.com · hello@odilelabs.com