Connect your AI assistant to Trellus call data. Get reporting totals, compare reps, find calls, and read a selected session through four read-only tools.
Ask questions about call activity, compare rep results, find sessions, and review a selected call. The Trellus MCP connector exposes four read-only reporting tools.
Trellus MCP server URL
https://mcp.trellus.ai/rpt/mcp
Each person signs in with their own Trellus account. The connection follows that account’s existing data permissions. Reading these docs does not require a login; connecting to account data does.
No API key needed for the hosted connector. Your AI app opens Trellus sign-in and requests rpt:read access.
Use the Call Data API for a direct server-side integration.
Connection details
Transport
Streamable HTTP
Authorization
Browser-based OAuth
Scope
rpt:read
Access
The connected Trellus user’s existing data permissions
Tools
Account discovery, session search, metrics, and individual session detail
Connect your AI assistant
Copy the exact server URL above. Keep the /rpt/mcp path and do not add a trailing slash. In a managed workspace, an administrator may need to allow custom connectors.
Claude
Open Customize → Connectors and add a custom connector. In a managed workspace, an owner or permitted administrator may need to add it under Organization settings → Connectors first.
Name it Trellus, paste https://mcp.trellus.ai/rpt/mcp, and continue to the detected authentication settings.
Use OAuth sign-in. Choose Claude’s published identity or automatic registration; Trellus does not require your own client secret or a fixed API-key header.
Add the connector, connect your own Trellus account, and approve the read access.
In a new conversation, enable Trellus from + → Connectors and ask your first question.
Use a client that supports remote MCP over Streamable HTTP and browser-based OAuth with PKCE and dynamic client registration.
Add https://mcp.trellus.ai/rpt/mcp as a remote server. Let the client discover authentication from the endpoint.
Complete Trellus sign-in in the browser and approve rpt:read access. Do not substitute a Trellus API key for the OAuth access token.
Enable the connector for the conversation and list the available tools.
For a custom runtime that does not handle the browser flow, implement OAuth in your application and pass its access token to the MCP client. For direct server-to-server HTTPS, use the Call Data API.
Ask a question that you can check
Start with a time range and a specific metric. The assistant should discover your account settings first, then report the filters and timezone it used.
Example question 1
Use Trellus to get my team’s reporting timezone. For the last seven complete days, show outbound dial attempts, connected calls, and total live duration by rep. Include unanswered attempts in total dials and use rep names instead of IDs.
Example question 2
Use Trellus to compare the last 30 days by disposition. Show session count and total duration, then calculate average duration. Explain which filters you used.
Example question 3
Use Trellus to find five calls in the last seven days with the fields needed to identify them. Open one selected session and summarize its outcome, objections, and next step without including customer contact details.
Choose the data you share. Search and session-detail tools redact phone-like values by default. This is not complete anonymization: names, companies, transcript text, and other requested fields may still contain personal information. Request only the fields needed for your analysis.
Tool reference
These are the four hosted Trellus MCP tools. Examples below are tool argument objects; your MCP client sends them through tools/call. Extra arguments are rejected.
Call this before a report that needs user IDs, a team timezone, or exact disposition values.
Pass an empty object, {}. This tool has no arguments.
trellus_bootstrap example
{}
Response: Returns user_info, team_info, user_directory, autodialer_mapping_options, and custom_dispositions. The user directory contains available user IDs and names; team_info includes analytics_timezone when configured.
trellus_search_sessions
Search a time range for sessions. Add conversation_type EQ 1 to select calls; without that filter, results can include other session types. Choose only the fields needed, then use a returned session_id to inspect one session.
trellus_search_sessions arguments
Field
Type
Meaning
start_micros Optional
integer
Inclusive Unix timestamp in microseconds. Defaults to 30 days before the current time when omitted.
end_micros Optional
integer
Exclusive Unix timestamp in microseconds. Defaults to the current time when omitted. Must be later than start_micros; the range cannot exceed 366 days.
cnf Optional
array of filter groups
AND between outer groups, OR within each inner group. Omit or use [] for no extra filters.
select Optional
string[]
One to 100 published reporting column paths. Omit to use the default selection shown below. Duplicate columns are removed.
limit Optional
integer
Maximum returned sessions, from 1 to 1,000. Defaults to 1,000.
team_id Optional
string
Optional team scope where your account has access. Supplying an ID does not grant access.
redact_phone_numbers Optional
boolean
Defaults to true. Set false only when phone values are needed and you are permitted to share them with the connected assistant.
Response: Returns { select, sessions }. Each session maps the selected column paths to their values. There is no offset or cursor argument; use smaller time windows for larger datasets. Use the metric tool for totals instead of counting a capped search result.
trellus_metric_details
Calculate reporting totals without downloading individual call rows. Keep total dial counts separate from connected-call metrics.
trellus_metric_details arguments
Field
Type
Meaning
selects Required
metric definition[]
One to 50 count or sum definitions. { "cnf": [] } counts all matching sessions. { "column_name": "duration" } sums that numeric field. Add a definition-level cnf to limit only that metric.
start_micros Optional
integer
Inclusive Unix microseconds. Defaults to 30 days before the current time when omitted.
end_micros Optional
integer
Exclusive Unix microseconds. Defaults to the current time. The range must be positive and at most 366 days.
cnf Optional
array of filter groups
Filters applied to every metric in the request. Omit or use [] for no extra filters.
group_by Optional
{ column_name: string }
Split results by exactly one supported categorical dimension. Each returned row begins with its group value.
team_id Optional
string
Optional team scope where your account has access.
Response: Returns { selects, rows } and group_by when supplied. Result cells follow the selects order. With group_by, the first cell is the group value. Averages are calculated from the appropriate sum and count; there is no average operator.
trellus_get_session
Retrieve the complete reporting record for a specific session selected from a search.
trellus_get_session arguments
Field
Type
Meaning
session_id Required
string
An existing session ID you are allowed to read. Use an ID returned by trellus_search_sessions.
redact_phone_numbers Optional
boolean
Defaults to true. Phone-like strings are replaced throughout the returned record.
Response: Returns the selected session as a JSON record, including available call and transcript detail. This is a larger response than selected search columns, so open individual sessions as needed.
Default session-search columns
If you omit select, the search returns these fields. Supply an explicit selection to keep responses focused.
Use cnf to describe which sessions match. An empty array selects all sessions within the time range and the account’s permitted scope.
Each filter has column_name, operator, and value_safe. Use a reporting column published in tools/list, or a supported field under state.* or custom_metrics.*.
Outer cnf groups are joined with AND. Filters inside one group are joined with OR. Empty cnf means no extra filters.
EQ and NEQ compare scalar values, including null. IN and NIN take arrays of up to 1,000 values; null is not accepted in these arrays.
GT, GE, LT, and LE compare numeric or string columns. REGEX is available for strings and supported dynamic fields, with patterns up to 512 characters.
Boolean, byte, and enum fields support EQ, NEQ, IN, and NIN. Numeric fields additionally support ordering. Enum values must match the published name or number.
For a column inside a list, such as agents[*].agent_id, add reducer: "ANY" or "ALL". Do not add a reducer to a scalar column.
Use at most 100 outer groups and 20 filters per group. Unknown fields, unsupported operators, extra arguments, and invalid filter or value types return a tool error.
This example means: non-inbound sessions AND either a matching agent OR a duration above 60 seconds. Replace the example rep ID with one returned by trellus_bootstrap.
Group metrics by one dimension
Set group_by.column_name to one of the values below. Grouping is available on trellus_metric_details, not session search.
Your MCP client can retrieve the complete accepted reporting-column and enum definitions through tools/list. Use those definitions when generating filters.
Keep reporting definitions consistent
For calendar dates, obtain team_info.analytics_timezone from trellus_bootstrap and convert the requested local boundaries to Unix microseconds. Ask the user for a timezone if it is unset.
A dial count should include unanswered attempts. For outbound dials, filter dial_metric.is_dial=true and dial_metric.is_inbound=false, then use { "cnf": [] } as a select. Do not add connection, duration, or disposition filters to the total unless the question asks for them.
Use a separate filtered select for connected calls. Do not treat agent_joined=false alone as a universal definition of a missed call; combine it with the relevant inbound and call filters.
Grouping by agents[*] expands a session across its agents, so the same session can contribute to more than one group. Those group totals may not add up to the unique session count.
MCP query boundaries use microseconds. Reporting started_at values use Unix seconds; duration, connected duration, and live duration are measured in seconds.
All four tools read data. They do not place calls, edit CRM records, change campaigns, or modify account settings.
For field-level definitions, query recipes, and a direct HTTPS integration, see the Call Data API reference.
OAuth for custom clients
Use the endpoint’s discovery metadata, authorization-code flow, and S256 PKCE. The resource is the full MCP URL. Request only rpt:read and send the resulting OAuth token in the Authorization: Bearer header.
The discovery response provides authorization, registration, token, and revocation endpoints. A client must store each rotated refresh token returned by a successful refresh. Do not expose tokens in browser page source, public repositories, examples, or chat prompts.
The assistant’s runtime may not open the consent window itself. In that case, your application must complete OAuth before handing an access token to the MCP runtime. The read-only OAuth token is different from a Trellus API key.
Tool-call envelope and error handling
After MCP initialization and authentication, call a tool with a JSON-RPC request like this:
The tool result contains a text item with the JSON-encoded reporting result. Check isError before parsing it as successful data. Validation errors explain which argument needs correcting. Authentication failures require reconnecting or refreshing the token; service errors may include a reference to share with Trellus support.
Use an MCP SDK to handle initialization, protocol negotiation, authentication discovery, and requests. Publishing documentation does not make account data accessible without authorization.
Troubleshooting
The connector URL is rejected
Use exactly https://mcp.trellus.ai/rpt/mcp. The client must support remote Streamable HTTP MCP and the Trellus OAuth flow. A local-only or fixed-token client needs a different integration path.
The app asks for my API key or a client secret
For hosted MCP, use the detected OAuth flow and automatic registration or a supported published client identity. Do not paste a Trellus API key into a fixed-header field.
The sign-in link expired
Start Connect again from your AI app, then complete Trellus sign-in and consent within 10 minutes.
The tool list is empty or stale
Complete sign-in, refresh the connection’s tools or metadata, and start a new conversation. The supported tool list contains the four tools on this page.
The assistant does not use Trellus
Enable the connection in the conversation and start your prompt with “Use Trellus to…”. Review any tool permission prompt from the AI client.
A query says the date range or filter is invalid
Use integer microsecond timestamps, a positive range of at most 366 days, column names from tools/list, and exact disposition values from trellus_bootstrap.
A report has fewer calls than expected
Check the timezone, date boundaries, team and rep filters, and your Trellus access. Search results are capped at 1,000; use trellus_metric_details for totals.
A connected account stopped working
Reconnect through your AI app and approve access again. If a tool returns a support reference, include that reference when contacting Trellus support, without sending tokens.
Still need help? Contact Trellus support with the client name, the tool name, and any error reference. Keep credentials out of the message.
Your CRM. Your calling workflow.
See Trellus in your workflow
See the calling, coaching and reporting workflow your reps would use.
01
Dial from your CRM
Compare power and parallel dialing in your team’s platform.
02
Work on your connect rate
Explore pickup prediction and number-health tools available for your setup.
03
Coach and review calls
See AI practice, Salesfloor and call analytics. Focus on what your team needs.
1 Your team
2 Choose a time
Fill in your details to open the calendar and choose a time. All fields are required.