formward-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FORMWARD_API_KEY | No | Use a Formward API key directly (for CI or a classic Professional API key). Takes precedence over a paired key. | |
| FORMWARD_API_URL | No | Points the server at another Formward API origin. | |
| FORMWARD_AGENT_NAME | No | Sets the agent name shown to the workspace owner. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_formsA | List the forms in this workspace with their endpoint URLs and hosted page URLs. No submission data. |
| list_templatesA | Form templates (contact, feedback, registration, ...) with their field lists. Pass a template slug to create_form to start from one. |
| create_formA | Create a form. Returns the endpoint URL to POST submissions to. The notification address gets a verification email automatically; notifications are held until the owner confirms it. Pass either |
| get_form_snippetB | Paste-ready form markup for one form with its real endpoint. tech is one of: html, react, tailwind, shopify, webflow, vue, svelte, astro, nextjs, nuxt. |
| get_form_statsA | Submission counts and the time of the latest submission for a form. Use after sending a test to confirm it arrived. Never returns submission content. |
| list_webhooksB | Webhook destinations configured on a form (no secrets). |
| add_webhookB | Add a webhook (generic, Slack or Discord) that fires on each submission. Professional plan and above; https URLs to public hosts only. |
| send_test_submissionA | Send one test submission to a form's endpoint from this machine, exactly like the website will (JSON body, Accept: application/json). Counts as one submission against the plan. Then call get_form_stats to confirm it arrived; the dashboard shows the content. Pass |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Each tool targets a distinct resource and action: forms (list/create/snippet/stats), templates (list), webhooks (list/add), and test sending. The only near-neighbors, list_forms and list_templates, are clearly separated by descriptions (workspace forms vs. reusable templates). No two tools compete for the same job.
Every tool follows a strict snake_case verb_noun pattern (send_test_submission, list_forms, create_form, get_form_stats, add_webhook, etc.). Verb choice is also semantically consistent: list_* for enumeration, get_* for single-resource lookups, create_/add_ for mutations.
Eight tools is well-scoped for a form-building service: form lifecycle, templates, snippets, stats, testing, and webhooks each get dedicated tools with no filler. Nothing appears redundant or gratuitously split.
Creation, listing, embedding, and stats are covered, but the lifecycle has real holes: no update_form or delete_form, no get_form detail tool, and no way to remove or modify a webhook once added. Submission content is also unreadable programmatically (stats only), which limits the surface for agents.