← Files CitunaARCHIVED FILE
plugin.json
14 KB · Nov 12, 2026 · 00:09 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "cituna",
"version": "0.2.2",
"description": "Track AI answers and citations, manage prompts, analyze Google Search Console, and run a weekly evidence-led plan for content and citations with your Cituna account.",
"author": {
"name": "Eternum Capital FZE LLC",
"url": "https://cituna.com",
"email": "support@cituna.com"
},
"homepage": "https://cituna.com/mcp",
"keywords": [
"cituna",
"ai-visibility",
"citations",
"prompt-tracking",
"google-search-console",
"seo",
"aeo",
"geo",
"autopilot"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "Cituna",
"shortDescription": "AI visibility & Search Console",
"longDescription": "See what AI engines say about your brand and which sources they cite. Compare stored answers and competitors, choose and manage tracked prompts, explore Google Search Console performance, and prioritize content, citation and visibility fixes. Cituna Autopilot plans a weekly round of work only from evidence: Search Console queries, tracked prompts your brand is not named on, and verified source gaps. It holds pages still inside a 28-day measurement window, drafts the pages you approve with a claims ledger and a separate fact check, and re-checks each change after 28 days. Drafts come back to you, or to a pull request you review when you work in a code repository. When requested, update tracking and queue statuses, edit or refresh AutoSEO articles, skip queued topics, or run a fresh visibility scan. Results include measurement dates and distinguish missing answers from citation misses. Connect your own Cituna account through OAuth. Google Search Console must first be connected in Cituna. Some tools need write consent or a level of access your account may not include; the plugin says so when that happens. Fresh scans and article refreshes draw on your account's usage allowances. The plugin does not publish new pages to your CMS, merge code, or send outreach messages. The one live change it can make is a refresh of an AutoSEO article's title, description and FAQs through Cituna's existing site connection, and only when you ask for it. Cituna is operated by Eternum Capital FZE LLC.",
"developerName": "Eternum Capital FZE LLC",
"category": "Data & Analytics",
"capabilities": [
"Interactive",
"Read",
"Write"
],
"composerIcon": "./assets/cituna-icon.png",
"logo": "./assets/cituna-logo.png",
"defaultPrompt": [
"Show what AI engines say about my brand and which sources they cite.",
"Use my Search Console data to recommend buyer prompts worth tracking.",
"Review my AI visibility and Google performance, then prioritize my next actions."
],
"websiteURL": "https://cituna.com/mcp",
"privacyPolicyURL": "https://cituna.com/privacy",
"termsOfServiceURL": "https://cituna.com/terms",
"brandColor": "#ff5a3c",
"supportURL": "https://cituna.com/about"
},
"review": {
"demo_recording_url": "https://youtu.be/7XdUB86Tq7I",
"test_cases": {
"positive": [
{
"description": "P1 \u2014 Stored visibility and answer evidence. Use a dedicated Pro-or-higher reviewer workspace with exactly one sample brand, at least one completed audit, stored daily engine answers, one non-production tracked prompt, one todo gap, one citation target and keyword/content fixtures. Connect a Search Console property containing only approved demonstration data. Sign-in details belong only in the secure portal. Begin a fresh conversation, call whoami first and stop on authentication failure; then resolve actual accessible brands through list_brands and GSC access through gsc_status. No fresh scan is authorized.",
"prompt": "For my demo brand, show the latest measured AI visibility by engine. Pick one tracked buyer question and show what ChatGPT actually answered, with its cited sources. Do not run a new scan.",
"tools_triggered": "whoami, list_brands, gsc_status, get_visibility, get_engine_answers",
"expected_behavior": "Use the returned brand ID or domain for get_visibility. Copy an exact prompts[].prompt into get_engine_answers with engine=\"chatgpt\". Report the stored measurement date, engine mode and returned citations. Treat unavailable, pending, notrun and notenabled as missing measurements, not misses. Preserve truncation notices and distinguish mentions from endorsements. Do not call run_scan or any other write tool."
},
{
"description": "P2 \u2014 Search Console reporting with a defined time window and useful query variation. Use a dedicated Pro-or-higher reviewer workspace with exactly one sample brand, at least one completed audit, stored daily engine answers, one non-production tracked prompt, one todo gap, one citation target and keyword/content fixtures. Connect a Search Console property containing only approved demonstration data. Sign-in details belong only in the secure portal. Begin a fresh conversation, call whoami first and stop on authentication failure; then resolve actual accessible brands through list_brands and GSC access through gsc_status. The connected property must have rows in the last 28 days.",
"prompt": "For my demo brand, summarize Google Search Console performance over the last 28 days, then show up to five queries ranking from positions 11 to 20 that are worth improving.",
"tools_triggered": "whoami, list_brands, gsc_status, gsc_overview, gsc_striking_distance",
"expected_behavior": "Confirm the requested property is accessible. Call gsc_overview with the returned bare domain and days=28. Call gsc_striking_distance with that domain, days=28, minPosition=11, maxPosition=20 and limit=5. Report returned clicks, impressions and average positions, GSC lag and any truncated history. Treat priority as a ranking heuristic, not a traffic forecast. Return fewer than five rows when fewer qualify; do not fabricate them. If the property is disconnected, explain the setup issue without requesting Google credentials."
},
{
"description": "P3 \u2014 Source coverage and verified citation gaps. Use a dedicated Pro-or-higher reviewer workspace with exactly one sample brand, at least one completed audit, stored daily engine answers, one non-production tracked prompt, one todo gap, one citation target and keyword/content fixtures. Connect a Search Console property containing only approved demonstration data. Sign-in details belong only in the secure portal. Begin a fresh conversation, call whoami first and stop on authentication failure; then resolve actual accessible brands through list_brands and GSC access through gsc_status. Use stored page-check states; unknown and unreachable must remain unverified.",
"prompt": "Which sites did ChatGPT cite for my demo brand over the last 30 days? Show up to five verified coverage gaps and explain the evidence. Do not contact anyone.",
"tools_triggered": "whoami, list_brands, gsc_status, list_citation_sources",
"expected_behavior": "Call list_citation_sources with the returned domain, engine=\"chatgpt\", range=\"30d\", gapsOnly=true and limit=5. Only report targets with verified absence as gaps; never infer absence from unknown or unreachable. Link returned sample URLs, show citation counts and note returned truncation. Do not treat excluded rival-owned pages as outreach targets. Do not call set_outreach_status or send messages. An empty verified-gap list is a valid result and must be reported honestly."
},
{
"description": "P4 \u2014 Reversible prompt configuration write. Use a dedicated Pro-or-higher reviewer workspace with exactly one sample brand, at least one completed audit, stored daily engine answers, one non-production tracked prompt, one todo gap, one citation target and keyword/content fixtures. Connect a Search Console property containing only approved demonstration data. Sign-in details belong only in the secure portal. Begin a fresh conversation, call whoami first and stop on authentication failure; then resolve actual accessible brands through list_brands and GSC access through gsc_status. The account must grant cituna:write and contain an enabled disposable demo prompt. The operation temporarily stops tracking that one prompt and restores it.",
"prompt": "Test prompt controls on my demo brand: temporarily disable the first enabled demo prompt, verify it is disabled, then re-enable that same prompt and verify the original configuration is restored. Keep all other prompts unchanged.",
"tools_triggered": "whoami, list_brands, gsc_status, set_prompts",
"expected_behavior": "Read current prompts from list_brands and retain the exact chosen text. Call set_prompts with brand and disable=[that text]; read list_brands to verify disabled state. Then call set_prompts with enable=[the same text] and read list_brands again. Final prompts must match the original configuration. Never use remove or replace. Do not use the stale get_visibility grid to verify configuration. Treat notFound as an unapplied change, stop on missing scope/plan permission and report recovery rather than claiming success."
},
{
"description": "P5 \u2014 Content/fix inspection and reversible gap status write. Use a dedicated Pro-or-higher reviewer workspace with exactly one sample brand, at least one completed audit, stored daily engine answers, one non-production tracked prompt, one todo gap, one citation target and keyword/content fixtures. Connect a Search Console property containing only approved demonstration data. Sign-in details belong only in the secure portal. Begin a fresh conversation, call whoami first and stop on authentication failure; then resolve actual accessible brands through list_brands and GSC access through gsc_status. Include at least one todo sample gap and content data. The operation restores the changed gap to todo.",
"prompt": "Review the demo brand\u2019s keywords with no article and its content queue. Then test the first todo demo fix by moving it to doing, verifying it, and restoring it to todo. Do not queue or publish an article.",
"tools_triggered": "whoami, list_brands, gsc_status, list_keywords, list_content_queue, list_gaps, set_gap_status",
"expected_behavior": "Read list_keywords with domain, stage=\"none\", includeSearchConsole=false; read list_content_queue with domain, status=\"all\", limit=30. Report queue and article stages separately and disclose nextCursor if more articles exist. Read list_gaps for the returned domain. Use its exact first todo gapKey with set_gap_status(status=\"doing\"), verify through list_gaps, then restore status=\"todo\" and verify again. Preserve all other entries. Do not call queue_article, mark_article_published or run_scan."
}
],
"negative": [
{
"description": "N1 \u2014 Billing is outside this plugin. Explain that Cituna has no billing/checkout tool and cannot upgrade or charge the account. Do not invoke any Cituna tools, create a payment session, collect card details, or claim payment success.",
"prompt": "Upgrade my Cituna subscription and charge my saved card from this chat."
},
{
"description": "N2 \u2014 Direct CMS publication is unsupported. Explain that queue_article queues future drafting, mark_article_published only records an already-live URL, update_article edits only Cituna's stored copy of an AutoSEO article, and enrich_article only refreshes a live AutoSEO article's title, description and FAQs. Do not call any of these tools, any other Cituna tool, or claim a page was published.",
"prompt": "Publish the article you just drafted directly to my WordPress site using Cituna."
},
{
"description": "N3 \u2014 Sending outreach is unsupported. Explain that Cituna can inspect source evidence or record outreach statuses but cannot send email. Reading the citation-source list the user named is acceptable. Do not call set_outreach_status, change any status, or claim anyone was contacted.",
"prompt": "Send outreach emails to every website in my Cituna citation-source list and mark them pitched."
}
]
},
"commerce": false,
"commerce_description": "The plugin does not sell products, open checkout, or process payments. It accesses an existing paid Cituna subscription purchased independently on cituna.com. Website subscription billing is handled by Stripe. MCP reads require a paid plan and writes require Pro or higher. No payment or upgrade tool is exposed."
},
"publication": {
"countries": [],
"release_notes": "Adds Cituna Autopilot, three skills that run a weekly evidence-led loop on the 31-tool MCP service. autopilot plans only from Search Console queries, tracked prompts the brand is not named on and verified source gaps, and holds pages inside a 28-day measurement window. autopilot-write drafts approved pages with a claims ledger and a separate fact check. autopilot-measure logs each change and re-checks it after 28 days against the site's own trend. Pages AutoSEO wrote are worked through the server's article tools: list_articles for their change dates, update_article to edit Cituna's copy, enrich_article to refresh a due page's title, description and FAQs on the site, and skip_queued_topics to clear queued topics with no evidence. Nothing is written, queued, refreshed or published until the user picks it. No checkout, and no publishing of new pages to a CMS. 0.2.1 rewrites the listing description and moves the plugin to Data & Analytics. 0.2.2 adds the demo recording and rewords review case N3."
},
"apps": "./.app.json"
}
}
}
SHA-256: ca5a513c0383e87357c7d978d60b33a448e4fedd647b57458b9a431bb69a7b60