Tool Reference
Every tool the Tenali MCP server exposes to Claude, ChatGPT and other AI assistants — parameters, required permissions, response shape, limits and error codes.
The Tenali MCP server exposes fourteen tools. All of them are read-only — nothing here can create, edit or delete anything in Tenali.
You don't call these directly. Your assistant picks the right tool from your question; this page exists so you know exactly what it can reach, and so you can ask for something specific when you want to.
Meetings and Summaries
| Tool | Parameters | Permission |
|---|---|---|
search_meeting_summaries | query, date_range_start, date_range_end, company, meeting_type, org_wide | Meeting summaries |
get_meeting_summary | meeting_id, org_wide | Meeting summaries |
list_meetings | date_range_start, date_range_end, participant, meeting_type, title_contains, limit, cursor, org_wide | Meeting summaries |
list_action_items | date_range_start, date_range_end, limit, cursor, org_wide | Meeting summaries |
review_pipeline | company, org_wide | Meeting summaries |
get_meeting_recording | meeting_id, org_wide | Raw transcripts & recordings |
search_meeting_summaries searches across summaries, briefs, key points, action items and detected questions. It never returns raw transcript text — that's a separate tool with its own permission.
get_meeting_summary returns one meeting complete: every summary section including any custom ones, participants, organizer, platform, duration and status.
list_meetings is your meeting inventory, newest first, with an exact total. Filter by UTC date range, participant name or email, or title substring. To filter by platform, pass meeting_type — it accepts zoom, meet, teams, webex, gong, fireflies or slack.
review_pipeline returns account rollups derived from your meetings — last touch, cadence and momentum. It reports how many meetings it analyzed so you can tell whether the answer covered everything.
get_meeting_recording returns a time-limited playback link. It's callable with Meeting summaries alone, but it only returns a usable link when the raw transcripts and recording permission is granted.
Question Intelligence
| Tool | Parameters | Permission |
|---|---|---|
question_intelligence | search, include_all, page, page_size, org_wide | Question Intelligence |
list_question_occurrences | search, include_all, page, page_size, org_wide | Question Intelligence |
question_intelligence is your Question Intelligence dashboard as data: customer questions grouped across meetings, each with the answer Tenali captured, its status, whether that answer was AI-generated or admin-curated, how often it came up, and when it was first and last asked. Pass include_all to also see the lower-signal rows the dashboard hides.
list_question_occurrences returns the individual detections behind those groups — the question as asked, who asked it, which meeting, and when.
This pair is what makes questions like "what objections came up most last quarter, and how did we answer them?" possible.
Transcripts
| Tool | Parameters | Permission |
|---|---|---|
get_meeting_transcript | meeting_id, cursor, page_size, start_seconds, order, org_wide | Raw transcripts & recordings |
search_transcripts | query, date_range_start, date_range_end, participant, limit, cursor, org_wide | Raw transcripts & recordings |
get_meeting_transcript returns timestamped utterances with speaker, start and end seconds, text and detected language. Use start_seconds to jump to a point in the call, and order to read from the end of a long meeting without paging through it.
search_transcripts does case-insensitive keyword search over raw transcript text, across the 100 most recent meetings in scope.
Knowledge Base
| Tool | Parameters | Permission |
|---|---|---|
search_knowledge_base | query | Knowledge base |
list_sources | limit, cursor | Knowledge base |
get_source_metadata | source_id | Knowledge base |
search_knowledge_base searches your team's training sources — FAQs, documents, crawled sites and Slack-ingested content. It returns organization-visible content plus your own private sources, exactly matching what you'd see in the app.
list_sources catalogs the sources visible to you; get_source_metadata returns full detail for one, including the list of URLs it ingested.
Team Activity
| Tool | Parameters | Permission |
|---|---|---|
team_activity | date_range_start, date_range_end | Organization-wide (admin) |
Per-member recorded-meeting activity across the organization. This tool is always organization-wide — it has no personal-scope mode and requires an admin connection with organization-wide access approved.
Response Shape
Every tool returns the same envelope, so an assistant always knows what scope was applied and whether anything was left out:
{
"schema_version": "1",
"scope_applied": "member",
"as_of": "2026-07-22T09:00:00Z",
"items": [],
"has_more": true,
"next_cursor": "3",
"truncated": false
}scope_appliedismemberororganization, so you can always tell whether an answer covered just you or the whole team.has_moreandnext_cursorpage through large result sets.truncatedis set when a response hit the size ceiling. Whole items are dropped rather than half an item, and the cursor is adjusted so nothing is silently skipped.
Some tools add fields on top — a total count, transcript duration_minutes, or how many meetings an account review analyzed.
Limits
| Limit | Value |
|---|---|
| Requests | 120 tool calls per minute, per connection |
| Response size | 400 KB per response |
| Request timeout | 45 seconds |
list_meetings | Up to 200 per page |
list_action_items | Up to 500 rows |
get_meeting_transcript | Up to 500 utterances per page |
search_transcripts | Up to 200 hits, across the 100 most recent meetings in scope |
| Question Intelligence | Up to 200 per page |
review_pipeline | Analyzes up to 500 meetings, and reports whether that covered everything |
Error Codes
If something is wrong, the tool returns a structured error rather than an empty result:
| Code | What it means |
|---|---|
unauthorized | The token is missing, invalid or expired. Reconnect from your assistant. |
grant_revoked | The connection was revoked in Tenali. Reconnect to restore access. |
insufficient_scope | The tool needs a permission you didn't approve. Reconnect and tick it. (Exception: a missing recording permission returns a redacted result, not this error — see get_meeting_recording above.) |
membership_revoked | Your Tenali account no longer has access to that workspace. |
disabled | The MCP server isn't enabled for your workspace. |
subscription_required | Your plan has lapsed. An admin can renew it from the billing page. |
rate_limited | More than 120 calls in a minute. Try again shortly. |
admin_scope_lost | Organization-wide access is no longer available for your account. Retry without it. |
invalid_argument | A parameter was malformed — usually a bad date or cursor. |
not_found | The meeting or source doesn't exist, or isn't visible to you. |
timeout | The request took too long. Narrow the filters and retry. |
internal_error | Something went wrong on our side. |
Next Guides
Was this page helpful?
Connect Perplexity, Gemini, Cursor & Other Clients
Connect Tenali to Perplexity, Gemini, Cursor, VS Code, GitHub Copilot, Windsurf and other supported MCP clients using the same Model Context Protocol server URL.
Permissions & Security
How the Tenali MCP server protects your data — the read-only tool surface, the permissions you approve for Claude and ChatGPT, organization-wide admin access, audit logging and how to revoke a connection.