MCP server intelligence profile

claudaborative-editing MCP Server

Enables real-time AI editing assistance in the WordPress block editor, allowing Claude to proofread, review, edit, translate, compose, and prepare posts for publishing

Local Onlypento
Awaiting current scanNpm · 0.5.2

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

1Distribution channel
40Independently observed tools
0Linked remote endpoints
AvailableVersion intelligence

Detailed security scan evidence is not public for this MCP yet. Public identity, registry metadata, and independently observed protocol inventory remain available.

Install and connect

Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.

Install claudaborative-editing from npm

Version 0.5.2 declares 1 executable entrypoint.

npm install --save-exact claudaborative-editing@0.5.2
npx -y -p claudaborative-editing@0.5.2 claudaborative-editing
MCP client configuration example
{
  "mcpServers": {
    "claudaborative-editing": {
      "command": "npx",
      "args": [
        "-y",
        "-p",
        "claudaborative-editing@0.5.2",
        "claudaborative-editing"
      ]
    }
  }
}

Identity

Canonical slugclaudaborative-editing-24b4f1c3DeploymentLocal Only
Canonical packagenpm:claudaborative-editingRepositorypento/claudaborative-editing
First publishedLatest release
Last security verificationClassification confidence90%
PublicationDraftOfficial distributionNot verified

Distributions

ChannelIdentifierCurrent versionVersionsSource
npmclaudaborative-editing0.5.232Repository

Current release

PackageVersionPublished / observedInventorySecurity scan
npmclaudaborative-editing0.5.2CurrentSep 5, 202640 toolsSucceeded · 0 resources · 8 promptsEvidence restricted
Enterprise protection

Continuously monitor this MCP for security risk

Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.

  • Independent exact-version security scans
  • Continuous release and vulnerability monitoring
  • Risk-change alerts with capability context
  • Historical evidence and API exports
Custom pricingContact salesTailored to your organization, integrations, data needs, and support requirements.

Current version evidence

No public current-version evidence is available yet.

Current protocol inventory

2025-06-18Negotiated protocol
wpceServer-reported name
3Capability groups
Aug 15, 2026Observed

Tools 40

