Documentation

Everything you need to integrate DayBy into your workflow.

claude.ai / Web / Mobile

No install

Write, publish, and manage posts directly from claude.ai or the Claude mobile app. No local setup needed — just add DayBy as a custom connector.

Setup

  1. 1 Sign up at dayby.dev and go to Settings > API. Enable API access and create a key.
  2. 2 In claude.ai, go to Settings > Integrations > Add custom connector.
  3. 3 Set the URL to:
https://dayby.dev/mcp/server
  1. 4 Set auth to Bearer token and paste your API key.
  2. 5 Done. Start a conversation and ask Claude to draft and publish a post.

Content sanitization

The remote server strips API keys, tokens, IPs, and other sensitive patterns server-side before storing your content. For maximum privacy with custom blocklists, use the local MCP server below.

MCP Server (local)

More private

Write and publish directly from Claude Code, Claude Desktop, Cursor, or Codex. Content is sanitized on your machine before anything touches the network. Supports custom blocklists for company-specific terms.

1. Install

Global install:

npm install -g @dayby/mcp-server

Or skip the install and run directly with npx:

npx -y @dayby/mcp-server

Or straight from GitHub:

npx github:ja-roque/dayby-mcp-server

2. Connect your account

Run this once in your terminal. It opens DayBy in the browser — just click Authorize. No API key needed.

dayby-mcp auth

Credentials are saved to ~/.dayby/credentials.json and picked up automatically. Run dayby-mcp auth --logout to disconnect.

Use an API key instead (legacy)

Go to Settings → API, enable API access, and create a key. Then set the env var:

export DAYBY_API_KEY=dyb_your_token_here

3a. Claude Code (terminal)

If you did the global install:

claude mcp add dayby -- dayby-mcp

Or with npx (no install needed):

claude mcp add --transport stdio dayby -- npx -y @dayby/mcp-server

3b. Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{ "mcpServers": { "dayby": { "command": "npx", "args": ["-y", "@dayby/mcp-server"] } } }

Credentials from dayby-mcp auth are picked up automatically.

3c. Cursor

Edit ~/.cursor/mcp.json:

{ "mcpServers": { "dayby": { "command": "npx", "args": ["-y", "@dayby/mcp-server"] } } }

Credentials from dayby-mcp auth are picked up automatically.

3d. Codex

If you did the global install:

codex mcp add dayby -- dayby-mcp

Or configure ~/.codex/config.toml manually:

[mcp_servers.dayby] command = "npx" args = ["-y", "@dayby/mcp-server"]

Available Tools

draft_post

title, content, tags?, visibility?

Create a draft. Content is sanitized locally before upload.

publish_post

draft_id, generate_article?

Publish a draft to DayBy. Optionally trigger AI article generation.

edit_draft

draft_id, title?, content?, tags?

Update title, content, or tags of an existing draft.

update_post

slug, title?, content?, visibility?, tags?

Update an existing published post.

update_article

slug, html_article

Set or replace the HTML article for a post. Use this to write custom articles with CTAs, rich formatting, etc.

check_content

content

Scan content for secrets without posting anything.

list_posts

page?, per_page?

List your recent posts and drafts.

get_post

slug

Get a single post by slug.

Local sanitization

Strips API keys, tokens, IPs, SSH keys, JWTs, AWS ARNs, and database URLs from content before it leaves your machine. No LLM involved. Pure regex, offline, deterministic.

View source on GitHub →

Embed Posts on Your Site

Show your DayBy blog on your marketing site, SaaS product, or portfolio. The public API returns your published posts as JSON. No authentication required. Tag posts by project to fetch only what you need.

Public Endpoints

These endpoints are publicly accessible. No API key needed. Only published posts are returned.

List posts by subdomain

GET /api/v2/public/:subdomain/posts

Filter by tag

GET /api/v2/public/:subdomain/posts?tag=playflow

Single post

GET /api/v2/public/:subdomain/posts/:slug

Supports page and per_page query params. Default: 20 per page.

Tagging Posts by Project

Tag your posts to filter them per project. Use the MCP tools or REST API:

MCP (from Claude/Cursor/Codex)

Pass tags when drafting: draft_post with tags: ["playflow", "rust"]

REST API

curl -X POST https://dayby.dev/api/v2/posts \
  -H "Authorization: Bearer dyb_your_token" \
  -H "Content-Type: application/json" \
  -d '{"post": {"title": "Ship day", "content": "Launched v2", "tags": ["playflow"]}}'

JavaScript Example

Fetch and render your tagged posts on any website:

fetch('https://dayby.dev/api/v2/public/javier/posts?tag=playflow') .then(r => r.json()) .then(data => { data.posts.forEach(post => { // post.title, post.html_article, post.url, post.tags document.getElementById('blog').innerHTML += `<article><h2>${post.title}</h2>${post.html_article || post.content}</article>` }) })

CORS

Public endpoints return Access-Control-Allow-Origin: * so they work from any browser origin.

REST API Reference

Full interactive docs with request/response schemas, try-it-out, and examples.

Open API Reference (Swagger UI)

Authentication

Pass your API key as a Bearer token on every request:

curl https://dayby.dev/api/v2/posts \
  -H "Authorization: Bearer dyb_your_token_here"

Rate limit: 60 requests/minute per key. Public endpoints (/api/v2/public/) don't require authentication.