Boardroom Revenue Control

io.github.boardroomgen-ai-ae由 GitHub 账号 boardroomgen-ai-ae 发布v1.0.0更新于 Oct 24, 2026

Read-only sales CRM for AI clients: leads, pipeline, AI-agent chats, calls, ad attribution.

已验证Streamable HTTP可网页运行沟通与协作数据与分析商业与电商

概览

AI 生成的概览

以只读方式通过 MCP 访问托管销售 CRM:单个工作区的线索、销售漏斗、AI 客服对话、通话、广告归因和营销数据。

可以做什么
查看令牌身份、可读工作区与权限范围,并读取工作区 KPI 快照和营销快照(各活动的花费、触达、点击、单条线索成本及 CRM 关联),在令牌允许时还可读取合作伙伴面板数据。浏览线索列表、单条线索记录(含备注、事件、阶段历史和任务)、销售漏斗各阶段,以及按闲置时长排序的无未完成任务线索。查看 AI 客服对话的意图、语言、消息数和完整记录,以及客服配置,包括其知识文档标题。查看从广告到对话及所绑定线索的归因,并列出通话的方向、处理结果和通话时长。
适用场景
适合工作区所有者希望助手在不打开后台的情况下回答销售跟进缺口、漏斗结构、客服对话、通话结果或广告效果等问题。适用于已在使用 Revenue Control、通过对话成交的企业。
运行要求
远程 streamable HTTP 端点,无需本地安装包。需要一个 Revenue Control 工作区,并在 Authorization 请求头中提供 bearer 令牌,可由所有者在 Integrations > API and MCP 中签发,或通过所有者批准的 OAuth 登录获取。需要能访问该托管服务的网络。
安装前请注意
Authorization bearer 令牌可读取单个工作区,且仅显示一次,应妥善保存并在不再需要时撤销。联系方式默认脱敏;完整电话、邮箱和即时通讯账号需单独授予 crm:read_pii 权限。读取操作会记入工作区审计日志。公开 MCP 服务器为只读,但同一平台的 REST API 包含写入端点。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Boardroom Revenue Control,将其添加到工作区。
  2. 连接 Authorization token 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.boardroomgen-ai-ae%2Fboro-ai/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "boardroom-revenue-control": {
      "type": "http",
      "url": "https://control.boardroom-ai.ae/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

Boro: your AI Business Operator

Revenue Control + Boro: an AI sales agent, CRM, booking and revenue dashboard for businesses that sell through conversations. Built by Boardroom AI, a global company headquartered in the UAE.

Boro does more than answer questions. It gets work done.

[License: Apache 2.0] [MCP: read tools live] [REST API: v1] [Languages: EN · RU · AR] [Built in Dubai] [Official MCP Registry] [Smithery] [Glama] [GitHub stars]

Start a free workspace · Website · Connect via MCP · REST examples · Русский


What it is

Revenue Control is a hosted, multi-tenant platform for businesses that sell through conversations: salons and clinics, real-estate agencies, education centres, service companies.

  • AI sales agent. It replies to customers on WhatsApp, Instagram, Telegram, website chat and voice, qualifies them, books appointments and hands over to a person when it should.
  • CRM. Pipelines, stages, tasks, notes and a full conversation history on every deal, filled in by the agent as it talks.
  • Booking. Slots, staff and reminders, plus connectors to the booking systems salons and clinics already use.
  • Revenue dashboard. Leads, conversion, follow-up gaps, ad spend against real deals, and revenue by source.
  • Boro. An operator inside the cabinet that reads all of the above and tells you what needs your attention today.

This repository is the public developer layer: documentation, connection guides and examples. The product itself runs as a cloud service at control.boardroom-ai.ae. The platform source code is not in this repository.

Connect Claude, ChatGPT or Cursor to your workspace in 3 minutes

Your workspace is also an MCP server. Any MCP client can read your leads, pipeline, AI-agent conversations, calls and marketing figures. Connect it in one of two ways.

One-click sign-in (OAuth). In a client that supports OAuth for remote MCP servers, such as a Claude custom connector or a ChatGPT connector in developer mode, add this URL:

https://control.boardroom-ai.ae/mcp/connect

The client opens the Revenue Control sign-in page. The workspace owner signs in and approves the connection on a consent screen. There is no token to copy: the client receives a read-only token, which appears in your token list in the cabinet and can be revoked there.

Owner-issued token. For Claude Code, Claude Desktop, Cursor, scripts and anything else that sends a header:

  1. Sign in to your workspace and open Integrations → API and MCP → Boardroom MCP → Get an MCP token. The token is shown once. Copy it.
  2. Add the server to your client:
bash
claude mcp add --transport http boardroom https://control.boardroom-ai.ae/mcp \  --header "Authorization: Bearer YOUR_MCP_TOKEN"
  1. Ask: "Which open leads have no follow-up task? Longest idle first."

Setup guides: Claude Code · Claude Desktop · Cursor · ChatGPT / OpenAI

Safe by design:

  • Read-only. The public MCP server has no write tools.
  • One workspace per token. The workspace comes from the token. A tool argument can never point at another tenant.
  • Masked by default. Lists and lead cards mask phone numbers and e-mails. Full contact details come back only for one specific record, and only if the owner granted the token that permission separately.
  • Audited. Every read is logged with the tool, the row counts and the record id. Response bodies and personal data are not stored in the log.
  • Owner-issued and revocable. Only the workspace owner can mint a token or approve an OAuth sign-in. Tokens expire, and you can revoke one at any time from the same card.

What you can ask

Ask your AI client or BoroStatus
"Find all leads that didn't receive a follow-up"Available now
"Show the funnel: how many deals and how much value per stage?"Available now
"Who wrote to us this week, in which language, and what did they want?"Available now
"Which ads produced conversations this month?"Available now
"How did calls go today: answered, missed, talk time?"Available now
"Tell me what requires my attention today" (Boro, in the cabinet)Available now
"Book a meeting tomorrow and move the deal" (Boro, in the cabinet)Beta: Boro prepares the action, you confirm it
"Summarise my inbox and draft replies" (Boro, in the cabinet)Beta: drafts only, never sends
The same write actions through MCP (note, task, stage, tags)Coming soon: preview-then-confirm
"Prepare quotations for customers waiting for prices"Coming soon

The 13 MCP tools are documented one by one in docs/mcp/tools.

REST API

A plain HTTPS API for your own systems, forms and automations:

bash
curl -s https://control.boardroom-ai.ae/api/v1/leads?limit=5 \  -H "Authorization: Bearer YOUR_API_KEY"

GET /api/v1/leads · GET /api/v1/deals · GET /api/v1/tasks · POST /api/v1/leads

Reference: docs/api/rest-v1.md. Examples in curl, JavaScript and Python, plus n8n and Make templates, are in examples/.

Works with

WhatsApp · Instagram · Telegram · Website chat · Voice · Kommo / amoCRM · Altegio · Zoho Books · Bayut / Property Finder · Meta, Google and TikTok Ads · any MCP client · n8n · Make

Some channels depend on approval by the channel provider for your business. The cabinet shows the honest status of each connection: Live, Needs setup, Draft or Unavailable.

How it works

 Customers                    Revenue Control (cloud)                      You ─────────                    ───────────────────────                      ─── WhatsApp  ┐                 ┌──────────────────────────┐ Instagram ├──► AI agent ───►│ CRM · booking · dashboard │◄── Boro (in the cabinet) Telegram  │   (replies,     │ one workspace per business│ Web chat  │    qualifies,   └─────────────┬─────────────┘ Voice     ┘    books)                     │                                           ├──► MCP server ──► Claude / ChatGPT / Cursor (read-only)                                           └──► REST /api/v1 ──► your forms, n8n, Make, scripts

Security

  • Every token and API key belongs to exactly one workspace. Requests never choose their tenant.
  • Credentials are stored as hashes. The plaintext is shown once, at creation.
  • OAuth sign-in uses the authorization code flow with PKCE (S256) and dynamic client registration. Only the workspace owner can approve it.
  • MCP is read-only. Actions in the cabinet go through an explicit confirmation step.
  • Every MCP read is written to the workspace audit log.
  • Rate limits apply to every token and every key.

Found a vulnerability? See SECURITY.md. Please don't open a public issue for it.

Roadmap

ItemStatus
✅MCP server, 13 read tools, owner-issued tokensAvailable now
✅One-click OAuth sign-in for Claude and ChatGPT connectorsAvailable now
✅Listings in the official MCP Registry, Smithery and GlamaAvailable now
✅REST API v1: leads, deals, tasks, create leadAvailable now
✅Website chat widgetAvailable now
🧪Boro actions in the cabinet (book, move stage, create task) with confirmationBeta
🧪Boro inbox digest and reply draftsBeta
🔜MCP write tools with preview-then-confirmComing soon
🔜MCP demo sandbox with a fictional CRM, no sign-up neededComing soon
🔜Listings in more client catalogsComing soon
💭Boro Skills: vertical packs for clinics, salons, real estateExploring

Want something on this list sooner? Open a feature request or ask for an integration.

Like it? Give it a star ⭐

A star helps other business owners and developers find a working MCP-to-CRM setup. If this repository saved you time, please star it.

Contributing

Doc fixes, new client guides and new examples are welcome. See CONTRIBUTING.md and the Code of Conduct.

License

Documentation and examples in this repository are licensed under Apache 2.0. "Boro", "Boardroom" and "Revenue Control" are names of Boardroom AI. The license covers this repository only, not the hosted service or its brand.


Boardroom AI, a global company headquartered in the UAE 🇦🇪 · control.boardroom-ai.ae

来源:README.md,提交 83047c7

工具

13

whoami

Who am I (token and workspace)

Who 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.

无需输入参数。

crm_list_leads

List leads

Leads 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]

