All servers · Payments & accounting · Images & design · Shops & products
Odile Labs
com.odilelabs/odile · v1.7.0
New (7 days)Tools changed (7 days)
Measured by MCP Station
| Last check | Reachable |
|---|---|
| Checked at | — |
| Check success 7 / 30 days | — |
| First-try success 30 days | — |
| Median response | — |
| Lookups 30 days | — |
| Authentication | No auth |
| MCP version | 2025-06-18 |
| Rank score | — |
| Declared risk | Can write (some tools are not declared read-only) |
| Capabilities declared | tools |
| Tool definitions | 23 tools · with description 100% · input schema is an object 100% · read/destructive hints 100% |
Description written by the publisher, not verified
Let AI agents message or book businesses that have no API (Odile Direct); phone lines, 25c a minute
Connect
streamable-http · https://odilelabs.com/mcp
claude mcp add --transport http odile https://odilelabs.com/mcp{
"mcpServers": {
"odile": {
"url": "https://odilelabs.com/mcp"
}
}
}Tools as reported by the server
get_agent_servicesRead factual use cases, connections, first steps, free allowances and limitations for Gate API enforcement and Direct business communication. Needs no sign-in or arguments, reads no account and contacts no business.find_business_agentResolve an E.164 number to a public Odile Direct agent card. Free: 30/IP/hour without sign-in; 10000/key/day signed in.send_to_businessSend take_message, check_availability, book or book_first_available (data.options: up to 5 {date, after, before, service} windows in order; fallback take_message or none) through Odile Direct. No sign-in: free with IP caps. Signed in: first 50 completed tasks/account/calendar month free, then deliveget_direct_usageRead the signed-in account’s current calendar-month Direct free-task allowance, prepaid credits and last 20 charged tasks. Uses the same ledger as REST and your developer page. Requires direct:tasks. Changes nothing; phone minutes and media credits are separate.get_direct_paymentFor an existing deposit booking on your signed-in Direct account, reconcile its Stripe Checkout payment and return its receipt and separate booking state. Requires direct:tasks. Uses only the stored merchant account and amount; creates no new charge or booking identity. A verified paid checkout mayget_answering_line_offerThe offer for an After Hours AI phone receptionist on the owner's own business line, prepaid and billed per minute: min40: 40 minutes for $10; min200: 200 minutes for $50 ($0.25 a minute). Real answered phone calls cost $0.25 per minute, billed by the second: each call rounds up to the next whole setry_answering_lineFree, before buying anything: a shared test phone number and a 4-digit code (valid 24 hours, 5 calls). Calling the number and keying the code reaches an AI receptionist answering as the business described here, and hear_url plays the same receptionist in a browser. Nothing is booked, sent or chargedset_up_answering_lineStarts an After Hours AI receptionist for the signed-in owner's business, prepaid and billed per minute (min40: 40 minutes for $10; min200: 200 minutes for $50). Real answered phone calls cost $0.25 per minute, billed by the second: each call rounds up to the next whole second, with a 20-second miniget_sip_addressCreate or read a SIP address and private trunk credentials for one of the signed-in owner's answering lines. Any phone system that can send a call to a SIP address can send calls here with no phone number. SIP calls use the line's normal allowance or prepaid minutes, with no separate SIP price. Keepget_answering_lineThe signed-in owner's own After Hours lines and pending setups. New lines use phone minutes; existing per-call lines retain calls. Returns billing_mode, balance (seconds for minutes, calls for legacy lines), minutes_remaining to one decimal for minute lines, forwarding codes and recent_calls. Callerget_line_callsThe signed-in owner's own line: its calls, newest first. Each item has id, at (ISO), caller (E.164 or null), duration_seconds, summary when there is one, and urgent when known. No audio links; use the owner console to listen. Pass the previous result's next_before as before to page back through oldeget_line_messagesThe signed-in owner's own line: messages the receptionist took, newest first. Each item has id, at (ISO), name, phone, message and urgent. Pass the previous result's next_before as before to page back through older messages. Needs lines:manage and changes nothing.get_receptionist_benchmarkOdile Labs' published benchmark of AI phone receptionists: real test calls placed to public lines, scored against stated measures. Use it when someone asks how AI receptionists actually handle calls, or to compare named products; call it with no arguments first, then filter. Needs no sign-in and chaget_catalogThe live price list and limits for Odile Formats, which reformats an existing video or photos for social platforms (it does not pick clips, write captions or edit). Call it first, before estimate_media_job or prepare_upload, to learn the preset and fit names, the file limits and the job flow. Needsestimate_media_jobPrice an Odile Formats job in credits before anything is uploaded or charged; use it to tell the customer the cost and get their approval before unlock_job. Needs no sign-in and changes nothing. Photos are priced exactly. Reel, Feed and Square video outputs cost exactly 1 credit each; YouTube 16:9 cget_balanceThe signed-in customer's Odile Formats credit balance. Use it before unlock_job to check the job is affordable, or when the customer asks what they have left. Needs a signed-in connection; takes no arguments and changes nothing. Returns { account, credits (whole number, 0 when empty), next_expiry ({get_jobOne Odile Formats job by id, or the ten most recent when no id is given. Use it to poll a job after create_media_job (every 10-20 seconds, up to 10 minutes) until state is ready or failed; if it is still rendering after that, tell the customer and check again later (nothing is charged until unlock_jget_downloadsSigned download links for every finished file of a job, once unlock_job has succeeded for it. Use it as the last step of the flow, and again whenever links have expired. Needs a signed-in connection and changes nothing. Returns { job_id, files[{name, preset, bytes, width, height, duration, url, expiprepare_uploadStep one of an Odile Formats job: returns a 30-minute upload token and the helper command. Run the helper in a shell on the customer's machine: file bytes go straight to Odile and never enter this conversation. The helper prints the source keys to pass to create_media_job. Needs a signed-in connecticreate_media_jobQueue an Odile Formats job from sources uploaded with prepare_upload's helper. Costs nothing: credits are only spent by unlock_job, after the customer approves. One set of uploads makes exactly one job: calling it again with the same sources returns the existing job (replayed: true) whatever outputsunlock_jobSpends the customer's credits to unlock a finished job's files. Only call once get_job says the job is ready and the customer has approved a maximum spend. Refuses, charging nothing, if the job costs more than max_credits, is not ready, or the balance is short (the error says which, with the amountbuy_packReturns a one-time Stripe checkout link for a prepaid pack; the customer opens it and pays on Stripe's own page, and this connection never sees the card. Only call it when the customer asked to buy, and tell them the price first. Products: 'formats' (Odile Formats credits; packs from get_catalog), 'estimate_meal_photoReads a photo of a meal or drink (the Plate API, SPEC-plate-api.md) and returns its items with grams, calories, protein and likely allergens -- guesses from the usual recipe, not a promise the dish is free of one, and not medical advice. A photo with no food costs nothing; one with food spends 1 Pla
Tool changes
- 2026-10-23: get_agent_services, find_business_agent, send_to_business, get_direct_usage, get_direct_payment, get_answering_line_offer, try_answering_line, set_up_answering_line, get_sip_address, get_answering_line, get_line_calls, get_line_messages
- 2026-10-22: find_business_agent, send_to_business, get_answering_line_offer, try_answering_line, set_up_answering_line, get_sip_address, get_answering_line, get_line_calls, get_line_messages, get_receptionist_benchmark, get_catalog, estimate_media_job
- 2026-10-20: find_business_agent, send_to_business, get_answering_line_offer, try_answering_line, set_up_answering_line, get_answering_line, get_line_calls, get_line_messages, get_receptionist_benchmark, get_catalog, estimate_media_job, get_balance
- 2026-10-18: get_answering_line_offer, try_answering_line, set_up_answering_line, get_answering_line, get_line_calls, get_line_messages, get_receptionist_benchmark, get_catalog, estimate_media_job, get_balance, get_job, get_downloads
- 2026-10-16: get_answering_line_offer, try_answering_line, set_up_answering_line, get_answering_line, get_line_calls, get_line_messages, get_receptionist_benchmark, get_catalog, estimate_media_job, get_balance, get_job, get_downloads
Repository · Website · JSON · Text for agents · Registry updated 2026-10-21