Skip to main content
Glama

Aircall MCP by usefulapi

Server Details

Read calls, contacts, users, teams and numbers; tag calls and create or update contacts.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
83.3% over 65 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

TDQS

A3.7/5.0

Scored across 25 tools

Disambiguation5/5

Each tool targets a distinct resource and action combination (get_call vs get_call_summary vs get_call_transcription are clearly delineated by their subject). The only mild overlap is list_calls vs search_calls, but descriptions distinguish filtered listing from free-text search. No two tools would be easily confused.

Naming Consistency5/5

Every tool follows the identical aircall_verb_noun pattern (aircall_get_call, aircall_list_users, aircall_create_contact, aircall_search_contacts). The verb vocabulary is consistent (get/list/search/create/update/add/tag) and resource nouns are singular/plural used predictably.

Tool Count4/5

25 tools is on the heavy side for the stated scope, but each appears to map to a distinct REST endpoint across six resource families (calls, contacts, numbers, tags, teams, users) plus AI call features. The set is broad but not padded with redundant tools, so it is defensible though somewhat bulky.

Completeness3/5

Calls and contacts are fairly well covered (list/get/search/create/update plus tagging and comments), but there is no delete_contact, no delete/update for calls, and no write operations at all for numbers, tags, teams, or users. Notable lifecycle gaps exist, though the core read and contact-creation workflows are usable.

Available Tools

25 tools
aircall_add_call_commentAdd call commentB
Destructive
Inspect

Add a comment / note to a call. Aircall REST: POST /calls/{id}/comments.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe call id to comment on.
contentYesThe comment text (required).

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation destructiveHint=true already signals a write operation, and the description does not contradict it. The description adds the underlying REST endpoint, which is mildly useful context, but says nothing about permissions, whether comments are editable/deletable, or any side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, no filler, with the core action stated first and the endpoint reference second. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter additive write with no output schema, the description covers the essentials but omits the operational context an agent might want, such as auth requirements or confirmation of return format. Adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and both parameters (id, content) are fully documented in the schema itself. The description only alludes to them indirectly via the endpoint path and the word 'comment', adding no syntax or format detail beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Add a comment / note to a call'), which immediately distinguishes it from read-only siblings like aircall_get_call and aircall_get_call_summary. It does not explicitly name a sibling alternative, but the write nature of the verb makes the intent unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this versus aircall_tag_call or other call-mutating tools, and no prerequisites or exclusions are stated. Usage is only implied by the verb 'Add'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aircall_create_contactCreate contactA
Destructive
Inspect

Create a new contact in the shared address book. Aircall typically requires at least one of first_name / last_name / company_name. Aircall REST: POST /contacts.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailsNoEmail addresses for the contact, each { label, value }.
last_nameNoThe contact's last name.
first_nameNoThe contact's first name.
informationNoFreeform notes about the contact.
company_nameNoThe contact's company name.
phone_numbersNoPhone numbers for the contact, each { label, value }.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, telling the agent this is a mutating operation, so the description only needs supporting context. It adds the shared-address-book scope and the REST endpoint mapping, but says nothing about auth/permission needs, duplicate handling, or whether a failure leaves partial state. Note destructiveHint=true on a create tool is aggressive flagging, but the description does not contradict it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences with zero padding; the purpose leads and the constraint follows. The closing "Aircall REST: POST /contacts" is marginally useful mapping info but does not help an agent select or invoke the tool, so it slightly dilutes an otherwise tight definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a create tool with no output schema, the description should say what comes back (e.g. the new contact's id) so the agent can chain into get_contact or update_contact. It also omits required permissions. Given the annotations cover safety and the schema fully documents fields, this is adequate but has a visible gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds a cross-parameter constraint the schema cannot express: the schema lists no required array at all, yet the description states at least one of first_name/last_name/company_name is needed. That is real added meaning beyond the structured fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Create a new contact in the shared address book" gives a specific verb+resource that is immediately distinguishable from the get/update/list contact siblings. It stops short of the 5 tier because it never names an alternative or boundary case; the distinction is carried mostly by the verb in the name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description supplies a validity precondition ("typically requires at least one of first_name / last_name / company_name"), which is useful when composing a call. However it gives no when-to-use vs when-not guidance, no exclusions, and does not mention the related update_contact or search_contacts siblings, so usage is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aircall_get_callGet callB
Read-only
Inspect

Get a single call by id. Aircall REST: GET /calls/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe call id.
fetch_contactNoIf true, include the full contact details for the call.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered, and the description reinforces that this is a plain fetch by naming the REST endpoint. It adds nothing about what is returned, whether the call must exist, or error behavior, so with annotations doing most of the work this lands at an acceptable but unremarkable 3.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the core action and free of filler. The endpoint-reference sentence is mildly redundant but earns its place as a locator for the underlying API.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-by-id tool with complete schema descriptions, a readOnly annotation, and no output schema, the definition is minimally viable. It leaves the return shape and the meaning of fetch_contact's effect on the response entirely to inference, which is a gap but not a crippling one.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both 'id' and 'fetch_contact' documented in the schema itself, so the baseline is 3. The description adds no syntax, format, or semantics beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get a single call by id') and even maps it to the REST endpoint, so the operation is unambiguous. It does not distinguish itself from closely related siblings such as aircall_get_call_transcription or aircall_list_calls, but the core purpose is clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus aircall_list_calls, aircall_search_calls, or any of the aircall_get_call_* sub-resource tools in the family. The agent must infer that 'by id' means a known single call, and nothing states prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aircall_get_call_action_itemsGet call action itemsB
Read-only
Inspect

