Inkwell MCP Server
Enables AI agents to publish and manage content on Inkwell sites via 12 tools, including inbox publishing, content management, and site configuration.
README
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 dev
Configure 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.ts - Zero-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.
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 generator
inkwell.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 publish
That 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.sh
Built by Inkwell contributors.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。