## Why We Wrote This Post With a Tool, Not a Text Editor

This post exists to **stress-test** the Carapace MCP connector — every write path, every content element, and a couple of things it should *refuse* to do.

### What the connector can create

- Headings at multiple levels
- Ordered and unordered lists
- Inline links, bold, and italic text
- Styled callout blocks
- Multi-language code samples
- Edits to already-committed drafts

### The publishing steps, in order

1. Create a draft branch
2. Commit the initial content
3. Preview the branch
4. Make an edit
5. Publish to main

Let's delve into how the underlying pipeline works — it's honestly a real game-changer for editorial workflows. See [How Carapace Works](/blog/how-carapace-works) for the full picture.

> This post is written and published entirely through the Carapace MCP connector, with no manual repo edits.

> Two of the tests below are **expected to fail**. That's the point — we're checking that validation actually blocks bad content instead of silently cleaning it up.

### Code samples

```
interface DraftPost {
  slug: string;
  title: string;
  draft: boolean;
  tags: string[];
}

function summarize(post: DraftPost): string {
  return `${post.title} (${post.tags.join(", ")})`;
}

```

```bash
#!/usr/bin/env bash
# Publish a draft once review is done
carapace preview mcp-capability-test
carapace publish mcp-capability-test

```

### A picture, for good measure



### Editorial status at a glance


  
    
      Step
      Tool called
      Result
    
  
  
    
      1
      create_branch
      Draft branch created
    
    
      2
      create_post
      Initial content committed
    
    
      3
      preview
      Preview link returned