ToolCategoryAnnotationsRisk
wp_add_noteAdd a note (block comment) to a specific block. Notes are editorial feedback visible in the WordPress editor but not shown to site visitors.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "blockIndex": {
      "type": "string",
      "description": "Block index (e.g. \"0\", \"2.1\" for nested blocks)"
    },
    "content": {
      "type": "string",
      "description": "Note text"
    }
  },
  "required": [
    "blockIndex",
    "content"
  ]
}
wp_block_typesLook up block type schemas — attributes, defaults, nesting constraints. Use before inserting unfamiliar block types.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "name": {
      "description": "Exact block type name (e.g., \"core/pullquote\") for full details",
      "type": "string"
    },
    "search": {
      "description": "Search block types by name (e.g., \"quote\", \"media\")",
      "type": "string"
    }
  }
}
wp_close_postClose the current post and stop syncing, without disconnecting from WordPress
Input schema
{
  "type": "object",
  "properties": {}
}
wp_collaboratorsList active collaborators on the current post
Input schema
{
  "type": "object",
  "properties": {}
}
wp_connectConnect to a WordPress site for collaborative editing. Not needed if the server was started with WP_SITE_URL, WP_USERNAME, and WP_APP_PASSWORD environment variables — check wp_status first.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "siteUrl": {
      "type": "string",
      "description": "WordPress site URL (e.g., https://example.com)"
    },
    "username": {
      "type": "string",
      "description": "WordPress username"
    },
    "appPassword": {
      "type": "string",
      "description": "WordPress Application Password"
    }
  },
  "required": [
    "siteUrl",
    "username",
    "appPassword"
  ]
}
wp_create_postCreate a new WordPress post and open it for editing
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "title": {
      "description": "Post title",
      "type": "string"
    },
    "content": {
      "description": "Initial post content (Gutenberg HTML)",
      "type": "string"
    }
  }
}
wp_disconnectDisconnect from the WordPress site
Input schema
{
  "type": "object",
  "properties": {}
}
wp_edit_block_textMake surgical find-and-replace text edits within a block. More efficient than wp_update_block for small corrections (typos, grammar fixes) — only the targeted text is changed, preserving concurrent edits.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "index": {
      "type": "string",
      "description": "Block index (e.g., \"0\", \"2.1\" for nested blocks)"
    },
    "attribute": {
      "description": "Rich-text attribute to edit (default: \"content\"). Use \"citation\" for quote/pullquote citations, \"value\" for pullquote text, etc.",
      "type": "string"
    },
    "edits": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "find": {
            "type": "string",
            "minLength": 1,
            "description": "Exact text to find in the current content (may include HTML tags like <strong>, <a href=\"...\">)"
          },
          "replace": {
            "type": "string",
            "description": "Replacement text (empty string to delete the found text)"
          },
          "occurrence": {
            "description": "Which occurrence to replace (1-indexed, default 1). Use when the same text appears multiple times.",
            "type": "integer",
            "minimum": 1,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "find",
          "replace"
        ]
      },
      "description": "List of find-and-replace operations applied sequentially"
    }
  },
  "required": [
    "index",
    "edits"
  ]
}
wp_insert_blockInsert a new block at a position in the post. Supports nested blocks via innerBlocks.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "position": {
      "type": "number",
      "description": "Position to insert the block (0-based index)"
    },
    "name": {
      "type": "string",
      "description": "Block type name (e.g., \"core/paragraph\", \"core/heading\", \"core/separator\")"
    },
    "content": {
      "description": "Text content for the block",
      "type": "string"
    },
    "attributes": {
      "description": "Block attributes (key-value pairs)",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "innerBlocks": {
      "description": "Nested child blocks (e.g., list-items inside a list)",
      "type": "array",
      "items": {
        "$ref": "#/definitions/__schema0"
      }
    }
  },
  "required": [
    "position",
    "name"
  ],
  "definitions": {
    "__schema0": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Block type name (e.g., \"core/paragraph\", \"core/heading\", \"core/separator\")"
        },
        "content": {
          "description": "Text content for the block",
          "type": "string"
        },
        "attributes": {
          "description": "Block attributes (key-value pairs)",
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        },
        "innerBlocks": {
          "description": "Nested child blocks (e.g., list-items inside a list)",
          "type": "array",
          "items": {
            "$ref": "#/definitions/__schema0"
          }
        }
      },
      "required": [
        "name"
      ]
    }
  }
}
wp_insert_inner_blockInsert a block as a child of an existing block (e.g., add a list-item to a list)
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "parentIndex": {
      "type": "string",
      "description": "Dot-notation index of the parent block (e.g., \"0\", \"2.1\")"
    },
    "position": {
      "type": "number",
      "description": "Position within the parent's inner blocks (0-based)"
    },
    "name": {
      "type": "string",
      "description": "Block type name (e.g., \"core/paragraph\", \"core/heading\", \"core/separator\")"
    },
    "content": {
      "description": "Text content for the block",
      "type": "string"
    },
    "attributes": {
      "description": "Block attributes (key-value pairs)",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "innerBlocks": {
      "description": "Nested child blocks",
      "type": "array",
      "items": {
        "$ref": "#/definitions/__schema0"
      }
    }
  },
  "required": [
    "parentIndex",
    "position",
    "name"
  ],
  "definitions": {
    "__schema0": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Block type name (e.g., \"core/paragraph\", \"core/heading\", \"core/separator\")"
        },
        "content": {
          "description": "Text content for the block",
          "type": "string"
        },
        "attributes": {
          "description": "Block attributes (key-value pairs)",
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        },
        "innerBlocks": {
          "description": "Nested child blocks (e.g., list-items inside a list)",
          "type": "array",
          "items": {
            "$ref": "#/definitions/__schema0"
          }
        }
      },
      "required": [
        "name"
      ]
    }
  }
}
wp_list_categoriesList existing categories on the WordPress site. Use this before wp_set_categories to find appropriate existing categories.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "search": {
      "description": "Filter categories by name",
      "type": "string"
    }
  }
}
wp_list_notesList all notes (block comments) on the currently open post. Returns note content, author, date, and which block each note is attached to. Replies are nested under their parent notes.
Input schema
{
  "type": "object",
  "properties": {}
}
wp_list_postsList WordPress posts with optional filters. By default, this shows published posts; specify a status filter if you want to see drafts or other non-published posts.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "status": {
      "description": "Filter by post status (e.g., publish, draft, pending)",
      "type": "string"
    },
    "search": {
      "description": "Search posts by keyword",
      "type": "string"
    },
    "perPage": {
      "description": "Number of posts to return (default 10)",
      "type": "number"
    }
  }
}
wp_list_tagsList existing tags on the WordPress site. Use this before wp_set_tags to find appropriate existing tags.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "search": {
      "description": "Filter tags by name",
      "type": "string"
    }
  }
}
wp_move_blockMove a block from one position to another
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "fromIndex": {
      "type": "number",
      "description": "Current position of the block"
    },
    "toIndex": {
      "type": "number",
      "description": "Target position for the block"
    }
  },
  "required": [
    "fromIndex",
    "toIndex"
  ]
}
wp_open_postOpen a WordPress post for collaborative editing
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "postId": {
      "type": "number",
      "description": "The post ID to open"
    }
  },
  "required": [
    "postId"
  ]
}
wp_read_blockRead a specific block by index (supports dot notation for nested blocks, e.g., "2.1")
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "index": {
      "type": "string",
      "description": "Block index (e.g., \"0\", \"2.1\" for nested blocks)"
    }
  },
  "required": [
    "index"
  ]
}
wp_read_postRead the current post content as a block listing
Input schema
{
  "type": "object",
  "properties": {}
}
wp_remove_blocksRemove one or more blocks from the post
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "startIndex": {
      "type": "number",
      "description": "Index of the first block to remove"
    },
    "count": {
      "description": "Number of blocks to remove (default 1)",
      "type": "number"
    }
  },
  "required": [
    "startIndex"
  ]
}
wp_remove_inner_blocksRemove inner blocks from a parent block
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "parentIndex": {
      "type": "string",
      "description": "Dot-notation index of the parent block (e.g., \"0\")"
    },
    "startIndex": {
      "type": "number",
      "description": "Index of the first inner block to remove"
    },
    "count": {
      "description": "Number of inner blocks to remove (default 1)",
      "type": "number"
    }
  },
  "required": [
    "parentIndex",
    "startIndex"
  ]
}
wp_replace_blocksReplace a range of blocks with new blocks. Supports nested blocks via innerBlocks.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "startIndex": {
      "type": "number",
      "description": "Index of the first block to replace"
    },
    "count": {
      "type": "number",
      "description": "Number of blocks to replace"
    },
    "blocks": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/__schema0"
      },
      "description": "New blocks to insert in place of the removed ones"
    }
  },
  "required": [
    "startIndex",
    "count",
    "blocks"
  ],
  "definitions": {
    "__schema0": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Block type name (e.g., \"core/paragraph\", \"core/heading\", \"core/separator\")"
        },
        "content": {
          "description": "Text content for the block",
          "type": "string"
        },
        "attributes": {
          "description": "Block attributes (key-value pairs)",
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        },
        "innerBlocks": {
          "description": "Nested child blocks (e.g., list-items inside a list)",
          "type": "array",
          "items": {
            "$ref": "#/definitions/__schema0"
          }
        }
      },
      "required": [
        "name"
      ]
    }
  }
}
wp_reply_to_noteReply to an existing note. Replies are threaded under the parent note.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "noteId": {
      "type": "number",
      "description": "ID of the note to reply to"
    },
    "content": {
      "type": "string",
      "description": "Reply text"
    }
  },
  "required": [
    "noteId",
    "content"
  ]
}
wp_resolve_noteResolve (delete) a note and remove its association from the linked block.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "noteId": {
      "type": "number",
      "description": "ID of the note to resolve"
    }
  },
  "required": [
    "noteId"
  ]
}
wp_saveSave the current post
Input schema
{
  "type": "object",
  "properties": {}
}
wp_set_categoriesSet the post categories by name (replaces all existing categories). Creates categories that don't exist yet. WordPress requires at least one category.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "categories": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Category names to assign (e.g., [\"Tech\", \"News\"])"
    }
  },
  "required": [
    "categories"
  ]
}
wp_set_comment_statusEnable or disable comments on the post.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "open",
        "closed"
      ],
      "description": "\"open\" to enable comments, \"closed\" to disable"
    }
  },
  "required": [
    "status"
  ]
}
wp_set_dateSet the post publication date. Use with wp_set_status("future") to schedule a post. Pass an empty string to reset to the current date.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "description": "Publication date in ISO 8601 format (e.g., \"2026-04-01T09:00:00\"), or empty string to clear"
    }
  },
  "required": [
    "date"
  ]
}
wp_set_excerptSet the post excerpt (short summary shown in feeds and search results). Pass an empty string to clear.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "excerpt": {
      "type": "string",
      "description": "Post excerpt text"
    }
  },
  "required": [
    "excerpt"
  ]
}
wp_set_featured_imageSet the post featured image by media attachment ID. Use wp_upload_media first to upload an image and get its ID. Pass 0 to remove the featured image.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "attachmentId": {
      "type": "number",
      "description": "Media attachment ID (from wp_upload_media), or 0 to remove"
    }
  },
  "required": [
    "attachmentId"
  ]
}
wp_set_slugSet the post URL slug. WordPress may auto-modify the slug to ensure uniqueness.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "URL slug (e.g., \"my-custom-url\")"
    }
  },
  "required": [
    "slug"
  ]
}
wp_set_statusChange the post publication status. Use "future" with wp_set_date to schedule a post.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "draft",
        "pending",
        "publish",
        "private",
        "future"
      ],
      "description": "New post status"
    }
  },
  "required": [
    "status"
  ]
}
wp_set_stickyPin or unpin the post on the front page.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "sticky": {
      "type": "boolean",
      "description": "true to pin, false to unpin"
    }
  },
  "required": [
    "sticky"
  ]
}
wp_set_tagsSet the post tags by name (replaces all existing tags). Creates tags that don't exist yet. Pass an empty array to remove all tags.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Tag names to assign (e.g., [\"tutorial\", \"beginner\"])"
    }
  },
  "required": [
    "tags"
  ]
}
wp_set_titleSet the post title
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "New post title"
    }
  },
  "required": [
    "title"
  ]
}
wp_statusShow current connection state, sync status, and post info. If the plugin status includes URLs (download or admin links), always show them to the user as clickable links.
Input schema
{
  "type": "object",
  "properties": {}
}
wp_update_blockUpdate a block's content and/or attributes
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "index": {
      "type": "string",
      "description": "Block index (e.g., \"0\", \"2.1\" for nested blocks)"
    },
    "content": {
      "description": "New text content for the block",
      "type": "string"
    },
    "attributes": {
      "description": "Attributes to update (key-value pairs)",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "index"
  ]
}
wp_update_command_statusUpdate the status of a command received from the WordPress editor. Call this when starting, completing, or failing a command from a channel notification. For awaiting_input: send status and message, and do not send conversation history in resultData (WordPress manages conversation history automatically). Only optional flags such as {"planReady": true} should be sent in resultData when needed.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "commandId": {
      "type": "number",
      "description": "The command ID from the channel notification metadata"
    },
    "status": {
      "type": "string",
      "enum": [
        "running",
        "completed",
        "failed",
        "awaiting_input"
      ],
      "description": "New status for the command"
    },
    "message": {
      "description": "Status message, error description, or question for the user. For awaiting_input: format as HTML (use <p> for paragraphs, <strong> for emphasis, <ol>/<ul>/<li> for lists, colons for labels).",
      "type": "string"
    },
    "resultData": {
      "description": "Optional JSON object string of structured result data. For awaiting_input: conversation messages are managed automatically — only send flags here (e.g., {\"planReady\": true} when the outline is ready for approval). The planReady flag adds an Approve button in the editor.",
      "type": "string"
    }
  },
  "required": [
    "commandId",
    "status"
  ]
}
wp_update_noteUpdate the content of an existing note.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "noteId": {
      "type": "number",
      "description": "ID of the note to update"
    },
    "content": {
      "type": "string",
      "description": "New note text"
    }
  },
  "required": [
    "noteId",
    "content"
  ]
}
wp_upload_mediaUpload a local file to the WordPress media library. Returns the attachment ID and URL for use with wp_insert_block (e.g., core/image, core/video, core/audio, core/file).
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Absolute path to the local file to upload"
    },
    "altText": {
      "description": "Alt text for the media (important for image accessibility)",
      "type": "string"
    },
    "title": {
      "description": "Title for the media item",
      "type": "string"
    },
    "caption": {
      "description": "Caption for the media item",
      "type": "string"
    }
  },
  "required": [
    "filePath"
  ]
}
wp_view_postRead any WordPress post by ID without opening it for editing. Returns the saved (committed) content as a block listing. Use this to research other posts while keeping the current post open.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "postId": {
      "type": "number",
      "description": "The post ID to read"
    }
  },
  "required": [
    "postId"
  ]
}

