Inkwell MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Inkwell MCP Serverpublish the latest draft from inbox"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Inkwell
OSS release note: Inkwell is being scrubbed for public release. See docs/OSS-RELEASE-PLAN.md for the current gates, verification commands, and release blockers.
Forkable Astro framework for content + commerce + agent-operated sites. One config file. Cloudflare-native.
Inkwell is a forkable content and commerce framework:
Markdown/MDX content collections
Config-driven theming and SEO
Static search via Pagefind
Optional Worker-backed reactions, newsletter, and publish APIs
Inbox-style publishing for agents and automation
Obsidian-friendly vault mode
Quick Start
npm install
npm run devConfigure in inkwell.config.ts, then replace demo content under content/en/.
Update workers/inkwell-api/wrangler.toml with the IDs
Config, not scattered theme code — site identity, theme, analytics, and feature flags live in
inkwell.config.tsZero-JS by default — Astro renders HTML; React hydrates only where interactivity matters
Agent-friendly publishing — content can arrive from inbox files, HTTP APIs, or your own tool layer
Cloudflare-native optional edge layer — Pages, Workers, KV, D1, and R2 available when needed
Migrate + deploy
npm run migrate:prod npx wrangler deploy
Free. Cloudflare's free tier handles real production workloads.
---
## One Config File
```typescript
// inkwell.config.ts
export const config = {
name: 'Your Business',
domain: 'yourbusiness.com',
tagline: 'Your tagline here.',
theme: {
colors: { primary: '#D4A017', secondary: '#06B6D4' },
fonts: { display: "'Inter', sans-serif" },
radius: '8px',
},
features: {
reactions: true,
newsletter: true,
knowledgeGraph: true,
search: true,
chat: false,
},
plugins: [
'auth', 'dashboard', 'content', 'commerce',
'mcp', 'analytics', 'telegram',
],
adapters: {
bus: 'standalone',
memory: 'standalone',
economy: 'standalone',
},
}Toggle a feature off -- its routes and UI disappear. Remove a plugin -- its code never loads. Change an adapter -- infrastructure swaps with zero code changes.
Related MCP server: Substack MCP Server
Connect Your AI
{
"mcpServers": {
"my-business": {
"url": "https://your-worker.workers.dev/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}Works with Claude Code, Claude Desktop, ChatGPT, Cursor, Windsurf, or any MCP client.
Project Structure
inkwell.config.ts # Active site config
inkwell.config.example.ts # Starter config
content/
inbox/ # Drop markdown here for ingest/publish
en/blog/ # Blog content
en/pages/ # Static pages
src/
pages/ # Astro routes
components/
content/ # Callout, figure, author card, etc.
engagement/ # Reactions, newsletter, social proof
layout/ # Header, footer, language switcher
navigation/ # TOC, command palette, reading progress
seo/ # JSON-LD helpers
visualization/ # Video hero, knowledge graph
workers/
inkwell-api/ # Optional Cloudflare Worker API
scripts/
ingest.ts # Inbox -> content collections
publish.sh # Build, commit, push convenience flow
generate-og.ts # Open Graph image generatorinkwell.config.ts # All configuration kernel/ # Contracts: types, plugin loader, adapters, RBAC, theme plugins/ # 17 feature modules auth/ # Passwordless OTP auth dashboard/ # Business control panel (React islands) commerce/ # Stripe checkout + subscriptions content/ # MDX publish engine + knowledge graph mcp/ # MCP server (12 tools) organism/ # Managed AI agent provisioning ... workers/inkwell-api/ # Cloudflare Worker (Hono) src/middleware/ # Tenant, auth, RBAC, usage, adapters migrations/ # D1 schema (core, analytics, marketing) wrangler.toml # Bindings + config src/ pages/ # Astro routes (site + dashboard) components/ # Astro + React components layouts/ # Base, Dashboard styles/base.css # Design tokens + Shadcn bridge content/en/ # Markdown content scripts/ # Ingest, publish, fork smoke test instances/ # Per-deployment overrides
---
---
## Commands
| Command | What it does |
|---------|-------------|
| `npm run dev` | Astro dev server |
| `npm run build` | Production build |
| `npm run deploy` | Build + deploy to Cloudflare Pages |
| `npm run ingest` | Process content/inbox/ into collections |
| `npm run publish` | Ingest + build + commit + push |
| `npm run migrate` | Apply D1 migrations (local) |
| `npm run migrate:prod` | Apply D1 migrations (remote) |
| `npm test` | Kernel tests (123 tests) |
| `npm run test:worker` | Worker integration tests (39 tests) |
---
## Publishing Modes
### 1. Inbox publish
Drop a markdown file into `content/inbox/` and run:
```bash
npm run publishThat flow ingests content, builds the site, commits the content changes, and pushes them.
2. Direct content authoring
Write markdown directly into content/en/blog/ or content/en/pages/, then build and commit normally.
3. API-backed publishing
Deploy the Worker layer to expose POST /api/publish — send content from agents or external systems.
Obsidian Vault Mode
The content/en/ tree is set up as an Obsidian vault. Open it directly in Obsidian, or use:
bash scripts/open-obsidian-vault.shBuilt by Inkwell contributors.
This server cannot be deployed
Maintenance
Related MCP Connectors
Create, manage, publish, and analyze Inblog content through AI agents.
- mcp-serverOAuthcom.make
Give your AI agents the tools to build, manage, and run automation workflows.
Publish to self-hosted WordPress from AI agents: markdown, images, SEO, and Notion sync.
- VibeSEOOAuthdev.vibeseo
SEO research, audits, backlinks, GSC, and content workflow tools for AI agents.
Related MCP Servers
- AlicenseCqualityBmaintenanceEnables AI agents to manage WordPress sites with 190+ tools for content management, theme/plugin customization, file system operations, WooCommerce, and complete site control through natural language.10020 npm56MIT
- AlicenseAqualityFmaintenanceEnables AI tools to programmatically manage Substack content, including creating drafts, publishing posts, and posting to Substack Notes. It supports image uploads, live blogging, and document formatting compatible with Substack's ProseMirror editor.119MIT
- AlicenseBqualityDmaintenanceEnables AI agents to manage the end-to-end content pipeline on the Balzac AI platform, covering keyword research, SEO article generation, and CMS publishing. It provides structured tools for workspace management, competitor tracking, and integration with platforms like WordPress, Webflow, and Wix.455 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to manage content on self-hosted WordPress sites via the WordPress REST API, supporting multiple sites with custom key authentication and tools for posts, pages, media, and taxonomies.MIT