ChimpanSEO
by chimpanseo.app · remote · no sign-in to list tools · v1.0.1 · published by app.chimpanseo
Generate GEO/AEO-optimized articles and publish them to WordPress from your AI agent.
13 tools: 3 can delete or cancel things, 3 change things and 7 only read.
Scanned Oct 21, 2026
- Deletes or cancels3Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things3Claude Code: ask: see these tools
- Only reads7Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http chimpanseo https://chimpanseo.app/api/mcp --header 'Authorization: <your-authorization>'Findings
Matches of fixed checks, with the text they matched.
- Warnsuggest_topics
The server marks "suggest_topics" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The description's first verb is "generate": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
13 tools
Deletes or cancels 3Claude Code: deny
cancel_scheduled_articleRemoves a slot from the editorial calendar, from list_scheduled_articles.No findings
Why it is in this group
- The name "cancel_scheduled_article" says "cancel": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Removes a slot from the editorial calendar, from list_scheduled_articles. Same as deleting it from the dashboard calendar — works regardless of the slot's current status, so double-check it hasn't already published if that matters (see list_scheduled_articles' wp_post_id/article_id fields).
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
publish_articlePublish (or save as draft) a previously generated article to its WordPress site.No findings
Why it is in this group
- The name "publish_article" says "publish": a word for a change that another call does not undo.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Publish (or save as draft) a previously generated article to its WordPress site. Only works for WordPress sites — Framer/Webflow sites are copy-paste only (Beta) and are not supported here.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
refresh_articleRewrites an existing article to be current and more SEO/AEO-optimized — updates dates/stats/examples, improves headings, adds a FAQ section, adds 300+ words.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 Rewrites an existing article to be current and more SEO/AEO-optimized — updates dates/stats/examples, improves headings, adds a FAQ section, adds 300+ words. Same action as the dashboard's "Migliora & aggiorna" button. If the article is already published to WordPress, the refreshed version is automatically re-published there too (title and WordPress status unchanged); otherwise only ChimpanSEO's own copy is updated. ASYNC: returns a jobId immediately — poll get_generation_status with it, typically ready in 1-4 minutes.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
Changes things 3Claude Code: ask
generate_articleStarts generating a new SEO/GEO-optimized article via AI for a given topic and site.No findings
Why it is in this group
- The name "generate_article" says "generate": a word for a change.
Description, as the server wrote it Starts generating a new SEO/GEO-optimized article via AI for a given topic and site. Counts against the account's monthly article quota, same as generating from the dashboard. Does NOT publish it — call publish_article separately once you're happy with it. ASYNC: this returns a jobId immediately, it does NOT wait for the article. Generation typically takes 1-6 minutes (reasoning model, non-streaming) — poll get_generation_status with the returned jobId every ~15-20s until status is "ready" or "error". (Older integrations that awaited this call directly would hit their own client's default request timeout, typically 60s, long before generation finished — this is why it's async now.)
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
schedule_articleSchedule a topic to be generated and auto-published at a future date/time on a WordPress site — the same editorial calendar the dashboard uses.No findings
Why it is in this group
- The name "schedule_article" says "schedule": a word for a change.
Description, as the server wrote it Schedule a topic to be generated and auto-published at a future date/time on a WordPress site — the same editorial calendar the dashboard uses. Requires a plan with scheduling enabled.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
suggest_topicsGenerates topic suggestions for a site's next articles, using the same logic as the dashboard's topic generator — biased toward an experiment/case-study angle for a share of the re…1 finding
Why it is in this group
- The description's first verb is "generate": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "suggest_topics" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The description's first verb is "generate": a word for a change.
Description, as the server wrote it Generates topic suggestions for a site's next articles, using the same logic as the dashboard's topic generator — biased toward an experiment/case-study angle for a share of the results, and informed by the site's differentiators if set, rather than generic keyword-chasing titles. Fast (a few seconds, not a background job) — use this before generate_article or schedule_article instead of inventing topics yourself.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
Only reads 7Claude Code: allow
audit_siteFetches the site's homepage and checks the on-page technical SEO factors that matter for both Google and AI citation — title/meta tags, canonical, H1, mobile viewport, HTTPS, Open …No findings
Why it is in this group
- The description's first verb is "fetch": a word for reading.
Description, as the server wrote it Fetches the site's homepage and checks the on-page technical SEO factors that matter for both Google and AI citation — title/meta tags, canonical, H1, mobile viewport, HTTPS, Open Graph, JSON-LD structured data, image alt coverage, indexability, response time. Each finding includes a concrete tip, not just pass/fail. Fast (a few seconds) — no background job needed.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_articleFetch one article's full HTML content and metadata by id — list_articles deliberately omits content to stay compact, use this to actually read what was generated (e.g.No findings
Why it is in this group
- The name "get_article" says "get": a word for reading.
Description, as the server wrote it Fetch one article's full HTML content and metadata by id — list_articles deliberately omits content to stay compact, use this to actually read what was generated (e.g. after generate_article or refresh_article, or before deciding whether to publish it).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_generation_statusPoll the status of a generate_article or refresh_article call by jobId.No findings
Why it is in this group
- The name "get_generation_status" says "get": a word for reading.
Description, as the server wrote it Poll the status of a generate_article or refresh_article call by jobId. Returns status: "pending" (still working), "ready" (done — includes articleId, title, excerpt, charCount), or "error" (includes the error message).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_usageCheck the current plan, monthly article limit, articles used this month and articles remaining — call this before generating to use the quota consciously instead of guessing.No findings
Why it is in this group
- The name "get_usage" says "get": a word for reading.
Description, as the server wrote it Check the current plan, monthly article limit, articles used this month and articles remaining — call this before generating to use the quota consciously instead of guessing.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_articlesList the most recent articles generated on this account, with title, status, site and link.No findings
Why it is in this group
- The name "list_articles" says "list": a word for reading.
Description, as the server wrote it List the most recent articles generated on this account, with title, status, site and link.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_scheduled_articlesList scheduled_article slots (past and future) — topic, target date, status, site.No findings
Why it is in this group
- The name "list_scheduled_articles" says "list": a word for reading.
Description, as the server wrote it List scheduled_article slots (past and future) — topic, target date, status, site. Use this before schedule_article to see what's already queued and avoid duplicating dates/topics.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_sitesList the WordPress/Framer/Webflow sites connected to this ChimpanSEO account, with id, name, url, platform and language.No findings
Why it is in this group
- The name "list_sites" says "list": a word for reading.
Description, as the server wrote it List the WordPress/Framer/Webflow sites connected to this ChimpanSEO account, with id, name, url, platform and language.
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.0.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http chimpanseo https://chimpanseo.app/api/mcp --header 'Authorization: <your-authorization>'Run in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__chimpanseo__list_sites",
"mcp__chimpanseo__get_usage",
"mcp__chimpanseo__list_articles",
"mcp__chimpanseo__get_article",
"mcp__chimpanseo__list_scheduled_articles",
"mcp__chimpanseo__audit_site",
"mcp__chimpanseo__get_generation_status"
],
"ask": [
"mcp__chimpanseo__suggest_topics",
"mcp__chimpanseo__generate_article",
"mcp__chimpanseo__schedule_article"
],
"deny": [
"mcp__chimpanseo__refresh_article",
"mcp__chimpanseo__publish_article",
"mcp__chimpanseo__cancel_scheduled_article"
]
}
}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 chimpanseo. Review it before you use it.