Prism
Intelligence layer for AI that enables querying across revenue, errors, identity, and analytics layers in plain English, returning rendered charts and dashboards.
README
<div align="center">
Prism — Crossdeck's intelligence layer for AI
The AI layer that crosses your revenue, errors, identity and cost — so you can ask which paying customer an error hit, what they're worth, and what they cost you. The cross-layer answer no errors, billing, or analytics tool can give alone.
"Which paying customer did this crash hit, and how much revenue is at risk?" — one question, answered across error, identity, and revenue. No single-layer tool can do that.
</div>
Why Prism is different
Most MCP servers are a connector to one system. Prism is an intelligence layer over your whole app — because Crossdeck already joins the layers about your users (identity · revenue · entitlements · errors · analytics · database read-cost) into one source of truth, by identity.
The point isn't "let AI read my data." It's the crossing: one question can span layers no other tool joins —
"This error
a1b2c3— who did it hit, and how many of them pay us?" → the named paying users behind the crash, each with their monthly revenue at risk, sorted by what's on the line.
That's the moat sentence. Prism gives it a voice in Claude, ChatGPT, Cursor, or any MCP client.
Connect in 60 seconds
Remote (recommended) — one-click OAuth, no keys to paste
Prism is a hosted, OAuth-protected MCP endpoint:
https://api.cross-deck.com/mcp
Add it as a connector in your client, sign in with your Crossdeck account, pick a project, and approve. That's it — the client receives a short-lived, scoped workspace credential automatically.
- Claude (web / desktop): Settings → Connectors → Add custom connector → paste the URL above.
- ChatGPT: Settings → Connectors → Add → paste the URL.
- Cursor: Settings → MCP → Add → paste the URL.
Or open your dashboard at app.cross-deck.com → Developers → Prism → Connect AI for one-click "Add to Claude / ChatGPT / Cursor".
Local (Claude Desktop / Cursor / Claude Code) — stdio + a secret key
npm install -g @cross-deck/ai
{
"mcpServers": {
"crossdeck": {
"command": "crossdeck-ai",
"env": { "CROSSDECK_SECRET_KEY": "cd_sk_live_…" }
}
}
}
Use a secret key (cd_sk_) from your dashboard → API keys — never a publishable (cd_pub_) one. CROSSDECK_API_BASE overrides the endpoint (e.g. sandbox).
Try these first
| Ask | Tool | You get |
|---|---|---|
| "What's our MRR and paying-customer count, split by Stripe/Apple/Google?" | get_revenue |
MRR, paying count, three-rail split, optional daily trend |
"This error a1b2c3 — who did it hit and do any of them pay us?" |
get_error_affected_users |
The named paying users behind the crash, each with monthly revenue at risk |
"Show me everything about customer agent_8842." |
open_moat_dashboard |
A rendered dashboard: what they pay × entitlements × read-cost, joined by identity |
| "Draw our user growth over the last 30 days." | draw_user_growth |
A rendered interactive line chart of visitors + page views |
| "What's driving our database reads — per-user vs overhead?" | get_read_cost |
The per-user-vs-overhead split + reads by operation |
Data tools return clean JSON; draw_user_growth and open_moat_dashboard render interactive charts/dashboards inline in hosts that support MCP Apps (and fall back to a text summary elsewhere).
Tools
Eleven tools — all read-only (readOnlyHint), each with a human-readable title, scoped/paginated output, and actionable errors. Every read is a point-read of a maintained ledger, so asking questions never runs up your database bill.
Portfolio
list_projects— list every app this connector can read (your portfolio).use_project— set the current app for subsequent tools ("switch to <app>").
Revenue & cost
get_revenue— MRR, paying-customer count, per-rail split (Stripe/Apple/Google), optional daily trend.get_read_cost— database read-cost split into per-user reads vs un-attributed overhead, by operation.
The moat — error × identity × revenue
get_error_impact— for one error: how many distinct users hit it, and how many are paying (counts).get_error_affected_users— the named paying users an error hit, each with monthly revenue and last-hit, sorted by revenue at risk. Returns your own identifiers only — never emails/names you didn't provide.get_customer— one customer across every layer Crossdeck joins by identity: what they pay × active entitlements × read-cost.
Analytics
get_host_analytics— page views + unique visitors for a host/subdomain you own (optional daily series).get_host_top_pages— top pages or referrers for a host you own.
Rendered UI (MCP Apps)
draw_user_growth— an interactive line chart of visitors + page views over time.open_moat_dashboard— a customer's cross-layer dashboard (pay × entitlements × read-cost) rendered as cards.
Security
Prism is built on Crossdeck's bank-grade outbound-read spine. See SECURITY.md for the full model. In short:
- OAuth 2.1 + PKCE (S256), dynamic client registration, short-lived (1h) workspace credentials with refresh-token rotation and reuse detection. No long-lived secret leaves your dashboard.
- Read-only. Every tool is
readOnlyHint: true— no writes, no config mutations. - Scoped & fail-closed. A token resolves to one owner and their own projects; a missing/invalid token returns an actionable 401, never silent data.
- Your data only. Prism reads your own project's data, scoped by your token. It does not read your conversation history or local files, and returns your own identifiers — never PII you didn't provide.
Known limitations
- Read-only in v1 — writes/config are a later, separately-gated stage.
- Per-host analytics require the host to be a verified origin of your project.
- Rendered charts require an MCP-Apps-capable host; others get a text summary.
- Reporting reflects data from when Crossdeck was connected (historical backfill is separate).
Links
- npm: https://www.npmjs.com/package/@cross-deck/ai
- API reference: https://cross-deck.com/docs/reporting-api/
- Security spine: https://cross-deck.com/docs/outbound-api-security/
- Privacy: https://cross-deck.com/legal/privacy/
- Support: support@cross-deck.com
License
MIT © Crossdeck
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。