Skip to main content
Subscriber MCP calls should feel close to normal agent replies. The fastest integrations keep tool discovery stable, make subscriber reads cheap, and cache only at safe boundaries.

Latency budgets

Comms certification checks these budgets:
PathTargetFails at
Tool discoveryunder 750ms2500ms
Cold required subscriber tool callunder 1500ms3000ms
Warm required subscriber tool callunder 1000ms2500ms
Certification probes representative subscriber-safe tools twice: one cold call and one immediate warm call. An MCP can still be connected with warnings, but slow required tools should be fixed before production traffic depends on them.

Tool discovery

Keep discovery lightweight:
  • Return stable tool schemas.
  • Avoid database work during tools/list.
  • Avoid generating per-user schemas.
  • Keep descriptions useful but compact.
Comms caches discovered schemas, but the first setup and refresh path still needs to be fast.

Subscriber reads

For subscriber-safe tools, optimize the verified contact lookup directly. Good patterns:
  • Query by normalized phone or email columns.
  • Index tenant, phone, email, booking status, and membership status fields used by the tool.
  • Return only the records needed to answer the subscriber.
  • Include portal or self-service URLs in the tool result when they are safe for that subscriber.
Avoid broad scans where the MCP fetches many trips, bookings, orders, or users before filtering down to the verified subscriber.

Cache contract

Subscriber-private MCP responses may use one of two safe cache modes:
ModeUse when
No response cacheThe data is sensitive, frequently changing, or cheap to query.
Verified subscriber cacheThe cache key includes tenant, tool, and verified subscriber identity.
Never use a global/shared cache for subscriber-private records. For verified subscriber caching, include all of these in the cache key:
  • Tenant or company.
  • Tool or operation name.
  • Verified subscriber phone or email injected by Comms.
Keep the ttl short. Comms targets 300 seconds or less for private subscriber reads.
{
  "scope": "verified_subscriber",
  "ttlSeconds": 120,
  "keyFields": ["tenant", "tool", "subscriberPhoneE164"]
}

Safe failures

If the MCP cannot verify the subscriber from the injected contact fields, return an empty or not-found result. Do not fall back to user-typed names, emails, booking references, or arbitrary IDs.