Boardroom Revenue Control
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Read-only sales CRM for AI clients: leads, pipeline, AI-agent chats, calls, ad attribution.
| Author | io.github.boardroomgen-ai-ae |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 1487 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Boardroom Revenue Control": {
"url": "https://control.boardroom-ai.ae/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (13)
whoamiread-onlyWho this token is, which workspace it can read, and which scopes it carries. Call this first: it tells you which of the other tools will work.
Hints: read-only yes · destructive no · idempotent yes · open-world no
crm_list_leadsread-onlyLeads in this workspace, newest activity first. Phone and email are MASKED here — use crm_get_lead for one record when the full contact is genuinely needed. `total` is the count before paging, so it answers 'how many leads exist'. [scope: crm:read]
Parameters:
limit— integer — Maximum number of rows to return.since— string — today | yesterday | week | month | 7d | 30d | ISO timestamp. Days are Asia/Dubai.stage— string — Stage name, exact (case-insensitive). Omit for all stages.offset— integer — Rows to skip before the first returned row (for paging).pipeline_id— string — UUID of one pipeline. Omit for all.
Hints: read-only yes · destructive no · idempotent yes · open-world no
crm_get_leadread-onlyOne lead — notes, events, stage history and open tasks. Phone, e-mail and messenger ids are MASKED unless this key also holds crm:read_pii, which the workspace owner grants separately. Scoped to this workspace: a lead id from elsewhere reads as not_found. [scope: crm:read]
Parameters:
lead_id(required) — string — UUID of the lead.
Hints: read-only yes · destructive no · idempotent yes · open-world no
crm_pipeline_overviewread-onlyEvery pipeline and stage with its lead count and total value. The shape of the funnel. [scope: crm:read]
Hints: read-only yes · destructive no · idempotent yes · open-world no
crm_leads_without_taskread-onlyOpen leads with no unfinished task against them — the follow-up leak. Sorted by idle time, longest first. Idle days are counted in Asia/Dubai. [scope: crm:read]
Parameters:
limit— integer — Maximum number of rows to return.
Hints: read-only yes · destructive no · idempotent yes · open-world no
ad_attributionread-onlyWhich advertisement produced which conversation: ad id, creative, first-touch flag, and the lead it bound to. The per-click id is NOT returned — only whether one exists. An empty result means no ad-driven conversation has been recorded in the window, not that the tool failed. [scope: marketing:read]
Parameters:
limit— integer — Maximum number of rows to return.since— string — today | week | month | 30d | ISO timestamp (Asia/Dubai days).
Hints: read-only yes · destructive no · idempotent yes · open-world no
agent_conversationsread-onlyConversations the AI agent handled, with intent, language, message count and the deal they bound to. Contacts masked. [scope: agent:read]
Parameters:
limit— integer — Maximum number of rows to return.since— string — today | week | month | 7d | ISO timestamp (Asia/Dubai days).
Hints: read-only yes · destructive no · idempotent yes · open-world no
agent_get_conversationread-onlyOne conversation with its transcript — what the customer wrote and what the agent answered. [scope: agent:read]
Parameters:
conversation_id(required) — string — UUID from agent_conversations.limit— integer — Maximum number of rows to return.
Hints: read-only yes · destructive no · idempotent yes · open-world no
dashboard_snapshotread-onlyThe workspace's own KPI contract as the dashboard renders it, with the time it was built. [scope: crm:read]
Hints: read-only yes · destructive no · idempotent yes · open-world no
marketing_snapshotread-onlyAdvertising performance: spend, reach, clicks, cost per lead, per campaign, plus the CRM join. [scope: marketing:read]
Hints: read-only yes · destructive no · idempotent yes · open-world no
agent_configread-onlyHow the AI agent is set up for this workspace: mode and persona, working hours, hand-over rules, follow-up cadence, trigger list, actions, voice scenarios, and the TITLES of its knowledge documents. Document text is not returned — the list answers what the agent knows about; reading one whole is a separate, narrower ask. No credential of any kind is reachable from here: an agent's instructions are not its keys. [scope: agent:read]
Hints: read-only yes · destructive no · idempotent yes · open-world no
partner_overviewread-onlyThis partner's own cabinet: referral code and link, the clients who registered through it, the agreed commission rate, what has accrued so far, and which client workspaces this partner currently holds a grant for. Only answers for a token bound to a partner. [scope: partner:read]
Hints: read-only yes · destructive no · idempotent yes · open-world no
voice_callsread-onlyCalls with direction, disposition and talk time. Customer numbers masked. [scope: crm:read]
Parameters:
limit— integer — Maximum number of rows to return.since— string — today | week | month | 7d | ISO timestamp (Asia/Dubai days).
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.