Get the AI-extracted action items / follow-ups from a call (Aircall AI Voice feature). Aircall REST: GET /calls/{id}/action_items.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe call id.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already declares this is a safe read. The description adds useful context beyond annotations: that the items are AI-extracted, that they are follow-ups, and that this maps to Aircall AI Voice, which hints results may be empty when the feature is absent. It does not state behavior when no items exist or return shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short, front-loaded sentences with no filler; the purpose comes first and the REST endpoint grounding follows. The endpoint reference is arguably redundant but compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a simple read tool with full annotation coverage, but it lacks an output schema and the description does not describe the return shape (e.g. an array of action items with fields), leaving the agent without a clear idea of what comes back.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single 'id' parameter is self-evident, so the baseline is 3. The description adds no id semantics beyond what the schema already documents.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Get) and resource (AI-extracted action items / follow-ups from a call), which distinguishes it by name from the other get_call_* siblings such as sentiments, summary, topics and transcription. It does not, however, explicitly say how it differs from or complements those siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no mention of alternatives among the many get_call_call_* extraction tools, and no prerequisites (e.g. whether the Aircall AI Voice feature must be enabled for this call). The agent must infer usage entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aircall_get_call_sentimentsGet call sentimentsA
Read-only
Inspect

Get the AI-generated sentiment analysis of a call (Aircall AI Voice feature). Aircall REST: GET /calls/{id}/sentiments.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe call id.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safe-read profile is covered. The description adds useful context that the data is AI-generated and tied to the Aircall AI Voice feature, plus the underlying REST endpoint, but it does not disclose return format, pagination, auth requirements, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the core purpose front-loaded. The REST endpoint detail is useful but slightly redundant with the tool name and endpoint path already implied; overall it is efficient and easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read tool with annotations covering safety, the description tells the agent what it retrieves and from which endpoint. It does not describe the returned sentiment structure, but the complexity is low enough that the definition remains usable without an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the single 'id' parameter is fully documented in the schema itself. The description adds no parameter semantics beyond what the schema provides, which matches the baseline 3 for high-coverage schemas.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Get the AI-generated sentiment analysis of a call.' This clearly distinguishes it from sibling call-detail tools like get_call_summary, get_call_topics, and get_call_transcription by naming the distinct resource (sentiments), though it does not explicitly name or contrast those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the use case (retrieving sentiment analysis for a specific call) but provides no explicit when-to-use guidance, no exclusions, and no routing to alternatives such as get_call_summary or get_call_transcription.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aircall_get_call_summaryGet call summaryA
Read-only
Inspect

Get the AI-generated summary of a call (Aircall AI Voice feature). Aircall REST: GET /calls/{id}/summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe call id.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safe-read profile is covered. The description usefully adds that the content is AI-generated (implying it may be absent for calls without the AI Voice feature) and cites the underlying REST endpoint. It does not disclose failure behavior, auth/scope needs, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the purpose and followed by the source feature and endpoint. Nothing is padded and every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (one required integer param, read-only, no output schema), and the description conveys what is returned at a high level ('AI-generated summary'). Since no output schema exists, a sentence on the response shape (plain text vs. structured summary object) would make it fully self-contained, but little is genuinely missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single 'id' parameter is documented there ('The call id.'). The description adds no format, range, or sourcing detail beyond the schema, so the baseline of 3 for fully-covered parameters applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — 'Get the AI-generated summary of a call' — and the qualifying phrase 'AI-generated summary' cleanly separates it from siblings like aircall_get_call_transcription, aircall_get_call_sentiments and aircall_get_call_topics. An agent can identify the distinct artifact without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use, when-not-to-use, or named alternative (e.g. use get_call_transcription for the raw transcript instead). The parenthetical '(Aircall AI Voice feature)' hints at a precondition but does not state whether the feature must be enabled or what happens when it is not.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aircall_get_call_topicsGet call topicsB
Read-only
Inspect

Get the AI-detected topics of a call (Aircall AI Voice feature). Aircall REST: GET /calls/{id}/topics.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe call id.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds the meaningful context that results are AI-derived and gated on the Aircall AI Voice feature, but says nothing about behavior when that feature is disabled or the topics are absent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences, purpose-first, with no filler; the REST endpoint is relegated to a trailing clause.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-param read tool with annotations covering safety and no output schema, the essentials are present, but it omits the error/empty-result behavior for calls without AI topics or accounts lacking the AI Voice feature, which an agent would need to interpret outcomes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter (id) with 100% schema description coverage, so the schema fully documents it. The description adds no format or sourcing detail beyond the schema baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: retrieve AI-detected topics for a call, plus the underlying REST route. It is distinguishable from most siblings, though it does not explicitly contrast itself with adjacent AI tools like aircall_get_call_sentiments or aircall_get_call_summary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to call this versus the other per-call AI endpoints (sentiments, summary, action items). The 'Aircall AI Voice feature' note hints at an availability precondition but is not framed as a usage rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aircall_get_call_transcriptionGet call transcriptionB
Read-only
Inspect

Get the AI-generated transcription of a call (Aircall AI Voice feature). Aircall REST: GET /calls/{id}/transcription.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe call id.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint=true, so the safety profile is covered. The description adds useful context by naming the Aircall AI Voice origin, implying the transcript may not exist for every call. It says nothing about behavior when no transcription exists, auth requirements, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the purpose and followed by the API mapping. No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter read tool this is close to adequate, but with no output schema the description gives no hint of the return shape (full text, speaker segments, timestamps) or the no-transcription case.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter with 100% schema description coverage, so the baseline is 3. The REST path confirms id is a call identifier, but the description adds no format or constraint detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb (Get) and a specific resource (AI-generated transcription of a call), plus the backing REST path GET /calls/{id}/transcription. It is clearly distinct from siblings like get_call_summary or get_call_sentiments, though it never explicitly contrasts itself with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No statement of when to use this versus the other per-call AI tools (summary, topics, sentiments, action items), and no prerequisites such as the Aircall AI Voice feature needing to be enabled. Usage is only implied by the purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aircall_get_companyGet companyA
Read-only
Inspect

Get details of the authenticated Aircall company (name, plan, usage). Aircall REST: GET /company.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds some value by listing returned fields and the backing endpoint (GET /company), but says nothing about auth scope beyond 'authenticated', rate limits, or error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, resource and scope front-loaded, with the endpoint reference appended without padding. Every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, but the description enumerates the returned fields (name, plan, usage), partly compensating. Combined with annotations covering the read-only nature and a zero-parameter schema, an agent has enough to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing to document; baseline 4 applies. The empty schema is consistent with a company-scoped singleton read.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get details of the authenticated Aircall company') and even names the returned fields (name, plan, usage). The 'company' resource is distinct from every sibling (get_user, get_team, get_number, get_contact), so an agent can select it unambiguously.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the zero-parameter, read-only getter shape, but there is no explicit when-to-use statement and no mention of alternatives or prerequisites. For a self-evident singleton getter this is adequate but thin.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aircall_get_contactGet contactA
Read-only
Inspect

Get a single contact by id. Aircall REST: GET /contacts/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe contact id.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the non-mutating nature is covered structurally. The description adds only the REST route mapping (GET /contacts/{id}), with no mention of auth requirements, rate limits, or behavior on an unknown id, so it adds modest value beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two terse sentences with the operation front-loaded and the endpoint mapping as supporting detail; there is no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read tool whose safety profile is covered by annotations, the description is nearly sufficient. The only gap is the absence of any note on the returned contact shape, which is not covered by an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single 'id' parameter is already documented as the contact id, so the description's 'by id' phrasing adds no format or constraint detail beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Get) and resource (a single contact) scoped by id, which differentiates it from aircall_list_contacts and aircall_search_contacts that return collections. It stops short of naming those siblings explicitly, which is what a 5 would require.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the phrase 'by id' tells the agent a contact id is required, but there is no statement of when to prefer this over aircall_search_contacts or aircall_list_contacts, nor any prerequisite or error-condition guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aircall_get_numberGet numberB
Read-only
Inspect

Get a single phone number by id. Aircall REST: GET /numbers/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe number id.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered by structured data. The description adds nothing beyond the endpoint string – no return shape, no error behavior for a missing id, no mention of what fields a number has. With the lower bar set by annotations, this still under-delivers.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, zero waste, purpose front-loaded in the first clause. The endpoint reference is compact and informative. Exemplary economy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a trivial single-resource getter with one fully documented parameter and readOnlyHint, this is adequate. It lacks any note on 404 behavior or what the response contains, but the tool's simplicity keeps the gap modest.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the sole parameter 'id' is documented there as 'The number id.' The description adds only the type context ('phone number'), which is marginal. Baseline 3 applies when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb+resource: 'Get a single phone number by id,' and it even names the underlying REST endpoint. It distinguishes itself from aircall_list_numbers implicitly via 'single...by id,' though it doesn't explicitly name the sibling. Strong but not maximally differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'by id' implies this is for when you already have a number id, which suggests the list-based alternative. However, no explicit when-to-use or when-not-to-use guidance is given, and aircall_list_numbers is never named. Implied usage only.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aircall_get_tagGet tagA
Read-only
Inspect

Get a single tag by id. Aircall REST: GET /tags/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe tag id.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so safety is covered, and the description adds the REST endpoint (GET /tags/{id}) which confirms a non-mutating read. It adds no further behavior such as error handling for a nonexistent id or what a successful lookup returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two terse sentences, front-loaded with the action and ending with the endpoint mapping. Nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read-only lookup with no output schema, the description is sufficient to call the tool correctly. It could mention the return shape or id source, but those are minor gaps for a tool this simple.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single id parameter is fully documented in the schema as 'The tag id.' The description adds no meaning beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get a single tag by id'), and the word 'single' implicitly distinguishes it from the sibling aircall_list_tags. An agent can tell this is a point lookup rather than a collection fetch.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus aircall_list_tags, nor any prerequisite or context for obtaining an id. Usage is only inferable from the name and the required parameter.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aircall_get_teamGet teamB
Read-only
Inspect

Get a single team by id. Aircall REST: GET /teams/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe team id.

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already establishes this is a safe read, so the description carries a lower burden, but it adds little beyond that. It discloses the underlying REST route (GET /teams/{id}) yet says nothing about return shape, pagination, or behavior when the id does not exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with zero filler; the purpose is front-loaded and the REST mapping is a compact second clause. Nothing needs trimming.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read tool with readOnlyHint and full schema coverage, the description supplies everything needed to invoke it correctly. There is no output schema, so the return shape is unknown, but for a standard single-resource GET that is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the sole parameter 'id' is already documented in the schema as the team id. The phrase 'by id' matches the schema without adding format, range, or sourcing detail, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Get a single team by id'), and the word 'single' implicitly contrasts with the sibling aircall_list_teams. It stops short of naming the alternative explicitly, so it is clear but not maximally differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: 'by id' tells the agent this is a point lookup rather than a listing, but there is no explicit when-to-use statement, no mention of when to prefer aircall_list_teams, and no prerequisites or error conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aircall_get_userGet userA
Read-only
Inspect

