Agent-first SEO research and publishing: competitors, SERPs, internal links, and Search Console
Inferred from the transports this listing declares (stdio, streamable-http). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.
MOTIBLOG_API_KEYAPI keyrequiredPer-project API key. Dashboard: Project → Agent access.
Declared by the author in the official MCP registry. Forge does not store, broker, or ever see these values — the config below is scaffolded with placeholders you fill in locally.
Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.
Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.
get_digestOne-call morning check-in for a project: article counts by lifecycle status, the REVIEW queue (what is waiting to be published, with word counts), posts published in the last 7 days, content plans due in the next 7 days, the latest published post, quota usage, the project's current autonomy level (…One-call morning check-in for a project: article counts by lifecycle status, the REVIEW queue (what is waiting to be published, with word counts), posts published in the last 7 days, content plans due in the next 7 days, the latest published post, quota usage, the project's current autonomy level (…
No input schema was published for this tool.
list_projectsList the MotiBlog projects permitted by the current credential. A project-restricted OAuth grant returns only the projects the human selected plus projects this agent created; an account-wide grant returns every project owned by the account. Includes settings that matter to agents and quota usage.…List the MotiBlog projects permitted by the current credential. A project-restricted OAuth grant returns only the projects the human selected plus projects this agent created; an account-wide grant returns every project owned by the account. Includes settings that matter to agents and quota usage.…
No input schema was published for this tool.
create_projectCreate a new blog project for the authenticated account. The website must be reachable and the account must have an available project slot. A restricted OAuth grant automatically receives access to the project it creates. MotiBlog starts the initial analysis and content pipeline after creation.Create a new blog project for the authenticated account. The website must be reachable and the account must have an available project slot. A restricted OAuth grant automatically receives access to the project it creates. MotiBlog starts the initial analysis and content pipeline after creation.
No input schema was published for this tool.
get_projectGet one MotiBlog project in detail: pipeline settings (aiModel, language, internalLinks, banner), positioning inputs (businessProfile, productTruth, manualPositioning) and quota state.Get one MotiBlog project in detail: pipeline settings (aiModel, language, internalLinks, banner), positioning inputs (businessProfile, productTruth, manualPositioning) and quota state.
No input schema was published for this tool.
update_projectUpdate operational settings for an existing project: name/status, approval and auto-publish policy, writing model/language, fact checking, positioning, internal links, self-hosting, and banner configuration. Omitted fields stay unchanged.Update operational settings for an existing project: name/status, approval and auto-publish policy, writing model/language, fact checking, positioning, internal links, self-hosting, and banner configuration. Omitted fields stay unchanged.
No input schema was published for this tool.
start_pipelineStart the autonomous pipeline for a project: site crawl/analysis → topic selection → article generation for scheduled plans. Returns immediately; poll get_pipeline_status or list_articles(status=GENERATING) to follow progress.Start the autonomous pipeline for a project: site crawl/analysis → topic selection → article generation for scheduled plans. Returns immediately; poll get_pipeline_status or list_articles(status=GENERATING) to follow progress.
No input schema was published for this tool.
get_pipeline_statusGet current pipeline run state for a project: whether a run is active, its steps, and recent run history. Use after start_pipeline or generate_article.Get current pipeline run state for a project: whether a run is active, its steps, and recent run history. Use after start_pipeline or generate_article.
No input schema was published for this tool.
retry_pipelineRetry a failed pipeline run by id. The API starts a fresh run for the same owned project and returns immediately.Retry a failed pipeline run by id. The API starts a fresh run for the same owned project and returns immediately.
No input schema was published for this tool.
suggest_topicsSuggest blog topics for a project by adding entries to its content plan (one call per topic). This is the agent-side 'propose' step: topics land as DRAFT plan entries — nothing is generated until you approve_content_plan + generate_article. Prefer specific, keyword-like topics.Suggest blog topics for a project by adding entries to its content plan (one call per topic). This is the agent-side 'propose' step: topics land as DRAFT plan entries — nothing is generated until you approve_content_plan + generate_article. Prefer specific, keyword-like topics.
No input schema was published for this tool.
list_content_plansList the content plan queue for a project with each entry status: DRAFT (proposed), APPROVED (cleared for generation), IN_PROGRESS, COMPLETED.List the content plan queue for a project with each entry status: DRAFT (proposed), APPROVED (cleared for generation), IN_PROGRESS, COMPLETED.
No input schema was published for this tool.
approve_content_planApprove a DRAFT content-plan entry so it becomes eligible for generation (generate_article or the scheduled pipeline).Approve a DRAFT content-plan entry so it becomes eligible for generation (generate_article or the scheduled pipeline).
No input schema was published for this tool.
regenerate_content_planAsk AI to rewrite a content-plan entry (new title/summary/target keyword) — use when a suggested topic misses the mark. Only works while no article has been generated from it.Ask AI to rewrite a content-plan entry (new title/summary/target keyword) — use when a suggested topic misses the mark. Only works while no article has been generated from it.
No input schema was published for this tool.
reschedule_content_planMove a content-plan entry to a new ISO 8601 scheduled date.Move a content-plan entry to a new ISO 8601 scheduled date.
No input schema was published for this tool.
create_content_planAdd a fully agent-authored entry to the content plan: you supply the exact title, target keyword, summary, content type, funnel stage and date — nothing is AI-reinterpreted (unlike suggest_topics, which expands a loose topic). Without scheduled_date the entry appends after the latest active plan. s…Add a fully agent-authored entry to the content plan: you supply the exact title, target keyword, summary, content type, funnel stage and date — nothing is AI-reinterpreted (unlike suggest_topics, which expands a loose topic). Without scheduled_date the entry appends after the latest active plan. s…
No input schema was published for this tool.
update_content_planEdit a DRAFT/APPROVED plan entry directly: title, target keyword, summary, content type, funnel stage, scheduled date, or status (DRAFT↔APPROVED — set DRAFT to pause a scheduled plan without deleting it). IN_PROGRESS and COMPLETED plans are refused: one is generating, the other is the record of wha…Edit a DRAFT/APPROVED plan entry directly: title, target keyword, summary, content type, funnel stage, scheduled date, or status (DRAFT↔APPROVED — set DRAFT to pause a scheduled plan without deleting it). IN_PROGRESS and COMPLETED plans are refused: one is generating, the other is the record of wha…
No input schema was published for this tool.
bulk_reschedule_content_plansMove up to 100 plan entries to new dates in one transactional call — reorder a month of the calendar without N sequential reschedules. Every entry must name an active plan in the project; any miss fails the whole batch, so a partial reorder never ships.Move up to 100 plan entries to new dates in one transactional call — reorder a month of the calendar without N sequential reschedules. Every entry must name an active plan in the project; any miss fails the whole batch, so a partial reorder never ships.
No input schema was published for this tool.
delete_content_planprivilegedSoft-delete a content-plan entry: it disappears from the plan list, calendar, digest and the daily scheduler, but is fully restorable with restore_content_plan. Use this to prune ungenerated backlog instead of parking entries on a far-future date. Only DRAFT/APPROVED plans without a real article ca…Soft-delete a content-plan entry: it disappears from the plan list, calendar, digest and the daily scheduler, but is fully restorable with restore_content_plan. Use this to prune ungenerated backlog instead of parking entries on a far-future date. Only DRAFT/APPROVED plans without a real article ca…
No input schema was published for this tool.
restore_content_planUndo a soft delete: the content-plan entry returns to the backlog with its status and scheduled date intact. Use list_deleted_content_plans to find deletable ids.Undo a soft delete: the content-plan entry returns to the backlog with its status and scheduled date intact. Use list_deleted_content_plans to find deletable ids.
No input schema was published for this tool.
list_deleted_content_plansList soft-deleted content-plan entries for a project (most recently deleted first), so a deletion can be audited or reverted with restore_content_plan.List soft-deleted content-plan entries for a project (most recently deleted first), so a deletion can be audited or reverted with restore_content_plan.
No input schema was published for this tool.
generate_articleNo description publishedThis tool published no description. Forge does not invent one.
get_calendarGet scheduled content-plan entries (with slim article previews) between two ISO dates, e.g. start_date=2026-09-01 end_date=2026-09-30.Get scheduled content-plan entries (with slim article previews) between two ISO dates, e.g. start_date=2026-09-01 end_date=2026-09-30.
No input schema was published for this tool.
list_review_queueList articles awaiting attention, filtered by status. Lifecycle: DRAFT → GENERATING → REVIEW → APPROVED → PUBLISHING → PUBLISHED (also FAILED, SKIPPED). Default status=REVIEW (needs human/agent approval); pass APPROVED to see what is cleared for publishing.List articles awaiting attention, filtered by status. Lifecycle: DRAFT → GENERATING → REVIEW → APPROVED → PUBLISHING → PUBLISHED (also FAILED, SKIPPED). Default status=REVIEW (needs human/agent approval); pass APPROVED to see what is cleared for publishing.
No input schema was published for this tool.
get_articleGet the FULL article: markdown content plus quality signals — factCheckReport (verified/unverified claims with sources), topicGate verdict, seoScore/issues, publishedUrl. Set include_logs=true to append per-phase pipeline telemetry (tokens, cost, phase status). Use this during review before approvi…Get the FULL article: markdown content plus quality signals — factCheckReport (verified/unverified claims with sources), topicGate verdict, seoScore/issues, publishedUrl. Set include_logs=true to append per-phase pipeline telemetry (tokens, cost, phase status). Use this during review before approvi…
No input schema was published for this tool.
update_articleEdit an article: replace the markdown content, retitle, change metaDescription, or move status (e.g. fix flagged claims from factCheckReport then set status=APPROVED; or send back to DRAFT). Editing content is how agents answer fact-check flags when no external source exists.Edit an article: replace the markdown content, retitle, change metaDescription, or move status (e.g. fix flagged claims from factCheckReport then set status=APPROVED; or send back to DRAFT). Editing content is how agents answer fact-check flags when no external source exists.
No input schema was published for this tool.
approve_publicationApprove an article for publication through the governed approval gate. publish_now=true also triggers publishing immediately (to enabled integrations, or the self-hosted blog when selfHostedBlog=true). Otherwise the article sits in APPROVED until the scheduler/autoPublish picks it up or publish_to_…Approve an article for publication through the governed approval gate. publish_now=true also triggers publishing immediately (to enabled integrations, or the self-hosted blog when selfHostedBlog=true). Otherwise the article sits in APPROVED until the scheduler/autoPublish picks it up or publish_to_…
No input schema was published for this tool.
schedule_publicationSet or clear a per-article scheduled publish time (ISO datetime). Pass null for clear_schedule=true to unschedule. Scheduled APPROVED articles are published automatically by the 15-minute scheduler when autoPublish is on.Set or clear a per-article scheduled publish time (ISO datetime). Pass null for clear_schedule=true to unschedule. Scheduled APPROVED articles are published automatically by the 15-minute scheduler when autoPublish is on.
No input schema was published for this tool.
regenerate_articleWipe an article and rerun the ENTIRE pipeline from scratch (research → draft …). Content-destructive: prefer update_article for targeted edits or regenerate_chapter for one section.Wipe an article and rerun the ENTIRE pipeline from scratch (research → draft …). Content-destructive: prefer update_article for targeted edits or regenerate_chapter for one section.
No input schema was published for this tool.
regenerate_chapterRegenerate ONE chapter (0-based chapter_index) of an article; all other sections stay byte-identical. Cheaper and safer than regenerate_article.Regenerate ONE chapter (0-based chapter_index) of an article; all other sections stay byte-identical. Cheaper and safer than regenerate_article.
No input schema was published for this tool.
get_pipeline_logsNo description publishedThis tool published no description. Forge does not invent one.
get_article_feedbackNo description publishedThis tool published no description. Forge does not invent one.
list_refresh_suggestionsNo description publishedThis tool published no description. Forge does not invent one.
dismiss_refresh_suggestionNo description publishedThis tool published no description. Forge does not invent one.
generate_programmatic_articlesNo description publishedThis tool published no description. Forge does not invent one.
rewrite_textNo description publishedThis tool published no description. Forge does not invent one.
upload_article_bannerprivilegedNo description publishedThis tool published no description. Forge does not invent one.
delete_article_bannerprivilegedNo description publishedThis tool published no description. Forge does not invent one.
upload_imageprivilegedNo description publishedThis tool published no description. Forge does not invent one.
get_banner_previewNo description publishedThis tool published no description. Forge does not invent one.
suggest_banner_promptNo description publishedThis tool published no description. Forge does not invent one.
list_integrationsNo description publishedThis tool published no description. Forge does not invent one.
27 of 40 tools published a description.
Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.
Agent-first SEO research and publishing: competitors, SERPs, internal links, and Search Console
Linked names open Forge’s index of every entry observed exposing that tool. Browse all indexed tools.
The crawl stopped at the depth-4 limit. Anything below that level was never resolved.
The crawl stopped at the 60-package limit. The rest of the tree was never resolved.
36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)
54 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.
+42 more not listed. The counts by reason above cover all of them.
Not followed: peerDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.