{
  "data": {
    "tool": {
      "category": "infrastructure",
      "endpoint": "https://cotal.ai/mcp",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/cotal.json",
      "kind": "mcp",
      "listed": "indexed",
      "liveUrl": "https://www.anchorterminal.com/api/v1/live/cotal.json",
      "markdownUrl": "https://www.anchorterminal.com/tools/cotal.md",
      "mcpTools": {
        "check": {
          "checker": "anchor-check/1.0",
          "totalTokens": 2073,
          "counts": {
            "error": 0,
            "note": 1,
            "warn": 0
          },
          "findings": [
            {
              "rule": "TC24",
              "severity": "note",
              "message": "8 of 8 tools have no outputSchema",
              "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
            }
          ]
        },
        "checkedAt": "2026-10-04T22:20:03Z",
        "count": 8,
        "schemaTokens": 2073,
        "status": "ok",
        "tools": [
          {
            "name": "cotal_submit_feedback",
            "title": "Send feedback to the COTAL team",
            "description": "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.",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "area": {
                  "description": "Which part of COTAL it concerns (CLI, connector, docs, site…).",
                  "maxLength": 200,
                  "type": "string"
                },
                "details": {
                  "description": "Longer description, steps, context.",
                  "maxLength": 10000,
                  "type": "string"
                },
                "email": {
                  "description": "The user's email address. Required so the record has a traceable origin.",
                  "format": "email",
                  "maxLength": 320,
                  "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
                  "type": "string"
                },
                "idempotency_key": {
                  "description": "Opaque key (a UUID is ideal). Reuse it when retrying so the same record is returned instead of a duplicate.",
                  "maxLength": 200,
                  "minLength": 1,
                  "type": "string"
                },
                "name": {
                  "description": "The user's name, if they want it attached.",
                  "maxLength": 100,
                  "type": "string"
                },
                "sandbox": {
                  "description": "Dry run: validate the call, apply rate limits, store nothing. Use it to test the integration.",
                  "type": "boolean"
                },
                "severity": {
                  "description": "For bugs and friction.",
                  "enum": [
                    "low",
                    "medium",
                    "high"
                  ],
                  "type": "string"
                },
                "source": {
                  "description": "Where it came from: agent name, page, or CLI.",
                  "maxLength": 500,
                  "type": "string"
                },
                "summary": {
                  "description": "One line: what happened, or what should.",
                  "maxLength": 2000,
                  "minLength": 1,
                  "type": "string"
                },
                "type": {
                  "description": "Kind of feedback.",
                  "enum": [
                    "bug",
                    "idea",
                    "friction",
                    "praise",
                    "other"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "type",
                "summary",
                "email"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": false
            }
          },
          {
            "name": "cotal_join_waitlist",
            "title": "Join the Cotal Cloud waitlist",
            "description": "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.",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "email": {
                  "description": "The user's email address. Required so the record has a traceable origin.",
                  "format": "email",
                  "maxLength": 320,
                  "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
                  "type": "string"
                },
                "linkedin": {
                  "description": "The user's LinkedIn profile URL, optional.",
                  "format": "uri",
                  "maxLength": 500,
                  "type": "string"
                },
                "sandbox": {
                  "description": "Dry run: validate the call, apply rate limits, store nothing. Use it to test the integration.",
                  "type": "boolean"
                },
                "use_case": {
                  "description": "What the user wants the hosted mesh for.",
                  "maxLength": 2000,
                  "type": "string"
                }
              },
              "required": [
                "email"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false,
              "readOnlyHint": false
            }
          },
          {
            "name": "cotal_subscribe_newsletter",
            "title": "Subscribe to COTAL updates",
            "description": "Subscribes the user's email to release updates from the COTAL team. Idempotent: an already-subscribed email is a no-op.",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "email": {
                  "description": "The user's email address. Required so the record has a traceable origin.",
                  "format": "email",
                  "maxLength": 320,
                  "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
                  "type": "string"
                },
                "sandbox": {
                  "description": "Dry run: validate the call, apply rate limits, store nothing. Use it to test the integration.",
                  "type": "boolean"
                }
              },
              "required": [
                "email"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false,
              "readOnlyHint": false
            }
          },
          {
            "name": "cotal_request_call",
            "title": "Request a call with the founders",
            "description": "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.",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "agents": {
                  "description": "How many agents the company runs in production.",
                  "enum": [
                    "1",
                    "exploring",
                    "2-5",
                    "6-20",
                    "20+"
                  ],
                  "type": "string"
                },
                "company": {
                  "description": "Company name.",
                  "maxLength": 200,
                  "minLength": 1,
                  "type": "string"
                },
                "coordinating": {
                  "description": "One line: what they are coordinating.",
                  "maxLength": 2000,
                  "type": "string"
                },
                "email": {
                  "description": "The user's email address. Required so the record has a traceable origin.",
                  "format": "email",
                  "maxLength": 320,
                  "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
                  "type": "string"
                },
                "frameworks": {
                  "description": "Agent frameworks or harnesses in use (Claude Code, LangGraph, custom…).",
                  "items": {
                    "maxLength": 60,
                    "type": "string"
                  },
                  "maxItems": 20,
                  "type": "array"
                },
                "idempotency_key": {
                  "description": "Opaque key (a UUID is ideal). Reuse it when retrying so the same record is returned instead of a duplicate.",
                  "maxLength": 200,
                  "minLength": 1,
                  "type": "string"
                },
                "pain": {
                  "description": "Their biggest coordination pain.",
                  "maxLength": 4000,
                  "type": "string"
                },
                "role": {
                  "description": "The user's role.",
                  "maxLength": 120,
                  "type": "string"
                },
                "sandbox": {
                  "description": "Dry run: validate the call, apply rate limits, store nothing. Use it to test the integration.",
                  "type": "boolean"
                }
              },
              "required": [
                "email",
                "company"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": false,
              "openWorldHint": false,
              "readOnlyHint": false
            }
          },
          {
            "name": "cotal_overview",
            "title": "What COTAL is",
            "description": "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.",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "section": {
                  "description": "Which part of the overview to return (default: all).",
                  "enum": [
                    "all",
                    "product",
                    "when_to_use",
                    "install",
                    "pricing",
                    "site_api",
                    "links"
                  ],
                  "type": "string"
                }
              },
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "cotal_search",
            "title": "Search cotal.ai",
            "description": "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.",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "limit": {
                  "description": "Maximum results (default 10).",
                  "maximum": 25,
                  "minimum": 1,
                  "type": "integer"
                },
                "query": {
                  "description": "Search terms, e.g. 'hackathon', 'identity', 'install windows'.",
                  "maxLength": 200,
                  "minLength": 2,
                  "type": "string"
                }
              },
              "required": [
                "query"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "cotal_list_posts",
            "title": "List build-log posts",
            "description": "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.",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "cursor": {
                  "description": "The next_cursor value from a previous call.",
                  "type": "string"
                },
                "limit": {
                  "description": "Page size (default 10, max 50).",
                  "maximum": 50,
                  "minimum": 1,
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false,
              "readOnlyHint": true
            }
          },
          {
            "name": "cotal_get_post",
            "title": "Read a build-log post",
            "description": "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.",
            "inputSchema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "properties": {
                "slug": {
                  "description": "The post slug, e.g. 'agi-summit-2026'.",
                  "maxLength": 120,
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "slug"
              ],
              "type": "object"
            },
            "annotations": {
              "destructiveHint": false,
              "idempotentHint": true,
              "openWorldHint": false,
              "readOnlyHint": true
            }
          }
        ]
      },
      "name": "COTAL actions (cotal.ai)",
      "note": "Indexed from the official MCP registry: facts and our own checks, not reviewed, so no score, grade or rank.",
      "packages": null,
      "pageJsonUrl": "https://www.anchorterminal.com/tools/cotal.json",
      "popularity": {
        "githubStars": 307
      },
      "registryName": "ai.cotal/cotal",
      "remotes": [
        {
          "type": "streamable-http",
          "url": "https://cotal.ai/mcp"
        }
      ],
      "repository": "https://github.com/Cotal-AI/Cotal",
      "reviewed": false,
      "slug": "cotal",
      "source": "the official MCP registry",
      "sourceUrl": "https://registry.modelcontextprotocol.io/v0.1/servers?search=ai.cotal/cotal",
      "summary": "cotal.ai actions: product overview, site search, build log, feedback, Cloud waitlist, updates, calls",
      "updatedAt": "2026-09-08T01:10:30Z",
      "url": "https://www.anchorterminal.com/tools/cotal",
      "vendor": "cotal.ai",
      "vendorUrl": "https://cotal.ai",
      "version": "1.1.0",
      "websiteUrl": "https://cotal.ai",
      "where": "hosted",
      "why": [
        "vendor",
        "popular"
      ]
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/cotal",
    "json": "https://www.anchorterminal.com/tools/cotal.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/cotal.md",
    "slim": "https://www.anchorterminal.com/tools/cotal.min.md"
  },
  "markdown": "# COTAL actions (cotal.ai)\n\n\u003e Indexed, not reviewed: facts from the official MCP registry and our own checks. No score, grade or rank, and not in the rankings until the panel reviews it. How the index works: https://www.anchorterminal.com/indexed/\n\n- Kind: MCP server, by cotal.ai (https://cotal.ai)\n- Category: Cloud \u0026 infrastructure (https://www.anchorterminal.com/categories/infrastructure.md)\n- Listed because: It's published in the registry under cotal.ai, a namespace the registry only gives to whoever proves they control that domain. It's in real use: 307 GitHub stars.\n- What the official MCP registry says: cotal.ai actions: product overview, site search, build log, feedback, Cloud waitlist, updates, calls\n\n## Facts\n\n- MCP registry: `ai.cotal/cotal` 1.1.0\n- Endpoint: https://cotal.ai/mcp (streamable HTTP)\n- Source: https://github.com/Cotal-AI/Cotal\n- Website: https://cotal.ai\n- GitHub stars: 307\n- Registry entry updated: 2026-09-08\n\n## Tools\n\n- Tools it lists (8, about 2,073 tokens of context, `tools/list` without credentials over MCP 2026-07-28, checked 2026-10-04 22:20 UTC):\n  - `cotal_submit_feedback` (writes): 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…\n  - `cotal_join_waitlist` (writes): 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…\n  - `cotal_subscribe_newsletter` (writes): Subscribes the user's email to release updates from the COTAL team. Idempotent: an already-subscribed email is a no-op.\n  - `cotal_request_call` (writes): 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…\n  - `cotal_overview` (read-only): 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…\n  - `cotal_search` (read-only): 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…\n  - `cotal_list_posts` (read-only): 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…\n  - `cotal_get_post` (read-only): 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.\n- How its tools read to an agent (0 errors, 0 warnings, 1 note, about 2,073 tokens; rules at https://www.anchorterminal.com/check.md; not part of the score):\n  - note TC24 server: 8 of 8 tools have no outputSchema\n\n- JSON: https://www.anchorterminal.com/api/v1/tools/cotal.json\n- Being indexed says nothing about quality, and nobody can pay for it. Ask for a review: https://www.anchorterminal.com/builders/#claiming\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Indexed",
        "url": "https://www.anchorterminal.com/indexed/"
      },
      {
        "name": "COTAL actions (cotal.ai)",
        "url": ""
      }
    ],
    "description": "COTAL actions (cotal.ai), an MCP server by cotal.ai, listed from the official MCP registry. Indexed, not reviewed: facts and our own checks, no score or ranking. cotal.ai actions: product overview, site search, build log, feedback, Cloud waitlist, updates, calls",
    "facts": [
      "not reviewed",
      "not ranked",
      "facts only"
    ],
    "h1": "COTAL actions (cotal.ai)",
    "image": "https://www.anchorterminal.com/assets/og/indexed.png",
    "path": "/tools/cotal",
    "published": "",
    "section": "indexed",
    "title": "COTAL actions (cotal.ai), indexed from the official MCP registry",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/tools/cotal"
  },
  "tokens": {
    "markdown": 950,
    "slim": 880
  },
  "version": 1
}
