RoboWrite
by robowrite.ai in Other
Hosted RoboWrite MCP server: recover briefs and drafts, run the reviewed URL-to-Markdown workflow.
https://www.robowrite.ai/api/mcp
Last 30 days
- Uptime
- 100%
- Response time
- 752 ms typical, 974 ms slowest 5%
- Last check
- 3 h ago
- Next check
- in 4 h
How to call it
Add it to any MCP client that supports remote servers.
{
"mcpServers": {
"robowrite": {
"type": "http",
"url": "https://www.robowrite.ai/api/mcp"
}
}
}53 tools
- list_categories
List the selected brand's categories. Follow has_more with offset/limit before creating; an empty page never authorizes a create.
- get_category
Read one category in the signed-in organization. Check its brand_id against the selected brand before changing it.
- 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.
- update_category
Save reviewed category edits after reading it and checking its brand_id. Omitted fields stay unchanged. Do not supply an idempotency key.
- 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 deletion; do not automatically retry or suppl
- list_tags
List the selected brand's tags. Follow has_more with offset/limit before creating; an empty page never authorizes a create.
- get_tag
Read one tag in the signed-in organization. Check its brand_id against the selected brand before changing it.
- 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.
- update_tag
Save reviewed tag edits after reading it and checking its brand_id. Omitted fields stay unchanged. Do not supply an idempotency key.
- 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 an idempotency key.
- 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. Reuse request_id with identical input afte
- list_reviews
Recover persisted editorial reviews for a content item, including exact version IDs and human decisions. Approval authorizes editorial use/export only; check is_current before using it.
- get_review
Read a durable review after human handoff, including decisions after the original job expires or completes. This never starts generation or publication.
- list_reviewers
Find current organization members eligible for editorial review.
- request_review
Request editorial review for the current saved nonempty version. Repeating the same version returns the same review. Retain its review/item/version IDs and stop for a human decision.
- 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 authorizes editorial use/export only and never
- get_account
Read the signed-in organization, available brands, and remaining allowances before starting work.
- start_brand_setup
Research a website URL for brand and voice suggestions. This starts real asynchronous work. Reuse the same operation key on retries, then read the setup; do not confirm until the user reviews the suggestions.
- 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.
- 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.
- list_brands
List this organization's brands. Preserve the user's selected brand ID through the whole recipe.
- get_brand
Read one brand and its saved voice.
- update_brand_voice
Save reviewed voice edits for this brand. Omitted fields stay unchanged.
- list_properties
List properties and inspect their brand and publish policy before selecting one.
- get_property
Read the selected publishing property and its brand/publish policy.
- 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.
- list_pillars
List saved pillars, filtered by brand_id when a brand is selected. Follow pagination before concluding no pillar exists.
- 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.
- get_pillar_strategy
Poll a pillar strategy run. Preserve completed_with_errors warnings and stop on failed/cancelled.
- list_topics
List topics for the chosen brand, optionally filtered by pillar.
- create_topic
Save a topic and primary keyword, optionally linked to the selected brand's pillar. This does not generate or publish content.
- 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.
- 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.
- 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.
- 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 recover all matches.
- 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.
- 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.
- update_brief
Save reviewed edits to an existing brief, including must_cover, must_avoid, source_urls, example_urls, competitor_urls, cta, notes, and outline (ordered H2 titles). Omitted fields stay unchanged; [] or null clears a supported field. Editing a generation-relevant field on an alrea
- 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.
- 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.
Security scan
- No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time |
|---|---|---|---|
| 3 h ago | Passed | 200 | 752 ms |
| 12 h ago | Passed | 200 | 518 ms |
| 20 h ago | Passed | 200 | 974 ms |
| 28 h ago | Passed | 200 | 1.3 s |