COTAL actions (cotal.ai)
by cotal.ai · remote · no sign-in to list tools · v1.1.0 · published by ai.cotal
cotal.ai actions: product overview, site search, build log, feedback, Cloud waitlist, updates, calls
12 tools: 1 do something that can't be undone, 5 change things and 6 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone1Claude Code: ask: see these tools
- Changes things5Claude Code: ask: see these tools
- Only reads6Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http cotal https://cotal.ai/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
12 tools
Can't be undone 1Claude Code: ask
cotal_request_callSends a discovery-call request to the COTAL founders for a company evaluating agent coordination.No findings
Why it is in this group
- The name "cotal_request_call" says "request": a word for a change.
- The description's first verb is "send": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
Changes things 5Claude Code: ask
cotal_draft_postStages a new article for the COTAL build log (cotal.ai/blog).No findings
Why it is in this group
- The name "cotal_draft_post" says "post": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
cotal_join_waitlistReserves a seat on the waitlist for Cotal Cloud, the hosted Cotal mesh (closed alpha), for the user's email.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
cotal_submit_feedbackFiles feedback (bug, idea, friction, praise, other) with the COTAL team on behalf of the user.No findings
Why it is in this group
- The name "cotal_submit_feedback" says "submit": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
cotal_subscribe_newsletterSubscribes the user's email to release updates from the COTAL team.No findings
Why it is in this group
- The name "cotal_subscribe_newsletter" says "subscribe": a word for a change.
Description, as the server wrote it Subscribes the user's email to release updates from the COTAL team. Idempotent: an already-subscribed email is a no-op.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
cotal_update_postImproves an article staged with cotal_draft_post.No findings
Why it is in this group
- The name "cotal_update_post" says "update": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 6Claude Code: allow
cotal_get_my_postOne staged article with every field, its current markdown and its revision history; pass revision for an older text.No findings
Why it is in this group
- The name "cotal_get_my_post" says "get": a word for reading.
Description, as the server wrote it One staged article with every field, its current markdown and its revision history; pass revision for an older text. Requires a team key.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
cotal_get_postReturns one build-log post as markdown (title, summary, date, author, full body) by its slug.No findings
Why it is in this group
- The name "cotal_get_post" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
cotal_list_my_postsThe review state of the articles staged on this site : slug, title, status (draft, pending, published, rejected), review note and current revision.No findings
Why it is in this group
- The name "cotal_list_my_posts" says "list": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
cotal_list_postsLists posts from the COTAL build log (blog), newest first, with cursor pagination.No findings
Why it is in this group
- The name "cotal_list_posts" says "list": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
cotal_overviewReturns 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.No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
cotal_searchKeyword search over the COTAL build log (blog posts) and the key documentation and site pages.No findings
Why it is in this group
- The name "cotal_search" says "search": a word for reading.
Description, as the server wrote it Keyword search over the COTAL build log (blog posts) and the key documentation and site pages. Returns ranked results with canonical and markdown URLs. Use it to find the page that answers a question before reading it.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.1.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http cotal https://cotal.ai/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__cotal__cotal_overview",
"mcp__cotal__cotal_search",
"mcp__cotal__cotal_list_posts",
"mcp__cotal__cotal_get_post",
"mcp__cotal__cotal_list_my_posts",
"mcp__cotal__cotal_get_my_post"
],
"ask": [
"mcp__cotal__cotal_submit_feedback",
"mcp__cotal__cotal_join_waitlist",
"mcp__cotal__cotal_subscribe_newsletter",
"mcp__cotal__cotal_request_call",
"mcp__cotal__cotal_draft_post",
"mcp__cotal__cotal_update_post"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as cotal. Review it before you use it.