Developers · MCP · Pro, coming soon
Quillhive MCP
Connect Claude, Cursor or any MCP client. Agents read, draft and edit next to your team, under your rules.
Endpoint · Streamable HTTP, stateless
https://api.blgg.dev/api/mcp
Auth header
Authorization: Bearer blgg_...
Authentication
Use a site API key as a bearer token. Create one in Settings → API Keys.
- One key, one site. Read-only unless you allow editing when you create it.
- The agent acts as the person who made the key. Changes carry their name.
- Their current role is checked on every request. Authors only see their own posts.
- Remove the person or delete the key, and access stops at once.
Connect a client
Claude Code
claude mcp add --transport http blogging https://api.blgg.dev/api/mcp \ --header "Authorization: Bearer blgg_..."
Cursor and other remote MCP clients
{
"mcpServers": {
"blogging": {
"url": "https://api.blgg.dev/api/mcp",
"headers": { "Authorization": "Bearer blgg_..." }
}
}
}Stdio-only client? Bridge with the mcp-remote npm package and pass the key from BLOGGING_API_KEY.
Tools
get_sitereadSite details, your role and write accesslist_tagsreadTags with post countslist_posts · list_pagesreadFilter by status, title or tag. Paginated.get_post · get_pagereadFull Markdown and the current revisioncreate_post · create_pagewriteFrom Markdown. Saved as a draft.update_post · update_pagewriteTitle, slug, excerpt, status, tags, image or full bodyedit_post · edit_pagewriteFind and replace in order. All or nothing.Write tools only appear for keys that can edit.
Content format
Agents read and write GitHub-flavoured Markdown: headings, links, lists, quotes, code, tables, images.
Nothing lost by accident. YouTube and X embeds, galleries, link cards, math and highlights have no Markdown version. If a post has them, full rewrites are refused. Metadata updates still work, and
allowLossyRewrite: true lets it through on purpose.Collaborating safely
- Every read and write returns a revision. Edits must send the one they’re based on.
- If someone saved since, the call fails and names who. The agent re-reads and re-applies.
- New posts and pages are drafts unless a status is set.
- Publishing through MCP refreshes the live site, just like the dashboard.
edit_post · revision 14:02Revision conflict. Nick saved at 14:05.
Re-reads, re-applies on 14:05
Example session
A small, safe edit
get_post { "idOrSlug": "autumn-coffees" }
→ revision: "2026-10-02T14:05:11Z"
edit_post {
"id": "autumn-coffees",
"revision": "2026-10-02T14:05:11Z",
"edits": [{ "find": "This season we", "replace": "This autumn we" }]
}
→ status: "draft", revision: "2026-10-02T14:06:40Z"