Get a single user (agent) by id. Aircall REST: GET /users/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe user id.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds the underlying REST endpoint (GET /users/{id}), which helps an API-literate agent reason about behavior, but it says nothing about not-found handling, error shape, or returned fields. Modest added value over the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the operation and followed by the endpoint mapping. Nothing extraneous; every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, read-only getter with no output schema, the definition covers the essentials and the annotations cover safety. It would be stronger if it hinted at the returned resource shape or how to discover a valid id, but nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With a single parameter and 100% schema description coverage, the schema already documents "id" fully. The description restates the id-based lookup but adds no format, source, or constraint detail (e.g., where the id comes from) beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Get a single user (agent) by id" gives a specific verb and resource, and the word "single" distinguishes it from aircall_list_users without naming it directly. The REST endpoint mapping reinforces the semantics. It stops short of explicitly naming the list/search sibling, so it is clear but not fully differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage (fetch one known user by id), and the singular framing hints that listing is handled elsewhere, but there is no explicit when-to-use statement, no prerequisite, and no named alternative. Usage is inferable rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aircall_list_callsList callsB
Read-only
Inspect

List calls, optionally filtered by a creation-date window and ordered. Aircall REST: GET /calls.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoMaximal creation date — a UNIX timestamp or ISO 8601 string.
fromNoMinimal creation date — a UNIX timestamp or ISO 8601 string.
pageNo1-based page number to fetch (default 1).
orderNoSort order by creation date — 'asc' or 'desc' (default asc).
per_pageNoResults per page (default 20, max 50).
fetch_contactNoIf true, include the full contact details of each call.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already tells the agent this is a safe read. The description adds the underlying endpoint (GET /calls) and confirms the date-ordering/filtering behavior, but says nothing about pagination semantics, rate limits, or auth requirements beyond what the schema already implies.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences, front-loaded with the core action and scope, with no filler. The trailing endpoint reference is marginally useful for routing but is the one element that does not fully earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

All six optional params are documented in the schema and the read-only nature is covered by annotations, so the definition is callable as-is. It is still thin for a list endpoint with no output schema: return shape, pagination behavior, and the rationale for choosing it over aircall_search_calls are unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with 6 well-documented optional params, so the schema already carries parameter meaning. The description's 'creation-date window' and 'ordered' phrasing merely restates from/to and order without adding format or default detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb+resource ('List calls') plus scope ('filtered by a creation-date window and ordered') and maps to a REST endpoint. It does not, however, distinguish itself from the sibling aircall_search_calls, leaving the list-vs-search boundary implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the mention of an optional creation-date window hints at when this broad list is appropriate, but there is no statement of when to prefer it over aircall_search_calls or aircall_get_call, and no exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aircall_list_contactsList contactsA
Read-only
Inspect

List contacts in the shared address book, optionally by creation-date window and order. Aircall REST: GET /contacts.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoMaximal creation date — a UNIX timestamp or ISO 8601 string.
fromNoMinimal creation date — a UNIX timestamp or ISO 8601 string.
pageNo1-based page number to fetch (default 1).
orderNoSort order by creation date — 'asc' or 'desc' (default asc).
per_pageNoResults per page (default 20, max 50).

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered and the bar is lower. The description adds the upstream endpoint (GET /contacts) and notes the list is scoped to the 'shared address book', but says nothing about pagination behavior, result caps, or empty-result handling beyond what the schema shows.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no waste, and the core purpose is front-loaded before the endpoint reference. The REST endpoint note is marginally useful but slightly non-essential.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only list tool with 100% schema coverage and no output schema, the description supplies enough to call it correctly. Only the lack of any note on pagination/result limits keeps it from being fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all five parameters (from, to, page, order, per_page) are already fully documented in the schema. The description only gestures at the date window and ordering, adding no format or default detail beyond the structured fields. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List contacts in the shared address book') plus the optional filtering dimension, so the agent knows this is a bulk read. It implicitly contrasts with aircall_get_contact (single) but never names siblings such as aircall_search_contacts, so the differentiation is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'optionally by creation-date window and order' hints at the appropriate use case, but there is no explicit when-to-use versus aircall_search_contacts or aircall_get_contact, and no exclusions or prerequisites. Usage is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aircall_list_numbersList numbersA
Read-only
Inspect

List the phone numbers owned by the company (id, name, digits, country). Aircall REST: GET /numbers.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page number to fetch (default 1).
per_pageNoResults per page (default 20, max 50).

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds useful context in the form of the underlying REST mapping (GET /numbers) and the returned field set, but says nothing about pagination behavior or ordering even though page/per_page exist. With annotations carrying the safety burden, this is a modest but real contribution.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the core purpose and returned fields front-loaded, followed by the REST endpoint mapping. No filler, though the endpoint string is marginal value for an agent that is not calling the API directly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With only two optional params, no required params, and no output schema, the description compensates reasonably by listing the returned fields. It is nearly complete; only pagination/ordering behavior is left unstated, which the schema partially covers.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both page and per_page fully documented including defaults and max in the schema itself. The description adds no parameter-level meaning (e.g., how pagination interacts with large number sets), so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List the phone numbers owned by the company') and even enumerates the returned fields (id, name, digits, country), so the agent knows exactly what this returns. It does not explicitly distinguish itself from the sibling aircall_get_number (single-number lookup), though the plural 'list' vs 'get' makes that reasonably inferable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by the verb and scope; there is no explicit statement of when to prefer this over aircall_get_number or how it relates to listing other resources. No exclusions or prerequisites are given. Adequate but leaves the alternative-selection decision to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aircall_list_tagsList tagsB
Read-only
Inspect

List the company's call tags (id, name, color). Aircall REST: GET /tags.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page number to fetch (default 1).
per_pageNoResults per page (default 20, max 50).

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already covers the safety profile, so the bar is lower. The description adds the underlying REST endpoint and the returned field set, but says nothing about pagination behavior or result volume, which the schema covers only via page/per_page.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very short and front-loaded: the purpose leads and the REST endpoint trails. The endpoint reference is marginal value but not wasteful, so it is appropriately sized for a simple list tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with full schema coverage and safety annotations, the description is essentially complete. It omits pagination/result-size context but the schema parameters cover this adequately.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both page/per_page are fully documented in the schema. The description adds no parameter semantics beyond what the schema already provides, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List the company's call tags') and even names the returned fields (id, name, color), making it easy to distinguish from the singular aircall_get_tag sibling. Differentiation is implied by 'list' vs 'get' rather than stated, which keeps it just below a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use or when-not-to-use guidance and no alternative tool is named. The plural 'list tags' implies a browse-all use case versus aircall_get_tag, but the agent must infer this rather than being told.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aircall_list_teamsList teamsA
Read-only
Inspect

List the company's teams and their members. Aircall REST: GET /teams.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page number to fetch (default 1).
per_pageNoResults per page (default 20, max 50).

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already declares the safety profile, so the description only needs to add context. It usefully notes that member data is returned alongside teams, but says nothing about pagination behavior, result size, or auth requirements beyond the schema's page/per_page defaults.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the payload content front-loaded. The trailing 'Aircall REST: GET /teams.' is marginally useful for traceability but adds no selection or invocation value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with no output schema and 100% schema coverage, the description covers the essentials. The main omission is any hint about pagination or result shape, which matters for a list endpoint, but annotations carry the safety profile.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters (page, per_page) are fully documented with defaults and maxima in the schema itself. The description adds no additional parameter meaning, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (list the company's teams) and adds that members are included in the result, which distinguishes it from a single-team fetch. It does not explicitly name the sibling aircall_get_team, so it falls short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: 'list' versus 'get' suggests this is the enumerate-everything variant, but the description never states when to prefer it over aircall_get_team or aircall_list_users. No exclusions or prerequisites are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aircall_list_usersList usersB
Read-only
Inspect

List users (agents) in the Aircall company (id, name, email, availability). Aircall REST: GET /users.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page number to fetch (default 1).
per_pageNoResults per page (default 20, max 50).

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safe-read profile is covered. The description adds the underlying REST mapping (GET /users) and the shape of returned entities, but says nothing about pagination limits, total counts, or rate limiting beyond what the schema already provides.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the action and resource, no filler. The trailing REST endpoint note is marginally useful for mapping but could be dropped without loss.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully enumerates returned fields (id, name, email, availability), which compensates for the missing return documentation. A complex tool this is not, and the pagination params are covered by the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so page and per_page (with defaults and max) are fully documented in the schema. The description adds no further parameter semantics, which is the expected baseline when the schema carries the load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List users (agents) in the Aircall company') and even names the fields returned. It is distinguishable from the singular sibling aircall_get_user, though it never explicitly contrasts the two.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Says nothing about when to list users versus fetching a single user via aircall_get_user, nor about pagination strategy or prerequisites. The agent must infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aircall_pingPingA
Read-only
Inspect

Health check — verify the API is reachable and the credentials are valid. Aircall REST: GET /ping.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already tells the agent this is a safe read, and the description adds that the call validates credential validity, not just network reachability — useful behavioral context beyond the annotation. It does not describe failure modes, response shape, or whether it counts against rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the purpose and followed by the concrete endpoint. No filler and nothing redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, zero-side-effect diagnostic tool with annotations covering the safety profile and no output schema to describe, the definition gives the agent everything needed to call it correctly and interpret its intent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters and the schema is empty, so there is nothing for the description to explain; the baseline of 4 applies. No parameter semantics are needed or missing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific purpose (health check verifying API reachability and credential validity) plus the underlying REST call (GET /ping). This is clearly distinguishable from every sibling, which are all domain-resource CRUD/search operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Communicates when to use it — to confirm the API is up and credentials work — which is sufficient context for a diagnostic endpoint with no true alternative. It does not state exclusions or prerequisites (e.g., whether it consumes rate limit), so it stops short of explicit when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aircall_search_callsSearch callsA
Read-only
Inspect

Search calls by a free-text term (e.g. phone number, tag, direction). Aircall REST: GET /calls/search.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoSearch term to match calls against.
pageNo1-based page number to fetch (default 1).
per_pageNoResults per page (default 20, max 50).

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already establishes this as a safe read. The description adds only the underlying REST endpoint (GET /calls/search), which is mildly useful provenance but discloses nothing about result shape, pagination behavior beyond the schema, or matching semantics (substring vs exact).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the core action and examples. The trailing REST endpoint reference is slightly extraneous but does not bloat the definition; nothing is wasted at length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, yet for a simple read-only search tool the definition covers the action, the searchable fields, and a safe read signal from annotations. An agent has enough to call it correctly. Actually, no output shape is described, which slightly under-serves an agent expecting structured results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so q, page, and per_page are already fully documented in the schema; the baseline is 3. The description's examples of what can be searched (phone number, tag, direction) add modest value about the q parameter's semantics but no syntax detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource (search calls) and clarifies the search surface with examples (phone number, tag, direction). It does not explicitly differentiate itself from the sibling aircall_list_calls, so an agent must infer the search-vs-list boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the term 'Search' and the example search keys, but there is no explicit guidance on when to prefer this over aircall_list_calls or the get_call* siblings, nor any stated prerequisites or exclusions. Adequate but leaves routing inference to the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aircall_search_contactsSearch contactsB
Read-only
Inspect

Search contacts by a free-text term (e.g. name, phone number, email). Aircall REST: GET /contacts/search.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoSearch term to match contacts against.
pageNo1-based page number to fetch (default 1).
per_pageNoResults per page (default 20, max 50).

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description reinforces this with the GET endpoint but adds little else — nothing about pagination behavior, result ordering, match semantics (exact vs partial), or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences, front-loaded with the action and scope; the REST endpoint reference is a minor but non-wasteful addition. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only search tool with fully documented params and no output schema, the description is adequate. Minor gap: no mention of how results are returned or that pagination defaults apply, but these are low-stakes here.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema documents all three parameters including page/per_page pagination. The description adds only illustrative examples for the q term, which is marginal value beyond the schema's own description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (search) and resource (contacts) and clarifies what the free-text term matches (name, phone, email). This distinguishes it implicitly from aircall_list_contacts, though it never names that sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies you should use it when you have a search term, but gives no explicit when-to-use/when-not guidance or points to alternatives like aircall_list_contacts or aircall_get_contact. No prerequisites or scoping conditions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aircall_tag_callTag callA
Destructive
Inspect

