Connect over MCP
Point an AI client at your KWAYZER workspace over the Model Context Protocol. It reads; it does not write.
- Every tool is a read. every tool is a read. `McpTool.mutates` is the literal type `false`, so a write tool cannot be added without changing the type — which shows up in review rather than slipping in as a line.
- Your workspace comes from your key. the workspace comes from your API key and is never a parameter, so a client cannot ask for somebody else's data whatever it sends.
- A refusal is an answer. a tool you may not call comes back as a refusal with the reason, not as an error. "You may not read deals" is an answer.
- Engagement data is explicit. a key that can read your GTM data does NOT thereby reach a consulting engagement's semantic layer. That scope is held explicitly or not at all.
The endpoint
https://www.kwayzer.com/api/mcpClient configuration
Replace the placeholder with a key from your workspace settings. keys are created where keys are managed, not from a documentation page. This screen tells you what a key can reach; it does not hand you one.
{
"mcpServers": {
"kwayzer": {
"url": "https://www.kwayzer.com/api/mcp",
"headers": {
"Authorization": "Bearer kwz_live_YOUR_KEY_HERE"
}
}
}
}What your key can reach
Each tool names the permission it needs. A key you create with read access reaches the product tools below; the engagement tools need a scope you grant on purpose.
| Tool | Reads | Needs |
|---|---|---|
list_contacts List contacts in the workspace, filtered and paginated. | contacts | contact.view |
get_contact Read one contact by id. | contacts | contact.view |
list_companies List companies in the workspace. | companies | contact.view |
list_deals List deals, optionally by stage or owner. | deals | deal.view |
get_pipeline_summary Open pipeline value and count by stage. | deals | deal.view |
list_segments List the workspace's audiences and their definitions. | segments | contact.view |
get_play_metrics Read a GTM play's measured metrics, each with its class of evidence. | gtm_play_metrics | reports.view |
list_governed_terms The business terms governing a migration engagement: what each means, whether that meaning is authoritative, which fields implement it, and what is unsettled about it. A contested term is returned WITHOUT a definition. | engagement_semantics | migration.viewGranted explicitly or not at all — a read key does not include it. |
list_migration_datasets The datasets recorded for an engagement, with field and record COUNTS and their trust badges. Structure and counts only — no field values are ever returned. | engagement_semantics | migration.viewGranted explicitly or not at all — a read key does not include it. |
get_field_meaning What one column means: its recorded type and fill rate, and the governed term implementing it, if any. Every answer carries how old the underlying measurement is. | engagement_semantics | migration.viewGranted explicitly or not at all — a read key does not include it. |
Scopes an MCP key may hold
Read-only by construction — the allowlist is every scope whose name ends in :read, and writes are off at the server: MCP_WRITES_ENABLED = false.
- contacts:read
- companies:read
- deals:read
- segments:read
- reports:read
- mcp:read
- migration:read
The full REST surface is in the API reference.