输入参数limitsincestageoffsetpipeline_id

crm_get_lead

Get one lead

One 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]

输入参数lead_id必填

crm_pipeline_overview

Pipeline overview

Every pipeline and stage with its lead count and total value. The shape of the funnel. [scope: crm:read]

无需输入参数。

crm_leads_without_task

Leads without a follow-up task

Open 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]

输入参数limit

ad_attribution

Ad attribution

Which 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]

输入参数limitsince

agent_conversations

AI-agent conversations

Conversations the AI agent handled, with intent, language, message count and the deal they bound to. Contacts masked. [scope: agent:read]

输入参数limitsince

agent_get_conversation

One conversation transcript

One conversation with its transcript — what the customer wrote and what the agent answered. [scope: agent:read]

输入参数limitconversation_id必填

dashboard_snapshot

Dashboard snapshot

The workspace's own KPI contract as the dashboard renders it, with the time it was built. [scope: crm:read]

无需输入参数。

marketing_snapshot

Marketing snapshot

Advertising performance: spend, reach, clicks, cost per lead, per campaign, plus the CRM join. [scope: marketing:read]

无需输入参数。

agent_config

AI-agent configuration

How 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]

无需输入参数。

partner_overview

Partner overview

This 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]

无需输入参数。

voice_calls

Voice calls

Calls with direction, disposition and talk time. Customer numbers masked. [scope: crm:read]

输入参数limitsince

版本历史

1
  1. v1.0.0最新Oct 9, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分