Apply tags to a call by tag id (get ids from aircall_list_tags). Aircall REST: POST /calls/{id}/tags.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe call id to tag.
tag_idsYesIds of the tags to apply (from aircall_list_tags) (required).

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, so the safety profile is carried structurally. The description adds the REST endpoint mapping but says nothing about the destructive behavior implied by the annotation — whether applied tags replace existing tags, idempotency, or permission needs — leaving the most consequential trait unexplained.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, zero filler, and the core action is front-loaded ahead of the endpoint and id-source detail. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter mutation with no output schema and a single destructiveHint annotation, the description covers purpose, id source, and endpoint adequately. The remaining gap is the destructive semantics of the POST, which is left entirely to the annotation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%; both 'id' and 'tag_ids' are already documented in the schema, including the note that tag ids come from aircall_list_tags. The description merely echoes the schema's provenance hint, adding no format or constraint detail beyond it, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('apply tags to a call') plus the scoping key (tag id) and the exact REST endpoint. It also names the companion tool (aircall_list_tags) that supplies the ids, so an agent can tell what this does and what it depends on without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The parenthetical '(get ids from aircall_list_tags)' gives a clear prerequisite and routes the agent to the right sibling for discovery. It stops short of stating when not to use this tool or whether tags replace existing ones, so it is clear context rather than full when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aircall_update_contactUpdate contactB
Destructive
Inspect

Update fields on an existing contact. Only provided fields are changed. Aircall REST: PUT /contacts/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe contact id to update.
emailsNoReplace the contact's email addresses, each { label, value }.
last_nameNoThe contact's last name.
first_nameNoThe contact's first name.
informationNoFreeform notes about the contact.
company_nameNoThe contact's company name.
phone_numbersNoReplace the contact's phone numbers, each { label, value }.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare destructiveHint=true, so the safety profile is partly covered. The description usefully adds that this is a partial update rather than a full overwrite, but it omits that array fields are replaced wholesale, and the stated PUT endpoint sits oddly against the 'only provided fields' claim.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short, front-loaded sentences with no filler. The REST endpoint line is mildly redundant but is still a single compact clause that aids debugging.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-param mutation with no output schema, the description covers the core partial-update contract but leaves gaps: nothing about permissions, reversibility, or the replace-not-merge behavior of the array fields. Adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents id, names, information, and the labelled email/phone arrays. The description adds no syntax or format detail beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Update fields on an existing contact'), which clearly separates it from aircall_create_contact. Sibling differentiation is implied by 'existing' but no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The partial-update sentence ('Only provided fields are changed') tells the agent how to use it, but there is no explicit when-to-use vs when-not or reference to alternatives like create_contact or get_contact. Usage is implied rather than directed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 25 tool updates
    • Changedaircall_add_call_comment1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedaircall_create_contact1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedaircall_get_call1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedaircall_get_call_action_items1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedaircall_get_call_sentiments1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedaircall_get_call_summary1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedaircall_get_call_topics1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedaircall_get_call_transcription1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedaircall_get_company1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedaircall_get_contact1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedaircall_get_number1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedaircall_get_tag1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedaircall_get_team1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedaircall_get_user1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedaircall_list_calls1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedaircall_list_contacts1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedaircall_list_numbers1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedaircall_list_tags1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedaircall_list_teams1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedaircall_list_users1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedaircall_ping1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedaircall_search_calls1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedaircall_search_contacts1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedaircall_tag_call1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedaircall_update_contact1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. 25 tool updates
    • First observedaircall_add_call_comment
    • First observedaircall_create_contact
    • First observedaircall_get_call
    • First observedaircall_get_call_action_items
    • First observedaircall_get_call_sentiments
    • First observedaircall_get_call_summary
    • First observedaircall_get_call_topics
    • First observedaircall_get_call_transcription
    • First observedaircall_get_company
    • First observedaircall_get_contact
    • First observedaircall_get_number
    • First observedaircall_get_tag
    • First observedaircall_get_team
    • First observedaircall_get_user
    • First observedaircall_list_calls
    • First observedaircall_list_contacts
    • First observedaircall_list_numbers
    • First observedaircall_list_tags
    • First observedaircall_list_teams
    • First observedaircall_list_users
    • First observedaircall_ping
    • First observedaircall_search_calls
    • First observedaircall_search_contacts
    • First observedaircall_tag_call
    • First observedaircall_update_contact

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables call-recording upload and retrieval, compliance metadata and tag management, group/account/user administration, REST-hook (webhook) notifications, and Dub.Point telecom-system integration against the Dubber platform. All destructive operations are consent-gated and confirmation-protected.
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables building, publishing, and operating CallDeskTech voice agents, including conversation flows, knowledge bases, phone routing, calls, batch calls, and webhooks.
    66 npm
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Provides access to UniFi Talk phone system data including call history, timelines, transcriptions, users, devices, and service health, with read-only operations by default and optional write capabilities.
    7
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.