Resources 0

  • None observed.

Resource templates 0

  • None observed.

Prompts 8

  • composecompose

    Plan and outline a WordPress post through guided conversation.

  • editedit

    Edit a WordPress post with a specific editing focus.

  • pre-publish-checkpre-publish-check

    Suggest metadata improvements before publishing — excerpt, categories, tags, and slug.

  • proofreadproofread

    Proofread a WordPress post for grammar, spelling, punctuation, and style issues.

  • respond-to-noterespond-to-note

    Address a single editorial note on a WordPress post — read it, make the requested changes, and resolve when done.

  • respond-to-notesrespond-to-notes

    Address editorial notes on a WordPress post — read each note, make the requested changes, and resolve notes when done.

  • reviewreview

    Review a WordPress post and leave editorial feedback as notes on individual blocks.

  • translatetranslate

    Translate a WordPress post into another language.

Remote endpoints

EndpointTransportAuthenticationHealthObserved
No verified remote endpoint is linked.

claudaborative-editing MCP Server questions

How do I install claudaborative-editing MCP Server?

Install the selected package version with: npm install --save-exact claudaborative-editing@0.5.2

What tools does claudaborative-editing MCP Server provide?

claudaborative-editing MCP Server exposed 40 tools during independent protocol observation, including wp_add_note, wp_block_types, wp_close_post, wp_collaborators, wp_connect, wp_create_post, wp_disconnect, wp_edit_block_text, and others.

Is claudaborative-editing MCP Server secure?

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

Explore related MCP server guides

Curated product and capability guides containing this catalog record.

Official vs Community MCP Servers

Let’s talk about MCP security.

Share your details and our security team will contact you.