sounnyforms-mcp
OfficialServer Quality Checklist
Latest release: v1.0.0
- Disambiguation4/5
The core actions are clearly separated: submitting data, generating embed code, generating a full page, and checking status are distinct. The only mild overlap is between generate_form_snippet and generate_full_contact_page, but their descriptions clarify that one produces an embeddable snippet while the other produces a standalone page.
Naming Consistency5/5All tool names follow a consistent verb_noun snake_case pattern: submit_form, generate_form_snippet, generate_full_contact_page, and inspect_endpoint_status. The naming is predictable and easy to scan.
Tool Count5/5Four tools is well-scoped for a forms-focused server. Each tool serves a clear purpose without redundancy or bloat, and there are enough tools to cover the primary workflows.
Completeness3/5The submission and code-generation workflows are covered, and the health check is a useful addition. However, there are no tools to retrieve, list, or manage submitted form data despite the description mentioning a permanent vault, leaving a notable lifecycle gap.
Average 3.8/5 across 4 of 4 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 1 commit in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
This server has been verified by its author.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It discloses the output type (HTML5 + CSS), style, and that the result is standalone and deployable. However, it does not clarify whether the tool returns the page content directly or writes a file, and it omits how form submissions are handled—a meaningful gap for a contact page tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence with the core action and artifact type front-loaded. The phrase 'beautifully styled modern' is subjective and adds little operational value, but it does not significantly harm clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description must cover return semantics and integration behavior. It does not explicitly state what the function returns (e.g., HTML string vs file path), nor whether the generated page includes a working form linked to an endpoint. This leaves critical ambiguity, especially alongside siblings like submit_form and generate_form_snippet.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters adequately. The description adds no parameter-level meaning beyond that, matching the baseline for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Generates a complete standalone... HTML5 + CSS landing contact page'. It implicitly distinguishes from the sibling generate_form_snippet by emphasizing 'complete standalone... page', but it does not explicitly name or contrast with siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool—when a full standalone contact page is needed—but provides no explicit when-to-use/when-not-to-use guidance or alternative comparison. Sibling tool names add context, but the description itself does not route the agent toward or away from specific alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It clearly indicates that the tool produces code and does not require API keys, but it does not explicitly disclose side-effect-free behavior, whether it only returns a snippet rather than sending anything, or any limitations around email validation or delivery.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, information-dense sentence with no filler. It front-loads the core action and resource, then efficiently lists supported formats and the key differentiator of zero API keys.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a code-generation tool with four well-documented parameters and no output schema, the description plus schema covers the essentials. It lacks explicit guidance about when to use generate_full_contact_page instead, but the provided formats, email configuration, and 'zero API keys' point give enough context for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters. The description adds useful context about production-grade/accessible output and zero-API-key configuration, but it does not add deeper semantics for individual parameters beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Generates') and a clear resource ('frontend code') with explicit formats (HTML5, React, Next.js, Vue, Tailwind, curl) and a distinguishing constraint ('configured for any recipient email with zero API keys'). This clearly separates it from siblings like submit_form or generate_full_contact_page.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for generating frontend form code and contrasts implicitly with sibling tools by focusing on snippet generation rather than submission or full-page generation. However, it does not explicitly state when to choose this tool over generate_full_contact_page or submit_form, leaving the routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It does disclose that the tool performs live checks across several specific aspects, which is useful. However, it does not say what kind of request it makes, whether it returns raw data or a summary, or how it behaves if the endpoint is unreachable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler. It front-loads the action and packs all relevant checked aspects into a compact, readable list.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only diagnostic tool with one optional parameter, the description conveys the core purpose and scope well. It is slightly incomplete in not indicating the shape of the result or behavior on failure, but these are minor gaps for a tool of this simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single optional endpoint_url parameter, so the schema already documents its meaning and default value. The description does not need to add parameter-level detail, and the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Checks') and identifies both the target resource ('SounnyForms serverless backend') and the specific dimensions probed (health, latency, CORS headers, readiness). This makes the tool's purpose unmistakable and clearly distinct from the sibling tools, which focus on submitting forms or generating form code.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when this tool should be used: whenever an agent needs to assess the live status of the backend. It does not explicitly name alternatives or exclusion conditions, but the sibling tools are so different in purpose that the context is clear enough for correct selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states the submission is delivered to the recipient's inbox, permanently logged in an encrypted Cloud Firestore vault, and requires no API keys. This goes beyond the basic action by describing side effects and persistence, though it does not mention response details or limitations like rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The entire description is a single dense, front-loaded sentence. It covers the action, destination, authentication requirement, delivery outcome, and logging behavior without wasted words. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a form-submission tool with full schema coverage, the description is largely complete: it explains what happens after submission, where data is stored, and that no API keys are needed. It lacks an output/return expectation and explicit caveats, but those are not essential for selecting and invoking this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all parameters. The description itself adds little parameter-level meaning beyond reinforcing that the destination can be an email or form ID. Baseline 3 is appropriate because the schema handles parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Submits') with a clear resource ('structured form data') and destination ('any recipient email address or custom form ID on SounnyForms'). It also adds a key differentiator ('ZERO API keys required'), making the tool's purpose unmistakable and distinct from the sibling generate/inspect tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: whenever structured form data needs to be submitted or delivered. However, it does not explicitly state when not to use it or name alternative tools, so an agent must infer the appropriate usage context from the description and sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/sounny/sounnyforms-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server