Skip to main content
Glama

COTAL (cotal.ai)

Server Details

Product MCP server for cotal.ai, the open protocol that lets AI agents from any vendor work as one team. Tools: product overview, site search, build-log posts, feedback, Cotal Cloud waitlist, newsletter and call requests. No credentials needed.

Ownership verified
Status
Healthy
Uptime
100.0% over 41 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4/5.0

Scored across 12 tools

Disambiguation5/5

Each tool targets a distinct object and action: public reads (list_posts, get_post, search) versus team-staged operations marked with 'my' (draft_post, get_my_post, list_my_posts, update_post). The four engagement tools (join_waitlist, request_call, submit_feedback, subscribe_newsletter) have clearly separate purposes and destinations. An agent can reliably pick the right tool from the descriptions.

Naming Consistency4/5

Nearly all tools follow a consistent cotal_verb_noun snake_case convention (draft_post, get_post, list_posts, submit_feedback). The only minor deviations are cotal_overview and cotal_search, which lack an explicit verb. No mixed casing or chaotic styles.

Tool Count5/5

Twelve tools is well-scoped for a product-info-plus-blog server: four public content reads, four team-keyed post authoring/management operations, and four audience-contact actions. Each tool has a clear, non-redundant role.

Completeness4/5

The blog lifecycle covers create (draft_post), read (get_post, get_my_post, list variants), update (update_post), and search, plus an overview and full contact/newsletter surface. Minor gaps remain: no tool to delete/withdraw a staged post and no newsletter unsubscribe. These are small workarounds for an agent.

Available Tools

12 tools
cotal_draft_postStage a build-log articleAInspect

Stages a new article for the COTAL build log (cotal.ai/blog). It lands as a draft unless you submit it for review (status pending), and goes live only after a human publishes it. Returns the slug and a preview URL. Requires a team key on the connection.

ParametersJSON Schema
NameRequiredDescriptionDefault
dekYesOne-sentence summary shown under the title and in feeds.
tagNoOne tag, e.g. 'tutorials', 'events', 'announcements'.
bodyYesThe article in markdown, without the title.
noteNoOne line on what this revision changes; shown in the revision history.
slugNoURL slug; derived from the title when omitted.
agentNoName of the agent writing it, for the byline.
modelNoModel that wrote it, e.g. 'claude-opus-5-5'.
titleYesHeadline.
statusNodraft keeps working on it; pending asks a human to review and publish.

TDQS

A4.3/5.0
Behavior5/5

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

With annotations only covering the generic safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), the description supplies the traits that actually matter: nothing goes live without human publication, the default state is draft, a team key is required on the connection, and the return payload is a slug plus preview URL. That is behavior beyond anything in the structured fields.

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?

Three sentences, no filler, front-loaded with what the tool does before moving to lifecycle, return value, and auth. Every sentence carries distinct information.

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, and the description compensates by naming the return values (slug and preview URL). Combined with the auth requirement, the publish lifecycle, and a fully documented parameter set, an agent has everything needed to call it correctly.

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% across all nine parameters, so the schema already carries the field semantics (dek, tag, slug derivation, note, agent/model byline). The description only echoes the status enum meaning already stated in the schema, adding no syntax or format detail beyond it, which matches the baseline 3 for full schema coverage.

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 ("stages a new article for the COTAL build log") and pins the target (cotal.ai/blog). The word "new" plus "lands as a draft" clearly separates it from the sibling cotal_update_post, so an agent can route without opening a schema.

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 explains the draft-vs-pending state machine and the human publish gate, which is useful context for choosing a status value, but it never says when to prefer this tool over cotal_update_post for an existing post or cotal_submit_feedback for other content. Usage is implied rather than routed.

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

cotal_get_my_postRead a staged articleA
Read-onlyIdempotent
Inspect

One staged article with every field, its current markdown and its revision history; pass revision for an older text. Requires a team key.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe post slug, e.g. 'mesh-in-production'.
revisionNoReturn this revision's full text as well.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds value beyond them by describing the payload (all fields, current markdown, revision history) and disclosing an auth requirement (team key), which no annotation conveys. It stops short of noting pagination or size limits, but this is a reasonable disclosure level.

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?

A single front-loaded sentence with semicolon-separated clauses: payload first, then the revision rule, then the auth caveat. Every clause carries information, though the packed structure is slightly dense for a one-sentence definition.

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 must carry return-value information, and it does: every field, current markdown, and revision history. Combined with the stated team-key requirement and revision behavior, an agent has enough to call this correctly; only pagination/error behavior is 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%, so the schema already documents both slug and revision, making 3 the baseline. The description adds only mild nuance via 'pass revision for an older text', and arguably understates the schema's wording that revision text is returned in addition to the current text.

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 names a specific resource ('one staged article') and enumerates what comes back (every field, markdown, revision history), so an agent knows this is a single-item read rather than a list. It does not explicitly contrast with the similarly named sibling cotal_get_post, leaving the staged-vs-published distinction to inference from the tool name's 'my'.

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?

It gives one concrete usage rule ('pass revision for an older text') and an auth prerequisite ('Requires a team key'), which is genuine guidance. However it never states when to pick this over cotal_get_post or cotal_list_my_posts, so the sibling routing is only implied by the name.

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

cotal_get_postRead a build-log postA
Read-onlyIdempotent
Inspect

Returns one build-log post as markdown (title, summary, date, author, full body) by its slug. Get slugs from cotal_list_posts or cotal_search.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe post slug, e.g. 'agi-summit-2026'.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly=true, idempotent=true, and destructive=false. The description adds that it returns markdown content with specific fields (title, summary, date, author, full body), which provides context about the output behavior without contradicting the annotations. No side effects are implied, consistent with 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?

The description is two sentences with no redundancy. It states the purpose, the output format, and how to obtain the slug, all efficiently. No unnecessary words or ambiguity.

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 simple get-by-slug tool with a single parameter, the description is complete. It tells what it returns, how to get the slug, and the output format. No output schema is provided, but the description sufficiently describes the return value. Given the simplicity, nothing essential is missing.

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 schema fully covers the parameter with minLength, maxLength, and a description. The description adds a concrete example ('agi-summit-2026') that clarifies the expected format, which is helpful beyond the schema. Coverage is high, so the baseline is 3, but the example earns a 4.

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?

The description clearly states it returns a single build-log post by slug, distinguishing it from list_posts (which likely lists all posts) and search (which finds posts). The verb 'returns' and the specific resource 'post' make the purpose unambiguous.

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 description explicitly instructs to get slugs from cotal_list_posts or cotal_search, indicating when to use this tool after obtaining a slug. However, it does not explicitly state when not to use alternatives, such as 'use this instead of list_posts when you need full details of one post.' Still, the guidance is clear enough.

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

cotal_join_waitlistJoin the Cotal Cloud waitlistA
Idempotent
Inspect

Reserves a seat on the waitlist for Cotal Cloud, the hosted Cotal mesh (closed alpha), for the user's email. Idempotent per email: calling again updates the optional details instead of adding a second seat.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesThe user's email address. Required so the record has a traceable origin.
sandboxNoDry run: validate the call, apply rate limits, store nothing. Use it to test the integration.
linkedinNoThe user's LinkedIn profile URL, optional.
use_caseNoWhat the user wants the hosted mesh for.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already provide idempotentHint=true, and the description adds valuable detail beyond that by explaining the exact idempotent behavior: 'calling again updates the optional details instead of adding a second seat.' This enriches the annotation with practical context. It also notes the closure status (closed alpha) which sets expectations. No contradictions.

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?

The description is just two sentences with zero fluff. The first sentence delivers the core action, and the second delivers the key behavioral nuance (idempotency). It is front-loaded and every word 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?

The description is complete for the primary use case. It explains what the tool does and its idempotent behavior, and the schema covers all parameters. With no output schema and simple parameters, it doesn't need to describe return values or error handling. Minor gap: no mention of what happens if the email is invalid, but that's schema's role, so this is sufficient.

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 each parameter already has a clear description. The tool description doesn't add extra meaning beyond the schema—it only mentions 'user's email' generically, which is already in the schema. The baseline of 3 applies since the schema handles parameter semantics fully.

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?

