Skip to content

EmPlugins/EmPost

Repository files navigation

EmPost Logo

EmPost

Markdown-first draft ingestion for EmDash: an npm-installable plugin plus an MCP server so Cursor and Goose can create posts drafts without publishing.

Source: https://github.com/EmPlugins/EmPost

Quick start

I run an EmDash site

pnpm add @emplugins/emdash-plugin-md-draft

Register the plugin in astro.config.mjs (see packages/emdash-plugin-md-draft/README.md), configure HMAC signing secret and limits in /_emdash/admin, then use the ingest URL from the operator runbook.

I use Cursor or Goose

# Optional: pin version instead of -y
npx -y @emplugins/mcp-emdash-drafts

Add the MCP server to Cursor or Goose with env vars EMDASH_INGEST_URL, EMDASH_HMAC_SECRET, EMDASH_KEY_ID — see docs/cursor-mcp.md and docs/goose-mcp.md.

Packages

Package Description
@emplugins/shared Frontmatter, Zod, HMAC helpers, Markdown → Portable Text (workspace-only)
@emplugins/emdash-plugin-md-draft EmDash plugin: signed ingest + health
@emplugins/mcp-emdash-drafts MCP stdio server: ingest_path, ingest_markdown, validate_markdown

Repo layout

  • emPost.md — full v1 specification
  • docs/ — threat model, runbook, client setup
  • examples/ — sample post + config snippets

Compatibility

Tested against EmDash 0.9.x and later (emdash peer >=0.9.0 on @emplugins/emdash-plugin-md-draft). Ingest uses POST with Content-Type: application/json and { "markdown": "..." } because EmDash’s plugin route host parses JSON before the handler runs (see docs/operator-runbook.md).

License

MIT

About

Posting to EmDash via AI agents

Resources

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors