embercore
An open-source MCP server that turns a one-page product brief into a complete marketing plan.Five agents. Named after Greek gods. Human checkpoints at every stage. Nothing ships without your say.
Why • Quick Start • How It Works • Agents • Self-Host • Architecture • Contributing • Discuss
🤔 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.
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. |
⚡ Quick Start
Two ways to use embercore. Pick one. Both take ~3 minutes.
Option A — Web App
git clone https://github.com/embercore-labs/embercore.git
cd embercore
pnpm install
pnpm devOpen localhost:3000, paste your Anthropic key, drop in your product brief, watch the agents work.
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\" # WindowsAdd 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.
🔄 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.
🏛 The Agents
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/
🔑 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.
🏠 Self-Host
Everything is self-host by default — there is no hosted version to switch from.
Deployment | How |
Web app | Deploy |
MCP engine | Ship the |
Air-gapped | Set |
📖 See docs/architecture.md for the full picture.
🤝 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 |
Dev setup, PR flow, commit style | |
Contributor Covenant 2.1 | |
How to report vulnerabilities privately | |
Roadmap conversations & design questions |
🗺 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."
📄 License
MIT — see LICENSE. Use it for anything. Sell things you build with it. Just don't sue us.
🙏 Acknowledgements
Built on the Model Context Protocol by Anthropic
Engine uses
mark3labs/mcp-goandanthropics/anthropic-sdk-goWeb 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
Built with 🔥 by Tamish Mhatre and contributors.
If embercore saved you an afternoon of marketing-tab hell, give it a star — it helps more than you think.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/embercore-labs/embercore'
If you have feedback or need assistance with the MCP directory API, please join our Discord server