The description clearly states the specific action ('Reserves a seat on the waitlist for Cotal Cloud') with a clear verb and resource. It also identifies the scope (user's email) and the product context (closed alpha), making it unambiguous and distinct from sibling tools like cotal_subscribe_newsletter or cotal_request_call.

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 description provides clear context for when to use the tool: when a user wants to join the Cotal Cloud waitlist. It doesn't explicitly name alternative tools or exclusion conditions, but the purpose is self-evident and distinct. This is slightly above baseline but not a 5 because there is no explicit 'use when' or 'instead of' guidance.

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

cotal_list_my_postsList my staged articlesA
Read-onlyIdempotent
Inspect

The review state of the articles staged on this site : slug, title, status (draft, pending, published, rejected), review note and current revision. Requires a team key.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugNoOnly this post.
statusNoOnly posts in this state.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds context the annotations do not: the authorization requirement ('Requires a team key') and the shape of what is returned, which is valuable given there is no output schema.

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?

A single efficient sentence with no filler, using a compact colon-delimited field list. It is slightly back-loaded in intent, opening with a noun phrase about return content rather than the action verb, but 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 read-only listing tool whose safety profile is fully covered by annotations and whose two parameters are fully documented in the schema, the description supplies the missing pieces: listed fields and the team-key requirement. Only secondary details such as pagination, sorting, or result limits are absent.

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 both parameters (slug, status) are already fully documented by the schema, and the enum values listed in the description merely restate the schema's enum. No additional filter semantics or combination behavior is added, 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?

The description clearly states the resource and scope: the review state of articles staged on this site, with an explicit field list (slug, title, status, review note, revision). It never explicitly distinguishes itself from siblings like cotal_list_posts (all posts) or cotal_get_my_post (a single post), so an agent must infer the 'my/staged' scope from the name alone.

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 name and the stated prerequisite 'Requires a team key,' which tells the agent a precondition for calling it. However, there is no guidance on when to choose this over cotal_list_posts or cotal_get_my_post, and no when-not condition or alternative named.

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

cotal_list_postsList build-log postsA
Read-onlyIdempotent
Inspect

Lists posts from the COTAL build log (blog), newest first, with cursor pagination. Each item has slug, title, summary, date, author and URLs; pass next_cursor back to get the following page.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoPage size (default 10, max 50).
cursorNoThe next_cursor value from a previous call.

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds behavioral context about pagination (cursor-based, pass next_cursor for next page) and the fields returned (slug, title, summary, date, author, URLs). This aligns with the calibration example (get_calls) where description adds scoping beyond annotations and scored 3. No contradiction with 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?

The description is a single, well-structured sentence that front-loads the core purpose (lists posts newest first) and then logically covers pagination and return item composition. No filler words, every clause earns its place. It is extremely concise while remaining informative.

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 read-only list tool with no output schema, the description adequately explains the return items (fields) and the pagination mechanism (next_cursor). It gives an agent everything needed to call it correctly and iterate through pages. Given the low complexity and strong annotation coverage, nothing essential 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?

Schema description coverage is 100%, so both limit and cursor are fully documented in the schema. The description adds a slight clarification about next_cursor usage ('pass next_cursor back to get the following page') but does not provide syntax or format details beyond the schema. Per the rubric, with high schema coverage the baseline is 3, and the minimal extra detail doesn't warrant a higher score.

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?

The description states a specific verb ('lists'), a specific resource ('posts from the COTAL build log'), and adds ordering ('newest first') and pagination mode ('cursor pagination'). It clearly distinguishes this from siblings like cotal_get_post (single post) and cotal_search (search-based lookup), leaving no ambiguity about what this tool does.

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 description gives clear usage context: it lists posts with pagination and instructs to pass next_cursor back for the following page. It doesn't explicitly state when not to use this (e.g., for searching use cotal_search), but the purpose is so specific that an agent would naturally choose it for listing posts. It lacks explicit alternatives or exclusion criteria, hence not a 5.

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

cotal_overviewWhat COTAL isA
Read-onlyIdempotent
Inspect

Returns a structured overview of COTAL: what it is, who it is for, when to use it, how to install it, the site's API and MCP surface, pricing, and canonical links. Call this first when a user asks what cotal.ai does. Pass section to get one part only.

ParametersJSON Schema
NameRequiredDescriptionDefault
sectionNoWhich part of the overview to return (default: all).

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered. The description adds value by specifying the return content (structured overview listing sections) and reiterating that it is a safe, first-call informational tool. No contradiction; it enriches the behavioral picture without repeating annotation fields verbatim.

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 sentences, zero filler. The first sentence front-loads the core purpose and lists content areas efficiently; the second sentence gives the only usage hint needed. Every word earns its place, and the structure makes scanning easy for an agent.

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 simple info-retrieval tool with one optional parameter and read-only annotations, the description is complete. It tells the agent what the tool returns, when to invoke it, and how to narrow the response. No output schema exists, but the description's enumeration of included sections sufficiently sets expectations. Nothing essential 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?

Schema coverage is 100% – the `section` parameter has a complete enum and a description explaining 'Which part of the overview to return (default: all)'. The description's phrase 'Pass `section` to get one part only' adds minimal meaning beyond the schema, just clarifying the usage intent. This meets the baseline 3, nothing more.

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?

The description clearly states a specific verb and resource ('Returns a structured overview of COTAL') and enumerates the exact content areas (what it is, who it's for, install, API/MCP, pricing, links). It also explicitly frames the tool's role ('Call this first when a user asks what cotal.ai does'), which unmistakably distinguishes it from the sibling tools that perform targeted actions like searching or joining a waitlist.

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 description gives explicit when-to-use guidance ('Call this first when a user asks what cotal.ai does') and a usage tip for the optional parameter ('Pass `section` to get one part only'). However, it does not explicitly state exclusions or contrast with specific siblings, though the general-purpose framing makes the alternative clear enough from the sibling names.

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

cotal_request_callRequest a call with the foundersAInspect

Sends a discovery-call request to the COTAL founders for a company evaluating agent coordination. The team replies by email. Requires the user's work email and company.

ParametersJSON Schema
NameRequiredDescriptionDefault
painNoTheir biggest coordination pain.
roleNoThe user's role.
emailYesThe user's email address. Required so the record has a traceable origin.
agentsNoHow many agents the company runs in production.
companyYesCompany name.
sandboxNoDry run: validate the call, apply rate limits, store nothing. Use it to test the integration.
frameworksNoAgent frameworks or harnesses in use (Claude Code, LangGraph, custom…).
coordinatingNoOne line: what they are coordinating.
idempotency_keyNoOpaque key (a UUID is ideal). Reuse it when retrying so the same record is returned instead of a duplicate.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations are all false and provide little information; description mentions the email reply and required fields but does not disclose side effects like record creation or rate limits (though sandbox parameter hints at it).

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 sentences, no redundant information, efficient.

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 9-parameter tool with rich schema descriptions, the description is enough to understand the core action and key requirement, though it omits guidance on when to choose this over siblings.

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?

All parameters have schema descriptions, so baseline is 3; description only reiterates the required email and company, adding little beyond the schema.

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?

Clearly states the action (sends a discovery-call request), target (COTAL founders), and context (company evaluating agent coordination). Distinguishes from sibling tools like join_waitlist and subscribe_newsletter.

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?

Does not explicitly compare with sibling tools or state when to use this instead of others; the use case is implied by the purpose but not spelled out.

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

cotal_submit_feedbackSend feedback to the COTAL teamAInspect

Files feedback (bug, idea, friction, praise, other) with the COTAL team on behalf of the user. The same log the site's feedback widget writes to. Requires the user's email so the team can follow up.

ParametersJSON Schema
NameRequiredDescriptionDefault
areaNoWhich part of COTAL it concerns (CLI, connector, docs, site…).
nameNoThe user's name, if they want it attached.
typeYesKind of feedback.
emailYesThe user's email address. Required so the record has a traceable origin.
sourceNoWhere it came from: agent name, page, or CLI.
detailsNoLonger description, steps, context.
sandboxNoDry run: validate the call, apply rate limits, store nothing. Use it to test the integration.
summaryYesOne line: what happened, or what should.
severityNoFor bugs and friction.
idempotency_keyNoOpaque key (a UUID is ideal). Reuse it when retrying so the same record is returned instead of a duplicate.

TDQS

A3.9/5.0
Behavior3/5

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

Annotations are minimal: readOnlyHint=false (write operation), destructiveHint=false, idempotentHint=false. The description adds the fact that it writes to the same log as the site's widget and requires the user's email for follow-up. However, it does not disclose the idempotency behavior (despite an idempotency_key parameter) or any rate limits, though these are not explicitly contradicted. The description adds some context but misses important operational details for a write tool.

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 concise sentences, with the core purpose front-loaded and the email requirement stated immediately. Every word adds value—no filler. The structure is ideal for an agent scanning quickly.

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?

Given the tool has 10 parameters (including enums, idempotency_key, sandbox), the description is quite thin. While the schema fully documents each parameter, the description does not explain when to use idempotency_key (e.g., for retries) or how sandbox relates to testing, which would be helpful for correct usage. There is no output schema, so the description doesn't need to cover return values. The description is adequate but lacks guidance on edge cases that a complex tool would benefit from.

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%—every parameter has a description. The description itself adds little beyond what the schema already provides; it merely highlights the email requirement, which is already documented. There is no explanation of the idempotency_key's role or how sandbox works, but the schema covers these fields adequately. This meets the baseline of 3 for tools with full schema coverage.

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?

The description clearly states the tool's action: 'Files feedback (bug, idea, friction, praise, other) with the COTAL team on behalf of the user.' It uses a specific verb and resource, and the list of types matches the enum in the schema. It distinguishes from sibling tools (e.g., cotal_request_call, cotal_subscribe_newsletter) by focusing on feedback rather than other actions. The additional detail about the site's feedback widget further anchors its purpose.

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 description implies when to use it (when the user has feedback to submit) but does not explicitly contrast it with alternatives like requesting a call or subscribing. It does mention the email requirement, which is a key prerequisite. There is no explicit 'use this instead of X' guidance, but the purpose is specific enough that an agent can reasonably infer the correct context. A clear exclusion list would elevate this to a 5.

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

cotal_subscribe_newsletterSubscribe to COTAL updatesB
Idempotent
Inspect

Subscribes the user's email to release updates from the COTAL team. Idempotent: an already-subscribed email is a no-op.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesThe user's email address. Required so the record has a traceable origin.
sandboxNoDry run: validate the call, apply rate limits, store nothing. Use it to test the integration.

TDQS

B3.4/5.0
Behavior2/5

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

The description repeats the idempotency hint already declared in annotations ('Idempotent: an already-subscribed email is a no-op') without adding new behavioral context. It does not disclose success/failure behavior, side effects, or prerequisites, and adds no information 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?

The description consists of exactly two sentences with zero filler. The core action is stated first, and the idempotency note is concise. Every word contributes to clarity.

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?

Given the simplicity of the tool (two params, one required, no output schema) and full schema coverage, the description covers the essential purpose and idempotency. However, it lacks any usage context or differentiation from similar tools, which is a minor gap for completeness.

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 'email' and 'sandbox' parameters already have detailed descriptions in the schema. The tool description does not mention either parameter or add any additional meaning, so the baseline of 3 is appropriate.

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?

The description uses the specific verb 'Subscribes' with a clear resource 'user's email' and target 'release updates from the COTAL team', making the action unambiguous. It is not a tautology of the tool name and provides enough specificity to understand the tool's function without needing 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?

The description provides no guidance on when to use this tool versus sibling tools such as cotal_join_waitlist or cotal_submit_feedback. There is no mention of alternatives, exclusion criteria, or context that would help an agent decide between this and similar subscription tools.

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

cotal_update_postRevise a staged articleA
Idempotent
Inspect

Improves an article staged with cotal_draft_post. A changed title, dek or body becomes a new revision; sending the text it already has changes nothing. Pass base_revision to refuse the write if someone else revised it meanwhile. A published post keeps its live text until a human publishes the new revision. Requires a team key.

ParametersJSON Schema
NameRequiredDescriptionDefault
dekNo
tagNo
bodyNoThe full new markdown body (not a diff).
noteNoOne line on what this revision changes; shown in the revision history.
slugYesThe post slug, e.g. 'mesh-in-production'.
titleNo
statusNopending submits it for human review.
restoreNoMake an earlier revision current again instead of sending new text.
new_slugNoRename the post's slug.
base_revisionNoThe revision you edited; the write is refused (409) if the post moved past it.

TDQS

A4.4/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations: no-op-on-identical-text semantics (consistent with idempotentHint=true), 409 refusal when base_revision is stale, the rule that published posts keep their live text until a human publishes the revision, and the team-key auth requirement. That is exactly the non-obvious context an agent needs before calling.

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?

Five short sentences, front-loaded with what the tool does, then the revision semantics, then concurrency, then publish behavior, then the auth requirement. No sentence is filler.

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 10-parameter mutation tool with no output schema, it covers the important behavioral surface: idempotency, concurrency conflict, publish/revise split, and permission requirements. It leaves the restore and new_slug (rename) semantics unexplained, though those are partly covered by the schema descriptions.

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 70%, so most parameters already carry descriptions; the description reinforces base_revision's conflict role and clarifies that title/dek/body changes create a revision. It adds nothing for dek, tag, title, or the non-obvious restore/new_slug behaviors, so it neither fully compensates nor falls short of the schema baseline.

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 ('Improves an article staged with cotal_draft_post') and anchors itself to the sibling that creates the artifact, so an agent can place it correctly relative to cotal_draft_post and the read tools without opening a 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?

Gives real usage conditions: it operates on posts already staged via cotal_draft_post, it no-ops when the text is unchanged, and it names base_revision as the guard for concurrent edits. It stops short of explicitly naming when to use a different sibling for a given need, but the scope is clear.

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. 4 tool updates
    • Addedcotal_draft_post
    • Addedcotal_get_my_post
    • Addedcotal_list_my_posts
    • Addedcotal_update_post
  2. 8 tool updates
    • First observedcotal_get_post
    • First observedcotal_join_waitlist
    • First observedcotal_list_posts
    • First observedcotal_overview
    • First observedcotal_request_call
    • First observedcotal_search
    • First observedcotal_submit_feedback
    • First observedcotal_subscribe_newsletter

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Perplexity for social: ask what competitors are running across social and get answers grounded in real ad and creative data, not guesses.
    2
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    11 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources