Skip to content

feat(forms): expose management operations as MCP tools#2229

Open
jcheese1 wants to merge 2 commits into
emdash-cms:mainfrom
jcheese1:codex/forms-mcp-tools-pr
Open

feat(forms): expose management operations as MCP tools#2229
jcheese1 wants to merge 2 commits into
emdash-cms:mainfrom
jcheese1:codex/forms-mcp-tools-pr

Conversation

@jcheese1

@jcheese1 jcheese1 commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Exposes all 10 authenticated forms-management operations as plugin-declared MCP tools:

  • create, list, update, duplicate, and delete forms
  • list, get, update, delete, and export submissions

Each backing route now explicitly requires plugins:manage, so MCP invocation follows the same admin authorization boundary as direct API access. The forms plugin now requires EmDash 0.30.0 or newer, where plugin-declared MCP tools became available.

Type of change

  • Bug fix
  • Feature (requires maintainer-approved Discussion)
  • Refactor (no behavior change)
  • Translation
  • Documentation
  • Performance improvement
  • Tests
  • Chore (dependencies, CI, tooling)

Checklist

  • I have read CONTRIBUTING.md
  • pnpm typecheck passes
  • pnpm lint passes
  • pnpm test passes (or targeted tests for my change)
  • pnpm format has been run
  • I have added/updated tests for my changes (if applicable)
  • User-visible strings in the admin UI are wrapped for translation (if applicable). Do not include messages.po changes except in translation PRs — a workflow extracts catalogs on merge to main.
  • I have added a changeset (if this PR changes a published package)
  • New features link to an approved Discussion: RFC: Let plugins explicitly declare MCP tools #1587

AI-generated code disclosure

  • This PR includes AI-generated code — model/tool: OpenAI Codex (GPT-5)

Screenshots / test output

No visual changes.

  • pnpm lint:quick
  • pnpm lint
  • pnpm typecheck
  • pnpm --filter @emdash-cms/plugin-forms test — 3 files and 19 tests passed
  • pnpm format

@changeset-bot

changeset-bot Bot commented Jul 25, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: db72397

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 5 packages
Name Type
@emdash-cms/plugin-forms Minor
@emdash-cms/perf-demo-site Patch
@emdash-cms/cache-demo-site Patch
@emdash-cms/do-demo-site Patch
@emdash-cms/do-solo-demo-site Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions github-actions Bot added query-count changed PR diff modifies query-count snapshot files area/plugins size/M labels Jul 25, 2026
@jcheese1
jcheese1 marked this pull request as ready for review July 25, 2026 00:05
@github-actions github-actions Bot added review/needs-review No maintainer or bot review yet query-count changed PR diff modifies query-count snapshot files and removed query-count changed PR diff modifies query-count snapshot files labels Jul 25, 2026
@pkg-pr-new

pkg-pr-new Bot commented Jul 25, 2026

Copy link
Copy Markdown

Open in StackBlitz

@emdash-cms/admin

npm i https://pkg.pr.new/@emdash-cms/admin@2229

@emdash-cms/auth

npm i https://pkg.pr.new/@emdash-cms/auth@2229

@emdash-cms/auth-atproto

npm i https://pkg.pr.new/@emdash-cms/auth-atproto@2229

@emdash-cms/blocks

npm i https://pkg.pr.new/@emdash-cms/blocks@2229

@emdash-cms/cloudflare

npm i https://pkg.pr.new/@emdash-cms/cloudflare@2229

@emdash-cms/contentful-to-portable-text

npm i https://pkg.pr.new/@emdash-cms/contentful-to-portable-text@2229

emdash

npm i https://pkg.pr.new/emdash@2229

create-emdash

npm i https://pkg.pr.new/create-emdash@2229

@emdash-cms/gutenberg-to-portable-text

npm i https://pkg.pr.new/@emdash-cms/gutenberg-to-portable-text@2229

@emdash-cms/plugin-cli

npm i https://pkg.pr.new/@emdash-cms/plugin-cli@2229

@emdash-cms/plugin-types

npm i https://pkg.pr.new/@emdash-cms/plugin-types@2229

@emdash-cms/registry-client

npm i https://pkg.pr.new/@emdash-cms/registry-client@2229

@emdash-cms/registry-lexicons

npm i https://pkg.pr.new/@emdash-cms/registry-lexicons@2229

@emdash-cms/registry-verification

npm i https://pkg.pr.new/@emdash-cms/registry-verification@2229

@emdash-cms/sandbox-workerd

npm i https://pkg.pr.new/@emdash-cms/sandbox-workerd@2229

@emdash-cms/x402

npm i https://pkg.pr.new/@emdash-cms/x402@2229

@emdash-cms/plugin-ai-moderation

npm i https://pkg.pr.new/@emdash-cms/plugin-ai-moderation@2229

@emdash-cms/plugin-atproto

npm i https://pkg.pr.new/@emdash-cms/plugin-atproto@2229

@emdash-cms/plugin-audit-log

npm i https://pkg.pr.new/@emdash-cms/plugin-audit-log@2229

@emdash-cms/plugin-color

npm i https://pkg.pr.new/@emdash-cms/plugin-color@2229

@emdash-cms/plugin-embeds

npm i https://pkg.pr.new/@emdash-cms/plugin-embeds@2229

@emdash-cms/plugin-field-kit

npm i https://pkg.pr.new/@emdash-cms/plugin-field-kit@2229

@emdash-cms/plugin-forms

npm i https://pkg.pr.new/@emdash-cms/plugin-forms@2229

@emdash-cms/plugin-webhook-notifier

npm i https://pkg.pr.new/@emdash-cms/plugin-webhook-notifier@2229

commit: db72397

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/plugins query-count changed PR diff modifies query-count snapshot files review/needs-review No maintainer or bot review yet size/M

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant