Comunicate.eu
eu.comunicate/publishingcomunicate.eustreamable-httpv1.8.8Scanned
Publish press releases and advertorials on 3,800+ news sites: catalogue, prices, budget plans.
27 tools: 6 can delete or cancel things, 1 do something that can't be undone, 5 change things and 15 only read.
- Reads private data · 0
- Reads text others write · 3
- Can send data out · 1
- 1 finding
Sign-in required, OAuth metadata published. Remote posture
Anlyon alternative
12 of these tools change something. Run those as governed actions.
Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.
Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.
Import an OpenAPI spec →Tools
Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.
27 tools
Deletes or cancels 6Claude Code: deny
create_articleSalvează un articol ca ciornă în cont (nu publică nimic).No findings
Why it is in this group
- The name "create_article" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Salvează un articol ca ciornă în cont (nu publică nimic). Conținutul e HTML. Pentru mai multe publicații recomandăm texte unice, câte unul pe site. Comunicatele cer minimum 100 de cuvinte, articolele SEO minimum 150 și un link extern. Nu costă nimic.
Annotations the server declares
- title: Creează o ciornă de articol
- destructiveHint: true
- readOnlyHint: false
create_campaignUn plan: nume, client, obiectiv, buget în bani sau credite, interval, site-urile permise.No findings
Why it is in this group
- The name "create_campaign" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Un plan: nume, client, obiectiv, buget în bani sau credite, interval, site-urile permise. Nu cheltuiește nimic; articolele și publicările se leagă de el.
Annotations the server declares
- title: Creează o campanie (plan editorial)
- destructiveHint: true
- readOnlyHint: false
order_publicationTrimite un articol spre publicare pe unul sau mai multe site-uri.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.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Trimite un articol spre publicare pe unul sau mai multe site-uri. Rezervă bani sau credite din cont. Merge doar dacă organizația a pornit „asistenții AI pot comanda și publica".
Annotations the server declares
- title: Comandă publicarea (cheltuiește)
- destructiveHint: true
- readOnlyHint: false
order_writingCere echipei platformei să scrie articolul: temă, tip de campanie, lungime, cuvânt-cheie, brand, adresa promovată, fapte.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.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Cere echipei platformei să scrie articolul: temă, tip de campanie, lungime, cuvânt-cheie, brand, adresa promovată, fapte. Se plătește din sold. Merge doar cu comutatorul pentru asistenți AI pornit.
Annotations the server declares
- title: Comandă redactarea unui articol (cheltuiește)
- destructiveHint: true
- readOnlyHint: false
update_articleSchimbă titlul, conținutul sau metadatele unei ciorne.No findings
Why it is in this group
- The name "update_article" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Schimbă titlul, conținutul sau metadatele unei ciorne. Trimite doar câmpurile care se schimbă.
Annotations the server declares
- title: Modifică un articol
- destructiveHint: true
- readOnlyHint: false
update_campaignSchimbă obiectivul, notele, bugetul sau site-urile permise ale unei campanii.No findings
Why it is in this group
- The name "update_campaign" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Schimbă obiectivul, notele, bugetul sau site-urile permise ale unei campanii.
Annotations the server declares
- title: Modifică o campanie
- destructiveHint: true
- readOnlyHint: false
Can't be undone 1Claude Code: ask
report_summaryPublicări, reușite, eșuate, site-uri distincte, credite și bani cheltuiți într-un interval (implicit ultimele 30 de zile).Can send data out1 finding
Why it is in this group
- The input addresses people (input.to): what it sends cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- outboundThe input takes a destination (input.to): what the tool writes goes there.
Findings
- Warn
The server marks "report_summary" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false}; The input addresses people (input.to): what it sends cannot be taken back.
Description, as the server wrote it Publicări, reușite, eșuate, site-uri distincte, credite și bani cheltuiți într-un interval (implicit ultimele 30 de zile).
Annotations the server declares
- title: Rezumatul unei perioade
- destructiveHint: false
- readOnlyHint: true
Changes things 5Claude Code: ask
catalog_statsCâte publicații sunt în catalog și alte cifre generale.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.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Câte publicații sunt în catalog și alte cifre generale. Merge fără cont.
Annotations the server declares
- title: Cifrele catalogului
- destructiveHint: false
- readOnlyHint: true
check_article_fitVerifică dacă textul respectă cerințele tipului de campanie (ex.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.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Verifică dacă textul respectă cerințele tipului de campanie (ex. un comunicat are un fapt și un citat; un articol de casino are avertismentul legal) și dacă a rămas ceva de completat. `tipDetectat` e doar o sugestie.
Annotations the server declares
- title: Potrivirea cu tipul de campanie
- destructiveHint: false
- readOnlyHint: true
check_article_seoCât de bine e scris textul ca articol SEO: număr de cuvinte, linkuri, titluri, imagine, meta.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.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Cât de bine e scris textul ca articol SEO: număr de cuvinte, linkuri, titluri, imagine, meta. Fiecare constatare are `deFacut`. Scorul nu spune dacă textul poate fi publicat pe un anumit tip de campanie.
Annotations the server declares
- title: Analiză SEO
- destructiveHint: false
- readOnlyHint: true
how_it_worksCum se publică pe platformă, ce e programul gratuit pentru ONG-uri și instituții și cum se conectează un asistent.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.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Cum se publică pe platformă, ce e programul gratuit pentru ONG-uri și instituții și cum se conectează un asistent. Merge fără cont.
Annotations the server declares
- title: Cum funcționează
- destructiveHint: false
- readOnlyHint: true
plan_budgetRăspunde la „am 500 de lei, unde pot publica 5 articole?" și „site-ul example.ro, unde mă promovez cu 1.000 de lei?".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.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Răspunde la „am 500 de lei, unde pot publica 5 articole?" și „site-ul example.ro, unde mă promovez cu 1.000 de lei?". Alege din tot catalogul, după nișă și subiect, și întoarce pachetele Mix recomandat, Premium și Economic, cu totalul cu și fără TVA. Fiecare publicație are `potrivire`: subiect (chiar în nume), zonă (publicație locală), nișă (specializată), rubrică (site general cu o rubrică pe tema asta), apropiată sau generală. `linkPolicy` apare doar când linkul nu e dofollow, deci nu transmite autoritate SEO. `refuzaTextAi`: publicația primește doar text rescris de un om. Lista `exclude` din răspuns, trimisă la un apel nou, dă alte publicații. Implicit folosește SEO și linkuri dofollow. Merge fără cont.
Annotations the server declares
- title: Plan pe buget
- destructiveHint: false
- readOnlyHint: true
Only reads 15Show 15 read-only tools
get_articleArticolul întreg, cu conținutul HTML și metadatele SEO.Reads text others writeNo findings
Why it is in this group
- The name "get_article" says "get": a word for reading.
What it can reach
- untrusted-inputThe description's first sentence says "html": it reads web pages, which anyone can write.
Description, as the server wrote it Articolul întreg, cu conținutul HTML și metadatele SEO.
Annotations the server declares
- title: Un articol
- destructiveHint: false
- readOnlyHint: true
get_balanceCreditele disponibile pe fiecare pachet și soldul în bani (cenți, fără TVA).No findings
Why it is in this group
- The name "get_balance" says "get": a word for reading.
Description, as the server wrote it Creditele disponibile pe fiecare pachet și soldul în bani (cenți, fără TVA).
Annotations the server declares
- title: Sold
- destructiveHint: false
- readOnlyHint: true
get_nicheDescrierea unei nișe și cele mai puternice 5 publicații din ea, cu id.No findings
Why it is in this group
- The name "get_niche" says "get": a word for reading.
Description, as the server wrote it Descrierea unei nișe și cele mai puternice 5 publicații din ea, cu id. Merge fără cont.
Annotations the server declares
- title: O nișă
- destructiveHint: false
- readOnlyHint: true
get_own_publicationDetaliile unei publicații din rețeaua proprie, cu rubricile ei.No findings
Why it is in this group
- The name "get_own_publication" says "get": a word for reading.
Description, as the server wrote it Detaliile unei publicații din rețeaua proprie, cu rubricile ei. Merge fără cont.
Annotations the server declares
- title: O publicație din rețeaua proprie
- destructiveHint: false
- readOnlyHint: true
get_publicationStarea, adresa publicată, motivul unui eșec sau al unei respingeri.No findings
Why it is in this group
- The name "get_publication" says "get": a word for reading.
Description, as the server wrote it Starea, adresa publicată, motivul unui eșec sau al unei respingeri.
Annotations the server declares
- title: O publicare
- destructiveHint: false
- readOnlyHint: true
get_siteDetaliile unui site după id: prețuri și linkuri pe tip de campanie, reguli, condițiile publicației dacă are.Reads text others writeNo findings
Why it is in this group
- The name "get_site" says "get": a word for reading.
What it can reach
- untrusted-inputThe description's first sentence says "uri": it reads web pages, which anyone can write.
Description, as the server wrote it Detaliile unui site după id: prețuri și linkuri pe tip de campanie, reguli, condițiile publicației dacă are. Merge fără cont; cu cheie arată și cum ar plăti organizația.
Annotations the server declares
- title: Un site din catalog
- destructiveHint: false
- readOnlyHint: true
list_articlesLista articolelor (ciorne și publicate), paginată.No findings
Why it is in this group
- The name "list_articles" says "list": a word for reading.
Description, as the server wrote it Lista articolelor (ciorne și publicate), paginată.
Annotations the server declares
- title: Articolele organizației
- destructiveHint: false
- readOnlyHint: true
list_campaign_typesCe înseamnă fiecare tip (SEO, brand awareness, comunicat…) și ce e obligatoriu sau interzis în text.No findings
Why it is in this group
- The name "list_campaign_types" says "list": a word for reading.
Description, as the server wrote it Ce înseamnă fiecare tip (SEO, brand awareness, comunicat…) și ce e obligatoriu sau interzis în text. Merge fără cont.
Annotations the server declares
- title: Tipuri de campanie
- destructiveHint: false
- readOnlyHint: true
list_campaignsCampaniile organizației: obiectiv, buget, site-uri permise, articole legate.Reads text others writeNo findings
Why it is in this group
- The name "list_campaigns" says "list": a word for reading.
What it can reach
- untrusted-inputThe description's first sentence says "uri": it reads web pages, which anyone can write.
Description, as the server wrote it Campaniile organizației: obiectiv, buget, site-uri permise, articole legate.
Annotations the server declares
- title: Campaniile (planurile editoriale)
- destructiveHint: false
- readOnlyHint: true
list_nichesNișele catalogului, cu descriere și numărul de publicații.No findings
Why it is in this group
- The name "list_niches" says "list": a word for reading.
Description, as the server wrote it Nișele catalogului, cu descriere și numărul de publicații. `publicationCount` numără toate limbile și tipurile de campanie, deci pe un tip și o limbă sunt mai puține. Merge fără cont.
Annotations the server declares
- title: Nișele
- destructiveHint: false
- readOnlyHint: true
list_own_networkRețeaua Comunicate.eu: câte publicații are, câte sunt ale partenerilor și care sunt cele din rețea, filtrate.No findings
Why it is in this group
- The name "list_own_network" says "list": a word for reading.
Description, as the server wrote it Rețeaua Comunicate.eu: câte publicații are, câte sunt ale partenerilor și care sunt cele din rețea, filtrate. Merge fără cont.
Annotations the server declares
- title: Rețeaua proprie
- destructiveHint: false
- readOnlyHint: true
list_publicationsPublicările organizației cu starea fiecăreia (așteaptă aprobare, în coadă, publicat, eșuat), paginat.No findings
Why it is in this group
- The name "list_publications" says "list": a word for reading.
Description, as the server wrote it Publicările organizației cu starea fiecăreia (așteaptă aprobare, în coadă, publicat, eșuat), paginat.
Annotations the server declares
- title: Publicările
- destructiveHint: false
- readOnlyHint: true
list_writing_ordersStarea comenzilor de redactare și articolele livrate.No findings
Why it is in this group
- The name "list_writing_orders" says "list": a word for reading.
Description, as the server wrote it Starea comenzilor de redactare și articolele livrate.
Annotations the server declares
- title: Comenzile de redactare
- destructiveHint: false
- readOnlyHint: true
search_catalogSite-urile pe care se poate publica, cu preț pe tip de campanie (cenți, fără TVA), DR/DA, nișe și cum ar plăti organizația (credit, bani, indisponibil).No findings
Why it is in this group
- The name "search_catalog" says "search": a word for reading.
Description, as the server wrote it Site-urile pe care se poate publica, cu preț pe tip de campanie (cenți, fără TVA), DR/DA, nișe și cum ar plăti organizația (credit, bani, indisponibil). `preturi` dă minimul, mediana și maximul pe toate rezultatele. Cu `niche` arată doar publicațiile care chiar se ocupă de nișă; `siSiteGenerale: true` adaugă și site-urile generale cu o rubrică pe tema asta. Implicit 10, paginat cu cursor.
Annotations the server declares
- title: Caută în catalog
- destructiveHint: false
- readOnlyHint: true
whoamiOrganizația din spatele cheii, permisiunile ei și dacă asistenții AI pot comanda și publica.No findings
Why it is in this group
- The name "whoami" says "whoami": a word for reading.
Description, as the server wrote it Organizația din spatele cheii, permisiunile ei și dacă asistenții AI pot comanda și publica.
Annotations the server declares
- title: Cine sunt
- destructiveHint: false
- readOnlyHint: true
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.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data.
- Reads private data0
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write3
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out1
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Remote posture
What anyone on the internet sees at the remote endpoint: an anonymous initialize and tools/list, and the public OAuth metadata.
Looked at Oct 29, 2026, 21:50 UTC, unchanged since Oct 22, 2026. No credentials were sent and no tool was called. What is looked at.
- Reachable
- yes
- HTTP status of an anonymous initialize
- 401
- tools/list served without credentials
- no
- Tools that change things, listed without credentials
- 0
- Protocol version
- not observed
- WWW-Authenticate on 401
- yes
- resource_metadata in WWW-Authenticate
- https://app.comunicate.eu/.well-known/oauth-protected-resource/mcp
- RFC 9728 protected resource metadata
- https://app.comunicate.eu/.well-known/oauth-protected-resource/mcp
- Authorization servers
- https://app.comunicate.eu
- Legacy HTTP+SSE transport
- no
- Dynamic client registration
- yes
- Client ID metadata documents
- no
Findings
Matches of fixed checks, with the text they matched.
- Warnreport_summary
The server marks "report_summary" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false}; The input addresses people (input.to): what it sends cannot be taken back.
History
Changes to its tool definitions and to its remote endpoint, newest first.
No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.
Install
Pinned to version 1.8.8. Values in angle brackets are yours to fill in.
claude mcp add --transport http publishing https://app.comunicate.eu/mcpclaude mcp add --transport http publishing https://app.comunicate.eu/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__publishing__list_niches",
"mcp__publishing__get_niche",
"mcp__publishing__list_own_network",
"mcp__publishing__get_own_publication",
"mcp__publishing__whoami",
"mcp__publishing__get_balance",
"mcp__publishing__search_catalog",
"mcp__publishing__get_site",
"mcp__publishing__list_campaign_types",
"mcp__publishing__list_articles",
"mcp__publishing__get_article",
"mcp__publishing__list_campaigns",
"mcp__publishing__list_publications",
"mcp__publishing__get_publication",
"mcp__publishing__list_writing_orders"
],
"ask": [
"mcp__publishing__catalog_stats",
"mcp__publishing__plan_budget",
"mcp__publishing__how_it_works",
"mcp__publishing__check_article_seo",
"mcp__publishing__check_article_fit",
"mcp__publishing__report_summary"
],
"deny": [
"mcp__publishing__create_article",
"mcp__publishing__update_article",
"mcp__publishing__create_campaign",
"mcp__publishing__update_campaign",
"mcp__publishing__order_publication",
"mcp__publishing__order_writing"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as publishing. Review it before you use it.
Capability tags behind 4 rules
- mcp__publishing__get_site untrusted-input
- mcp__publishing__get_article untrusted-input
- mcp__publishing__list_campaigns untrusted-input
- mcp__publishing__report_summary outbound
Pin
Keep the decision: fail CI when the tools change, follow every change, or show a badge.
Pin in CI
Fail a build when the tools you reviewed are not the tools the server serves today.
curl -s "https://anlyon.dev/api/v1/servers/eu.comunicate/publishing/verify?hash=0221497dd9f880d4425be21a5a032ce30a43c295f8f4ee722b80ba5dc36bba5a" | jq -e '.changed == false'Pinned hash 0221497dd9f8, from Oct 31, 2026, 18:18 UTC.
Watch
Get told when its tools change: a new tool, a new description, a new class.
https://anlyon.dev/servers/eu.comunicate/publishing/changes.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/eu.comunicate/publishing)Source: MCP Registry · repository. Synced Oct 31, 2026, 19:17 UTC.