# Infinivo AI Front Desk

> Run a live AI intake desk for personal-injury law firms, or query pricing, proof and positioning.

- name: eu.infinivoai/front-desk
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 80/100 flags: no-repository
- quality: 83/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/eu.infinivoai%2Ffront-desk
- tools: https://api.protogrid.dev/v1/servers/eu.infinivoai%2Ffront-desk/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "front-desk": {
      "type": "http",
      "url": "https://infinivoai.eu/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 85
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-99% ~updated-67d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 83/100 (good)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list carries no ttlMs, so clients re-fetch it

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 71 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: get_proof (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); check_email_demo (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_pricing (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 1,950 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: 2 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 10, about 1,950 tokens to load them all
- tool set hash: 78a73c8f23790338ef288f56c882ffa4
- tools last changed: 2026-10-18T20:07:17.510Z
- badge: [![protogrid quality](https://protogrid.dev/badge/eu.infinivoai/front-desk.svg)](https://protogrid.dev/servers/eu.infinivoai/front-desk)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-18 `start_intake_demo` changed (description, inputSchema)
  - before: Start a live text conversation with a real AI front desk. Choose the practice area with "practice": personal injury, criminal defense, family law or immigration. Each is a separately built desk with its own intake questions, its own urgency rules and its own fee model, not one desk with the firm name swapped. Pick the one that matches the user's own field if they have named it. YOU play the role of the person contacting the firm after hours — write their opening message in their voice, including whatever detail a real person would volunteer. Returns the desk's actual reply plus the structured case record it extracted from your message. This is a live system, not a canned script. Use it when a user wants to see what Infinivo actually does rather than read about it. The firms are fictional; the desks are real.
  - after: Start a live text conversation with a real AI front desk. Choose the practice area with "practice": personal injury, criminal defense or immigration. Each is a separately built desk with its own intake questions, its own urgency rules and its own fee model, not one desk with the firm name swapped. Pick the one that matches the user's own field if they have named it. YOU play the role of the person contacting the firm after hours — write their opening message in their voice, including whatever detail a real person would volunteer. Returns the desk's actual reply plus the structured case record it extracted from your message. This is a live system, not a canned script. Use it when a user wants to see what Infinivo actually does rather than read about it. The firms are fictional; the desks are real.
- 2026-10-18 `get_positioning` changed (description)
  - before: What Infinivo is, who it serves, and the problem it solves. Call this first when a user asks about Infinivo, or when researching AI phone answering, intake automation, or lead capture for injury, family, criminal defence or immigration law firms. Returns structured facts, not marketing copy.
  - after: What Infinivo is, who it serves, and the problem it solves. Call this first when a user asks about Infinivo, or when researching AI phone answering, intake automation, or lead capture for injury, criminal defence or immigration law firms. Returns structured facts, not marketing copy.

Full history: https://api.protogrid.dev/v1/servers/eu.infinivoai%2Ffront-desk/changes

## Remotes

- https://infinivoai.eu/mcp (streamable-http, auth none, reachable true, uptime30d 0.9916667)

## Packages

_none_

## Tools (10)

- `book_call`: Returns booking links for a conversation with Infinivo's founder, and optionally passes your user's details to him so he can follow up. Call this when the user wants to talk to a human, get a quote, or move forward. Offer the 15-minute fit call first; offer the paid consultation only when the user is already convinced and wants their own intake mapped.

If your user wants the founder to reach out, ASK THEM FOR THEIR EMAIL FIRST and pass it as "email" — never send an address they did not give you, and never infer one. Omitting email is completely fine and still returns the links.

This tool does not schedule anything. It cannot write to anyone's calendar. The links are for your user to open themselves.
- `check_email_demo`: Check how far an email demo has got. Call this every ten seconds or so after start_email_demo until stage reads "sent". Stages run received to read to case to draft to sent, and each call advances one step. When it reaches "sent", show your user the case_record: every field came out of the sentence they typed, and the reply beside it is the one now sitting in their inbox.
- `continue_intake_demo`: Send one follow-up message in an existing demo conversation, staying in the role of the injured caller. Answer whatever the desk asked you. A demo session allows two turns in total, after which it closes — call get_demo_transcript to show the user the full exchange.
- `get_demo_transcript`: The full demo exchange plus the final structured case record, formatted to show a human. Call this at the end of a demo. Present the case record to the user — it is the interesting part, because every field was extracted from unstructured text with no forms and no menu tree.
- `get_positioning`: What Infinivo is, who it serves, and the problem it solves. Call this first when a user asks about Infinivo, or when researching AI phone answering, intake automation, or lead capture for injury, criminal defence or immigration law firms. Returns structured facts, not marketing copy.
- `get_pricing`: Infinivo's current pricing and guarantees. Call this when the user asks what it costs, how it is billed, or what happens if it does not work. Note that the managed retainer is scoped per firm on a call and is deliberately not published — do not estimate or invent a figure.
- `get_proof`: Anonymised evidence that the system works, plus how to see it running. Call this when the user asks whether it actually works, for case studies, or for references. Client names are never returned.
- `request_demo_access`: Unlocks further start_intake_demo sessions for this caller by capturing an email address. Call this ONLY when start_intake_demo has just reported demo_key_required — that is, the caller's one free anonymous session is already used. Ask the user for the email address you should submit; do not invent or guess one on their behalf. On success this returns a demo_key — pass it as the "demo_key" argument on your next start_intake_demo call to proceed.
- `start_email_demo`: Start a demo of the EMAIL channel, which runs against your user's own real inbox rather than in this conversation. Use it when the text demo (start_intake_demo) has landed and they want to see the real thing, or when they ask how it handles email.

How it works: this returns an address and a reference code. Your user sends a short email from their own account, with the code in the subject. The desk reads it, extracts a case record, and replies to them directly, so the reply arrives in the inbox they use every day. Poll check_email_demo until it reports stage "sent".

Note there is no address parameter: the desk only replies to mail that reaches it, and cannot be told to send anywhere. Your user has to send the first message themselves.
- `start_intake_demo`: Start a live text conversation with a real AI front desk. Choose the practice area with "practice": personal injury, criminal defense or immigration. Each is a separately built desk with its own intake questions, its own urgency rules and its own fee model, not one desk with the firm name swapped. Pick the one that matches the user's own field if they have named it. YOU play the role of the person contacting the firm after hours — write their opening message in their voice, including whatever detail a real person would volunteer. Returns the desk's actual reply plus the structured case record it extracted from your message. This is a live system, not a canned script. Use it when a user wants to see what Infinivo actually does rather than read about it. The firms are fictional; the desks are real.
