{
  "markdown": "# Comunicate.top — MCP server & public API\n\nRemote **MCP server** and **HTTP API** for [Comunicate.top](https://comunicate.top), a\nRomanian platform for publishing press releases, advertorials and SEO articles on a\nnetwork of **3,800+ online publications** (Romania, Italy and other European markets).\n\nPrices and turnaround times are printed in the catalogue and are the same for everyone —\nthere is no request-for-quote and no negotiation, so an assistant can read a price and\nact on it.\n\n| | |\n|---|---|\n| MCP endpoint | `https://app.comunicate.top/mcp` (Streamable HTTP) |\n| Auth | OAuth 2.1 + PKCE, dynamic client registration — or an API key |\n| OpenAPI 3.1 | <https://comunicate.top/openapi.json> |\n| APIs.json | <https://comunicate.top/apis.json> |\n| Docs | <https://comunicate.top/en/documentatie-api> |\n| Free, no key | `https://app.comunicate.top/api/v1/public/*` |\n\n---\n\n## Connect the MCP server\n\nThe server speaks Streamable HTTP and authenticates with OAuth 2.1 (PKCE, S256).\nClients register themselves — there is nothing to copy and paste, you just approve the\nconnection in a browser window.\n\n**Claude Code**\n\n```bash\nclaude mcp add --transport http comunicate-top https://app.comunicate.top/mcp\n```\n\n**Claude Desktop, Cursor, VS Code and anything else that reads `mcpServers`**\n\n```json\n{\n  \"mcpServers\": {\n    \"comunicate-top\": {\n      \"type\": \"http\",\n      \"url\": \"https://app.comunicate.top/mcp\"\n    }\n  }\n}\n```\n\n**With an API key instead of OAuth** (for CI, or a client without OAuth support): issue a\nkey under *Integrations* in your account and send it as a bearer token.\n\n```json\n{\n  \"mcpServers\": {\n    \"comunicate-top\": {\n      \"type\": \"http\",\n      \"url\": \"https://app.comunicate.top/mcp\",\n      \"headers\": { \"Authorization\": \"Bearer bk_live_…\" }\n    }\n  }\n}\n```\n\nOAuth discovery follows RFC 9728: an unauthenticated request returns `401` with\n`WWW-Authenticate: Bearer resource_metadata=\"https://app.comunicate.top/.well-known/oauth-protected-resource/mcp\"`.\n\n### Tools\n\nTwenty tools, in the order you would normally call them.\n\n| Tool | What it does |\n|---|---|\n| `whoami` | The organisation behind the key, its permissions, and whether assistants are allowed to order and publish. Call it first. |\n| `get_balance` | Credits per package and the cash balance. |\n| `search_catalog` | Search the network: niche, language, authority, price, turnaround. |\n| `get_site` | One publication in full: price per campaign type, rules, turnaround. |\n| `list_campaign_types` | What each campaign type means and what the text must or must not contain. |\n| `list_articles` / `get_article` | The organisation's drafts and published articles. |\n| `create_article` / `update_article` | Write and revise a draft. |\n| `check_article_seo` | What the article still needs to pass publication checks. |\n| `check_article_fit` | Whether the text meets a campaign type's requirements. |\n| `list_campaigns` / `create_campaign` / `update_campaign` | Editorial plans: goal, budget, allowed sites. |\n| `list_publications` / `get_publication` | Status and live URL of each publication. |\n| `order_publication` | Orders a publication. **Spends credits or money.** |\n| `order_writing` | Orders an article to be written. **Spends credits or money.** |\n| `list_writing_orders` | Status of writing orders and delivered articles. |\n| `report_summary` | Publications, successes, failures, distinct sites, spend over a period. |\n\nOrdering is gated twice: the organisation has a switch for whether AI assistants may\nspend at all, and every order is checked against the balance before anything is written.\n\n---\n\n## Free public API — no key, no account\n\nFour read-only routes, open to anyone, CORS enabled. They are described in the same\nOpenAPI document as the rest of the API, with `security: []`.\n\n```bash\n# How big the network is\ncurl 'https://app.comunicate.top/api/v1/public/stats'\n# → {\"publications\":3822,\"niches\":21}\n\n# The niches, with publication counts and average authority\ncurl 'https://app.comunicate.top/api/v1/public/niches?locale=en'\n\n# One niche, with sample publications: domain, DA, PA, turnaround, price, ad label\ncurl 'https://app.comunicate.top/api/v1/public/niches/stiri?locale=en'\n\n# Market statistics: authority distribution, turnaround, price per campaign type\ncurl 'https://app.comunicate.top/api/v1/public/statistici-piata'\n```\n\nThere is deliberately **no public route that returns the whole publication list**, and no\npublic route writes anything. Everything else — catalogue with prices, articles, orders,\npublications, campaigns, reports, webhooks — needs a key issued from an account.\n\n---\n\n## Despre, pe scurt (RO)\n\nComunicate.top publică advertoriale, comunicate de presă și articole SEO pe o rețea de\npeste 3.800 de publicații. Prețul și termenul fiecărei publicații sunt scrise în catalog,\npublice și identice pentru toți. Serverul MCP de mai sus le dă asistenților AI acces la\ncatalog, la articole și la comenzi, cu OAuth și cu un comutator prin care organizația\ndecide dacă asistenții au voie să cheltuiască. Rutele `/public/*` sunt gratuite, fără\ncheie și numai de citire.\n\nDocumentație: <https://comunicate.top/ro/documentatie-api> ·\nCe poate face serverul MCP: <https://comunicate.top/ro/mcp>\n\n---\n\n## This repository\n\nDocumentation and the registry manifest only — the platform itself is closed source.\n`server.json` is what is published to the [official MCP registry](https://registry.modelcontextprotocol.io)\nunder the `top.comunicate` namespace, verified by the key at\n<https://comunicate.top/.well-known/mcp-registry-auth>.\n\nQuestions or bug reports about the API: [open an issue](https://github.com/adrianncraciun-cmd/public-mcp/issues) or write to\ncontact@comunicate.top.\n\n## Licence\n\nThe contents of this repository (documentation and manifest) are released under the MIT\nlicence. Use of the API and the MCP server is governed by the\n[terms of service](https://comunicate.top/ro/legal/termeni).\n",
  "bytes": 5933,
  "sha": "6daa75bc84232e76dc56c0379da830ebf24af24495749ebcf5f1507abb6ee950",
  "repo_slug": "adrianncraciun-cmd/public-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_eu_comunicate_publishing_ace51ce1/readme"
}