The BuildBetter MCP server exposes 21 tools that give AI agents structured access to your calls, signals, people, documents, knowledge base, and raw GraphQL. This page documents every tool.
phrase only matches call names/titles — not transcript content. To search what was discussed inside calls, use search-signals or search-extractions instead.
Copy
// Get recent callssearch-calls({ limit: 10 })// Find calls in a date rangesearch-calls({ fromDate: "2026-01-01T00:00:00Z", toDate: "2026-03-01T00:00:00Z", limit: 20 })
Returns the full speaker-attributed transcript for a call, broken into monologue segments with start/end timestamps.
Parameter
Type
Required
Description
id
integer
Yes
Call ID (from search-calls).
Check hasTranscript in the response before trying to render or search the transcript. Use startSec to build deep-link URLs to specific moments in the call.
Signals are the core data object in BuildBetter — AI-extracted insights from any ingested content. They have types, topics, keywords, sentiment, severity, bias scores, and person/company linkage.
Search signals by phrase and optionally filter by type, call, or persona. This is the preferred tool for content searches — use it instead of searching calls.
Parameter
Type
Required
Description
phrase
string
No
Searches signal summaries and content.
type
string
No
Filter by signal type name (e.g. featureRequest, bug, complaint).
callId
integer
No
Restrict results to signals from one specific call.
personaIds
integer[]
No
Filter by persona IDs.
limit
integer
No
Max results. Default: 20.
Copy
// Search all signals mentioning 'churn'search-signals({ phrase: 'churn', limit: 10 })// Only feature requests mentioning 'API'search-signals({ phrase: 'API', type: 'featureRequest', limit: 20 })// All signals from a specific callsearch-signals({ callId: 20784, limit: 50 })
Structured list endpoint for extractions with full filter, select, order, and pagination support.
Parameter
Type
Required
Description
where
object
No
Hasura-style filter object.
select
string[]
No
Fields to include. Defaults to all standard fields.
orderBy
array[]
No
Sort order. Default: [['date', 'desc']].
page
integer
No
Page number for pagination. Default: 1.
limit
integer
No
Results per page. Default: 20.
Nested relationship filters (e.g. filtering by type name) may be ignored. Use search-signals or search-extractions with the type parameter for type-based filtering instead.
Search the internal knowledge base (wiki-style pages) by title or content.
Parameter
Type
Required
Description
query
string
Yes
Search query. Use short 1–2 word terms for best results.
limit
integer
No
Max results. Default: 20.
This tool uses keyword matching, not semantic search. Short, broad queries work best (e.g. 'pricing', 'workflows'). Long phrases may return 0 results — try a single-word subset instead.
Executes a raw, read-only GraphQL query against the BuildBetter schema. This is the most powerful and flexible tool — use it when domain tools don’t cover your use case.
Parameter
Type
Required
Description
query
string
Yes
Valid GraphQL query string.
variables
object
No
GraphQL variables object.
Recommended workflow for GraphQL:
list-types() — discover available types
find-fields({ typeName }) — discover fields for a type