RoboWrite is a remote MCP server that gives an AI agent 61 tools, among them add_kit_fact, approve_brief, approve_content_kit. It answers at https://www.robowrite.ai/api/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 4 of 4 times since 23 September 2026; the last check, on 6 November 2026, succeeded.
Hosted RoboWrite MCP server: recover briefs and drafts, run the reviewed URL-to-Markdown workflow.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
add_kit_fact | Add one user-supplied fact to the kit so the article can cite it: one plain line of text (at most 200 characters), optional source_url, attribution and priority (normal or must_use). A source_url is fetched now and cited only when its page Inputs: item_id, body |
approve_brief | Re-approve a brief that update_brief moved back to draft. Legal only from draft or in_review; an already-approved brief returns an error. Inputs: brief_id |
approve_content_kit | Approve a reviewed kit at expected_kit_revision with the user's go-ahead; an agent approval is recorded as decided_by=agent. Approval starts the article write as a new job on the item and charges no further allowance (the held generation al Inputs: item_id, body |
assign_review | Claim an unassigned review for the authenticated member, or assign/reassign a current member as an organization admin. Read the review first and supply its exact content_version_id and assignment_revision as expected_assignment_revision. Re Inputs: review_id, body |
check_draft | Start an explicit quality check of the current saved version. This does not edit Markdown. Never send Idempotency-Key. Inputs: content_item_id, body |
confirm_brand_setup | After the user reviews the suggestions, confirm the new brand with optional reviewed edits. Preserve the returned id as brand_id for all subsequent property, pillar and brief operations. Reuse the key only for the same confirmation. Inputs: setup_id, body, idempotency_key |
create_brief | Create a reviewed brief with required brand_id, source_topic_id when starting from a saved topic, and pillar_id when available. The API approves this supplied brief, making it ready for item generation. Optional facts (at most 20, at most 5 |
create_category | Create an agreed category for an explicit brand_id. List that brand first to avoid slug conflicts. Reuse the stable operation key and exact body after a lost response; never rotate a key to evade a 409. Inputs: body, idempotency_key |
create_content_item | Create an item from a brief and a same-brand property. Reuse the idempotency key only for retries of this exact request. Inputs: body, idempotency_key |
create_property | Create a property for an explicitly selected brand. Defaults to draft_only, collecting drafts without CMS publishing; send cms_publish only for an explicitly requested CMS destination. Inputs: body, idempotency_key |
create_tag | Create an agreed tag for an explicit brand_id. List that brand first to avoid slug conflicts. Reuse the stable operation key and exact body after a lost response; never rotate a key to evade a 409. Inputs: body, idempotency_key |
create_topic | Save a topic and primary keyword, optionally linked to the selected brand's pillar. This does not generate or publish content. Inputs: brand_id, body, idempotency_key |
decide_review | Record the user's explicit approve, reject or request_revision decision as the authenticated assigned reviewer or organization admin. Use the exact reviewed version and a stable request_id; retries must keep identical input. Approval author Inputs: review_id, body |
delete_category | Delete a category and its children only after an explicit user decision for that exact ID, brand and affected hierarchy. Read it and verify brand_id first. This is destructive and excluded from the default draft recipe. A 204 confirms delet Inputs: category_id |
delete_tag | Delete a tag only after an explicit user decision for that exact ID and brand. Read it and verify brand_id first. This is destructive and excluded from the default draft recipe. A 204 confirms deletion; do not automatically retry or supply Inputs: tag_id |
diff_draft | Compare Markdown of two immutable versions of the same item. This does not write. Inputs: content_item_id, from_version_id, to_version_id |
edit_draft | Save a new immutable Markdown version. Supply expected_base_version_id of the current version. Use markdown_body for whole-body replacement or a unique target plus replacement for an exact patch. Reuse request_id after a lost response. Neve Inputs: content_item_id, body |
generate_content_item | Start item generation and return its job ID. This is the draft path, not topic autopilot. No dry-run mode exists; accepted work consumes allowance. Poll get_job without repeating this call. Optional body.kit_mode: auto (default; organizatio Inputs: item_id, body, idempotency_key |
generate_pillar_strategy | Generate a pillar strategy for the selected brand. Fresh/force-refresh runs consume allowance. A 200 is a snapshot; a 202 requires polling its run_id. Do not send an idempotency key: the API dedupes the request signature. Inputs: body |
get_account | Read the signed-in organization, available brands, and remaining allowances before starting work. |
get_brand | Read one brand and its saved voice. Inputs: brand_id |
get_brand_setup | Read URL research status and suggested brand/voice. Pending/running means poll again later; failed means stop and report the error; ready means ask the user to review the suggestions before confirmation. Inputs: setup_id |
get_brief | Read a brief, its source topic and selected brand, target word count, and linked content. Inspect an existing brief before creating another after a dropped session. Inputs: brief_id |
get_category | Read one category in the signed-in organization. Check its brand_id against the selected brand before changing it. Inputs: category_id |
get_content | Read a content record and saved versions, including pending items without Markdown. Request include=scoring,sources,assertion_provenance,compliance,supplied_facts for per-version quality details (sources and provenance carry origin research Inputs: content_item_id, include, latest_only, version, limit, offset |
get_content_kit | Read an item's v2 content kit: status (draft, needs_review or approved), kit_revision, review_findings, outline, claims (origin research or supplied) and components. Send kit_revision as expected_kit_revision on every kit write. 404 means n Inputs: item_id |
get_document | Read one library document's metadata and structured summary before attaching it to a brief. Does not include extracted text. Inputs: document_id |
get_job | Read one known job, including errors, elapsed time and content references. Use list_jobs to recover a lost ID. Stop on completed, completed_with_errors, failed, cancelled, or awaiting_review. Article jobs add kit_status, kit_revision, kit_c Inputs: job_id |
get_pillar_strategy | Poll a pillar strategy run. Preserve completed_with_errors warnings and stop on failed/cancelled. Inputs: run_id |
get_property | Read the selected publishing property and its brand/publish policy. Inputs: property_id |
get_review | Read a durable review after human handoff, including decisions after the original job expires or completes. This never starts generation or publication. Inputs: review_id |
get_review_card | Read the persisted review-card checks for the current saved version. This does not start a check or a provider call. Never send Idempotency-Key. Inputs: content_item_id |
get_tag | Read one tag in the signed-in organization. Check its brand_id against the selected brand before changing it. Inputs: tag_id |
get_topic_content | Find content created from a topic, including the reviewed-brief path. Returns paginated named drafts with brief, item, latest version, job and published URL references; an empty page does not authorize generating again. Inputs: topic_id, brand_id, property_id, status, format, pillar_id |
list_brands | List this organization's brands. Preserve the user's selected brand ID through the whole recipe. Inputs: limit, offset |
list_briefs | Find reviewed briefs by title, keyword, brand, property, status, format, pillar and creation date. Returns brief identity and linked content summaries; use list_content with brief_id to recover its content. Inputs: brand_id, property_id, status, format, pillar_id, created_from |
list_categories | List the selected brand's categories. Follow has_more with offset/limit before creating; an empty page never authorizes a create. Inputs: brand_id, limit, offset |
list_content | Find and recover saved or pending drafts by title/slug, keyword, brand, property, status, format, pillar and creation date. Returns named content records with brief/topic, latest version, job and publication references. Follow pagination to Inputs: brand_id, property_id, status, format, pillar_id, created_from |
list_documents | List the organization's library documents (brand guidelines, product specs, personas) available to attach to a brief via attached_document_ids. Filter by category, status, or a filename substring. Inputs: category, status, q, limit, offset |
list_draft_sections | List parser-derived H2 section ids for a saved version. Duplicate headings are distinct; headings inside code fences are ignored. Inputs: content_item_id, content_version_id |
list_jobs, list_pillars, list_properties, list_reviewers, list_reviews, list_tags, list_topics, lock_kit_component, override_kit_component, read_draft, reject_content_kit, remove_kit_component, remove_kit_fact, request_review, restore_draft, rewrite_draft, start_brand_setup, update_brand_voice, update_brief, update_category, update_tag
Every block below points at https://www.robowrite.ai/api/mcp. Pick your client and copy.
claude mcp add --transport http robowrite https://www.robowrite.ai/api/mcp
{
"mcpServers": {
"robowrite": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://www.robowrite.ai/api/mcp"]
}
}
}{
"mcpServers": {
"robowrite": {
"url": "https://www.robowrite.ai/api/mcp"
}
}
}{
"servers": {
"robowrite": {
"type": "http",
"url": "https://www.robowrite.ai/api/mcp"
}
}
}{
"context_servers": {
"robowrite": {
"url": "https://www.robowrite.ai/api/mcp"
}
}
}{
"mcpServers": {
"robowrite": {
"serverUrl": "https://www.robowrite.ai/api/mcp"
}
}
}{
"mcpServers": {
"robowrite": {
"url": "https://www.robowrite.ai/api/mcp"
}
}
}name: RoboWrite
version: 0.0.1
schema: v1
mcpServers:
- name: RoboWrite
type: streamable-http
url: https://www.robowrite.ai/api/mcp{
"mcpServers": {
"robowrite": {
"httpUrl": "https://www.robowrite.ai/api/mcp"
}
}
}{
"mcpServers": {
"robowrite": {
"type": "http",
"url": "https://www.robowrite.ai/api/mcp"
}
}
}{
"mcpServers": {
"robowrite": {
"url": "https://www.robowrite.ai/api/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fwww.robowrite.ai%2Fapi%2Fmcp&type=streamable_http&id=robowrite&name=RoboWrite
It answered our last check on 6 November 2026 in 304 ms. Over 4 checks since 23 September 2026 it answered 4. Status here comes from Neuronto's own probes, not from the publisher.
Yes. It is published by robowrite.ai and served from www.robowrite.ai, the vendor's own domain: https://www.robowrite.ai/api/mcp.
61, as returned by the server's own tools/list on 9 November 2026: add_kit_fact, approve_brief, approve_content_kit, assign_review, check_draft, confirm_brand_setup, create_brief, create_category, and 53 more.
It answered our last check on 6 November 2026 in 304 ms. Over 4 checks since 23 September 2026 it answered 4.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://www.robowrite.ai/api/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: ai.robowrite. Endpoint host: www.robowrite.ai. ARD identifier: urn:air:ai.robowrite:mcp:mcp.
First indexed 18 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.