embercore
Open-source AI marketing agent toolkit with plan-first workflow, human checkpoints, and BYOK support.
README
<div align="center">
<br/>
<img alt="embercore logo" src="./assets/logo.png" width="200" />
<br/> <br/>
<h1>embercore</h1>
<p><strong>Most AI marketing tools write content.<br/>embercore writes your <em>plan</em> — then stops and asks what you think.</strong></p>
<sub>An open-source MCP server that turns a one-page product brief into a complete marketing plan.<br/>Five agents. Named after Greek gods. Human checkpoints at every stage. Nothing ships without your say.</sub>
<br/> <br/>
<a href="https://github.com/embercore-labs/embercore/releases/tag/v0.1.0"><img src="https://img.shields.io/badge/version-0.1.0-FF6B35?style=for-the-badge" alt="Version 0.1.0" /></a> <a href="https://github.com/embercore-labs/embercore/stargazers"><img src="https://img.shields.io/github/stars/embercore-labs/embercore?style=for-the-badge&color=F7C948" alt="GitHub Stars" /></a> <a href="https://github.com/embercore-labs/embercore/blob/main/LICENSE"><img src="https://img.shields.io/github/license/embercore-labs/embercore?style=for-the-badge&color=FF6B35" alt="MIT License" /></a> <a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-compatible-1D3557?style=for-the-badge" alt="MCP Compatible" /></a> <a href="https://embercore-labs.github.io/embercore"><img src="https://img.shields.io/badge/📖_Docs-GitHub_Pages-blue?style=for-the-badge" alt="Documentation" /></a>
<br/>
<a href="https://go.dev"><img src="https://img.shields.io/badge/Go-00ADD8?style=for-the-badge&logo=go&logoColor=white" alt="Go" /></a> <a href="https://nextjs.org"><img src="https://img.shields.io/badge/Next.js-000000?style=for-the-badge&logo=next.js&logoColor=white" alt="Next.js" /></a> <a href="https://github.com/embercore-labs/embercore/blob/main/CONTRIBUTING.md"><img src="https://img.shields.io/badge/PRs-welcome-E63946?style=for-the-badge" alt="PRs Welcome" /></a> <a href="https://github.com/embercore-labs/embercore/discussions"><img src="https://img.shields.io/github/discussions/embercore-labs/embercore?style=for-the-badge&color=1D3557" alt="Discussions" /></a>
<br/> <br/>
<a href="#-why-embercore">Why</a> • <a href="#-quick-start">Quick Start</a> • <a href="#-how-it-works">How It Works</a> • <a href="#-the-agents">Agents</a> • <a href="#-self-host">Self-Host</a> • <a href="docs/architecture.md">Architecture</a> • <a href="CONTRIBUTING.md">Contributing</a> • <a href="https://github.com/embercore-labs/embercore/discussions">Discuss</a>
<br/> <br/>
<!-- Demo GIF will be added once Phase 1 ships -->
</div>
<br/>
🤔 Why embercore
You shipped a product. You have no idea how to market it. Every AI tool either:
- Asks you to describe your audience and spits out 50 LinkedIn posts (not what you need)
- Demands a $99/mo subscription to an opaque SaaS with your data inside it
- Assumes you already know what an "ICP" or "positioning statement" is
embercore does something different. It makes the plan before it makes the content, and it asks you what you think before moving on.
<br/>
| Feature | What it means | |
|---|---|---|
| 📋 | Plan-first, not draft-first | Five stages: Research → Brand → UX → GTM → Assemble. Structured artifacts on disk, not a wall of copy. |
| 🛑 | Human checkpoints (H1–H4) | The pipeline pauses between every stage. You approve, edit, or redirect. |
| 🔑 | Bring Your Own Key | Your Anthropic key stays in your environment. Zero telemetry. |
| 🔓 | Fully open source (MIT) | Read every prompt. Fork it. Run it forever. No paid tier, no upsell. |
| 🏠 | Local-first | Runs in Claude Desktop, Cursor, Copilot CLI, Windsurf — any MCP client. |
| 🚫 | No jargon | Every decision explained in plain language. Marketing terms get defined. |
<br/>
⚡ Quick Start
Two ways to use embercore. Pick one. Both take ~3 minutes.
<br/>
Option A — Web App
git clone https://github.com/embercore-labs/embercore.git
cd embercore
pnpm install
pnpm dev
Open localhost:3000, paste your Anthropic key, drop in your product brief, watch the agents work.
<br/>
Option B — MCP Server
# Build the engine (Go 1.23+ required)
cd packages/engine
make build
# Move it onto your PATH
mv embercore-engine /usr/local/bin/ # macOS / Linux
# Move-Item embercore-engine.exe "$env:USERPROFILE\bin\" # Windows
Add to your MCP client config (Claude Desktop example):
// ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"embercore": {
"command": "embercore-engine",
"env": { "ANTHROPIC_API_KEY": "sk-ant-..." },
},
},
}
Restart your client, drop a product_brief.md in your working directory, and ask the assistant to "run the embercore workflow."
📖 See docs/quickstart.md for Cursor and Copilot CLI configs.
<br/>
🔄 How It Works
┌─────────────────────┐
│ product_brief.md │
│ (your 1-page input) │
└─────────┬───────────┘
│
▼
┌─────────────────────────────────────────────────────┐
│ │
│ 🦉 Athena → 01_research.md ── H1 │
│ ▲ │
│ approve / edit │
│ ▼ │
│ 🎵 Apollo → 02_brand_messaging.md ── H2 │
│ ▲ │
│ approve / edit │
│ ▼ │
│ 🏠 Hestia → 03_ux.md ── H3 │
│ ▲ │
│ approve / edit │
│ ▼ │
│ ⚡ Hermes → 04_go_to_market.md ── H4 │
│ ▲ │
│ approve / edit │
│ ▼ │
│ 🔨 Hephaestus → final_product_plan.md │
│ │
└─────────────────────────────────────────────────────┘
│
▼
┌─────────────────────┐
│ output/ │
│ (all artifacts on │
│ your disk) │
└─────────────────────┘
Each H# is a checkpoint — the pipeline blocks until you approve, edit, or send it back. The final plan is assembled only after all four checkpoints are green.
State lives at .embercore-state/ so a crashed run resumes from the last completed stage.
<br/>
🏛 The Agents
<div align="center"> <table> <thead> <tr> <th align="center">Agent</th> <th align="center">Domain</th> <th>Stage</th> <th>Output</th> </tr> </thead> <tbody> <tr> <td align="center">🦉 <strong>Athena</strong></td> <td align="center"><em>Wisdom & Strategy</em></td> <td>Research, ICP, competitive landscape</td> <td><code>01_research.md</code></td> </tr> <tr> <td align="center">🎵 <strong>Apollo</strong></td> <td align="center"><em>Light & Prophecy</em></td> <td>Brand voice, positioning, messaging pillars</td> <td><code>02_brand_messaging.md</code></td> </tr> <tr> <td align="center">🏠 <strong>Hestia</strong></td> <td align="center"><em>Hearth & Home</em></td> <td>Onboarding flow, screens, UX wireframes</td> <td><code>03_ux.md</code></td> </tr> <tr> <td align="center">⚡ <strong>Hermes</strong></td> <td align="center"><em>Messenger of the Gods</em></td> <td>Go-to-market: social, B2B outreach, channels</td> <td><code>04_go_to_market.md</code></td> </tr> <tr> <td align="center">🔨 <strong>Hephaestus</strong></td> <td align="center"><em>Divine Smith</em></td> <td>Assembly of the final plan from all prior outputs</td> <td><code>final_product_plan.md</code></td> </tr> </tbody> </table> </div>
<br/>
Why named agents? Because "Stage 3" is forgettable — "Hestia just finished your onboarding flow" is not.
📖 Agent mapping in docs/agents.md · Prompts in
packages/engine/prompts/· Implementation inpackages/engine/tools/
<br/>
🔑 BYOK + Privacy
- Your Anthropic key is set in your shell environment (or MCP client config). It never touches an embercore server because there is no embercore server — just code on your machine.
- The web app stores nothing server-side. Briefs and plans live in
localStorageand on disk underoutput/. - Zero telemetry. Zero analytics. We can't see you using embercore — and that's the point.
- Engine logs are local-only and elide secrets by default. See
packages/engine/internal/logger.
<br/>
🏠 Self-Host
Everything is self-host by default — there is no hosted version to switch from.
| Deployment | How |
|---|---|
| Web app | Deploy apps/web to Vercel, Netlify, Cloudflare Pages, or any Node host. Users paste their own key. |
| MCP engine | Ship the embercore-engine binary alongside any MCP client. No daemon, no server. |
| Air-gapped | Set ANTHROPIC_BASE_URL to point at an internal proxy. The engine doesn't care. |
📖 See docs/architecture.md for the full picture.
<br/>
🤝 Contributing
We mean it when we say PRs welcome. The repo is fresh, the surface is small, and there are plenty of good first issues that don't require touching the LLM code.
| Resource | Description |
|---|---|
| CONTRIBUTING.md | Dev setup, PR flow, commit style |
| CODE_OF_CONDUCT.md | Contributor Covenant 2.1 |
| SECURITY.md | How to report vulnerabilities privately |
| Discussions | Roadmap conversations & design questions |
<br/>
🗺 Roadmap
Full detail in ROADMAP.md. The short version:
| Phase | Focus | Status |
|---|---|---|
| Phase 0 — Foundations | Repo scaffold, OSS docs, BYOK architecture | ✅ Complete |
| Phase 1 — Core Loop | End-to-end plan → checkpoint → execute pipeline | ✅ Complete |
| Phase 2 — Marketing Workflows | Apollo, Hephaestus, workflow templates, review queue | 🧭 In progress |
| Phase 3 — MCP & Integrations | MCP server tools, plugin API, local providers | 💭 Exploring |
The default forever-future for embercore is "OSS, BYOK, runs on your machine."
<br/>
📄 License
MIT — see LICENSE. Use it for anything. Sell things you build with it. Just don't sue us.
<br/>
🙏 Acknowledgements
- Built on the Model Context Protocol by Anthropic
- Engine uses
mark3labs/mcp-goandanthropics/anthropic-sdk-go - Web app is Next.js + Tailwind CSS v4
- Inspired by: Cal.com, Supabase, PostHog, Plausible, Documenso, Inbox Zero, Trigger.dev
- Names: the Hellenes, ~3000 years ago
<br/>
<div align="center">
<br/>
<a href="https://github.com/embercore-labs/embercore/stargazers"><img src="https://img.shields.io/badge/⭐_Star_embercore-F7C948?style=for-the-badge" alt="Star embercore" /></a>
<br/> <br/>
<sub>Built with 🔥 by <a href="https://github.com/tamish-max">Tamish Mhatre</a> and <a href="https://github.com/embercore-labs/embercore/graphs/contributors">contributors</a>.</sub>
<br/>
<sub>If embercore saved you an afternoon of marketing-tab hell, <a href="https://github.com/embercore-labs/embercore/stargazers">give it a star</a> — it helps more than you think.</sub>
<br/> <br/>
</div>
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。