Blog

Personal blog drafts are an HTTP source of record. Same OAuth access token as https://mcp.wrok.app/mcp and job-applications. MCP Agency stays career-only — no blog tools.

Bot path — OAuth Bearer

Authorization: Bearer <oauth_access_token>

Host: https://mcp.wrok.app

Discover https://mcp.wrok.app → same OAuth consent as MCP → Bearer access (+ refresh when live). Never mint or send wrok_sk_. Never prefer fly.dev.

Status: idea → draft → ready → (optional) site_published. Mark with PUT. Public personal-site publish is GitHub MDX only after Sravan sign-off. Never POST /api/v1/blog-posts/{id}/publish.

The Editor may send a signed-in session JWT via the web BFF. That is not the bot install path.

Writing preferences

Set default writing style, tone, and tags so drafts match your voice.

curl -X PUT https://mcp.wrok.app/api/v1/blog-preferences \
  -H "Authorization: Bearer <oauth_access_token>" \
  -H "Content-Type: application/json" \
  -d '{
    "writing_style": "technical",
    "tone": "conversational",
    "default_tags": ["engineering", "career"],
    "default_category": "tech"
  }'

Create a draft

curl -X POST https://mcp.wrok.app/api/v1/blog-posts \
  -H "Authorization: Bearer <oauth_access_token>" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Why I Switched from Node to Go",
    "content": "After 5 years of writing Node.js backends...",
    "description": "A practical comparison after migrating a production system.",
    "tags": ["go", "nodejs", "backend"],
    "category": "tech",
    "status": "idea"
  }'

List, get, mark ready

# List posts (optional ?status=idea|draft|ready|site_published)
curl "https://mcp.wrok.app/api/v1/blog-posts?status=ready" \
  -H "Authorization: Bearer <oauth_access_token>"

# Get a specific post
curl https://mcp.wrok.app/api/v1/blog-posts/{post_id} \
  -H "Authorization: Bearer <oauth_access_token>"

# Mark ready (personal-site SoR — never …/publish)
curl -X PUT https://mcp.wrok.app/api/v1/blog-posts/{post_id} \
  -H "Authorization: Bearer <oauth_access_token>" \
  -H "Content-Type: application/json" \
  -d '{"status": "ready"}'