sendpage
Server Details
Publish an HTML document as a link anyone can open in one tap, plus PDF, image and Word export.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- jcaiagent7143-ui/sendpage-mcp
- GitHub Stars
- 0
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.4/5 across 3 of 3 tools scored.
Each tool targets a distinct operation: list, publish, or update documents. There is no overlap in purpose, making it clear which tool to select for a given action.
All tool names follow the same verb_noun pattern (list_documents, publish_document, update_document), providing a predictable and consistent naming convention.
With only 3 tools, the server is slightly minimal but well-scoped for a document publishing service. Each tool is essential and covers the core workflow without unnecessary bloat.
The set covers the primary lifecycle of publishing, updating, and listing documents. A delete operation is missing, but it is not critical for the server's apparent purpose, and the existing tools handle common use cases without dead ends.
Available Tools
7 toolscheck_documentCheck a document before sendingARead-onlyInspect
Check an HTML document for the problems a recipient will notice and you cannot: links that lead nowhere, images that will not load, placeholder text left in, http:// references the viewer blocks. Call this BEFORE handing someone a share link — a hallucinated URL or a dead CDN image is invisible while writing and obvious when reading. Pass html to check a draft, or shortId to re-check something already published after fixing it.
| Name | Required | Description | Default |
|---|---|---|---|
| html | No | A draft to check before publishing. Use this or `shortId`. | |
| shortId | No | An already-published document to check. Use this or `html`. | |
| editToken | No | The edit token, if this key did not publish the document. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds valuable context about what the check covers and the key insight that certain problems are invisible during writing but obvious when reading. It doesn't detail output format or rate limits, but given annotation coverage, the extra context pushes it above baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with a clear structure: what it checks, when to call it, and which parameter to pass. Every sentence earns its place, and the key action is front-loaded in the first sentence. No fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only check tool with complete schema and annotations, the description covers the action, timing, and parameter selection well. The only gap is no explanation of the return value (e.g., whether it returns a list of problems), but since it's a check tool, the output is somewhat implicit and not critical for invocation decisions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% parameter coverage with clear descriptions for html, shortId, and editToken. The description adds meaning by explaining when to use html (draft) vs shortId (already-published), which clarifies the primary selection logic. It doesn't explain editToken, but the schema already handles that, so the description adds a modest bonus.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('check an HTML document') with a concrete resource type and lists the exact problem classes it catches (dead links, broken images, placeholder text, blocked http:// references). It clearly differentiates from siblings like get_document (retrieval) or publish_document (publishing) by focusing on pre-send validation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit timing guidance: 'Call this BEFORE handing someone a share link.' It also clarifies the two primary input modes (html for drafts, shortId for already-published docs). While it doesn't name specific sibling tools as alternatives, the context makes the intended use clear, so it's slightly below the highest bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_documentExport a document as an image, PDF or Word fileARead-onlyIdempotentInspect
Get a downloadable PNG image, PDF, or Word (.docx) file of a document already published to SendPage. Use this when the user wants a file copy — to attach, print, or hand over — not just the link. Returns a URL to fetch the file. PNG and PDF are free (free-tier documents carry a small watermark); Word export requires Pro.
| Name | Required | Description | Default |
|---|---|---|---|
| format | Yes | The file format: "png" (image), "pdf", or "docx" (Word, Pro only). | |
| shortId | Yes | The document's id, the last part of its share link. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint), the description adds that the tool returns a URL to fetch the file, that PNG/PDF are free with a potential watermark, and that Word requires Pro. This provides meaningful behavioral context without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the action, then usage guidance, then return format and caveats. Every sentence adds necessary information with no repetition or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema, the description covers the purpose, usage, return value, prerequisites, and format caveats. It is sufficiently complete for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents both parameters and their formats (100% coverage). The description adds value by explaining the Pro requirement for docx and the watermark behavior, which clarifies the practical implications of the format parameter beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool exports a published document as a downloadable PNG, PDF, or Word file, using specific verbs and resources. It differentiates from siblings like get_document by clarifying it provides a file copy rather than just a link.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says to use this when the user wants a file copy for attaching, printing, or handing over, and not just the link. It also notes the requirement that the document must already be published and mentions Word requires Pro, but it does not explicitly name alternative sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_documentRead a published document backARead-onlyIdempotentInspect
Fetch the current HTML of a document you published, so it can be edited rather than rewritten. Call this before update_document: acting on feedback usually means one small change, and regenerating the whole file loses everything else about it.
| Name | Required | Description | Default |
|---|---|---|---|
| shortId | Yes | The document's id, the last part of its share link. | |
| editToken | No | The edit token, if this key did not publish the document. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds valuable context beyond annotations by specifying the return type ('current HTML') and the behavioral benefit of editing rather than regenerating. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the action, and every sentence earns its place. It conveys purpose, usage context, and rationale without any filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity, rich annotations, and 100% schema coverage for the two parameters, the description is sufficiently complete for selecting and invoking the tool. It specifies the return type ('current HTML') and the recommended call pattern ('before update_document'), which is all the agent needs to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both shortId and editToken clearly described in the input schema. The description does not add additional parameter-level semantics beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb and resource: 'Fetch the current HTML of a document you published.' It distinguishes itself from sibling tools by framing the output as editable rather than something to rewrite, and explicitly names update_document as the paired next step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage guidance: 'Call this before update_document' and explains why, noting that 'regenerating the whole file loses everything else about it.' This clearly communicates when to use the tool and the reasoning behind the recommended workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_commentsRead feedback on a documentARead-onlyIdempotentInspect
Read the feedback people have left on a document you published. Call this when the user asks whether anyone has responded or replied, and always before revising a document — the comments say what to change. Returns each comment with who left it and when, oldest first.
| Name | Required | Description | Default |
|---|---|---|---|
| shortId | Yes | The document's id, the last part of its share link. | |
| editToken | No | The edit token, if this key did not publish the document. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/destructive annotations, the description adds meaningful behavioral context: the prerequisite that the document must be one the user published, and the return structure (who left each comment, when, oldest first). This is substantive value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each with a distinct purpose: what it does, when to use it, and what it returns. The most important information is front-loaded, with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema, the description fully compensates by stating the return fields (who, when) and ordering (oldest first). It also covers the published-document prerequisite. This is complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with clear descriptions for both shortId and editToken, so the baseline is 3. The description's mention of 'a document you published' reinforces the editToken context but does not add new parameter-specific semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Read') and resource ('feedback people have left on a document'), clearly distinguishing it from siblings that handle the document itself. The scope ('on a document you published') adds precision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use triggers: when the user asks about responses/replies, and always before revising a document. However, it lacks explicit when-not-to-use or named alternatives, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_documentsList published documentsARead-onlyIdempotentInspect
List the documents published with this API key, newest first, with their share links and view counts. Use it to find a document the user published earlier so it can be updated or re-sent.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds useful behavioral context: 'with this API key' scoping, 'newest first' ordering, and that share links and view counts are included. This goes beyond the annotation baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The first sentence states the action and return value; the second gives a practical use case. Well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, but the description tells the user what will be returned: share links and view counts, sorted newest first. It covers the essential behavior for a simple list tool, though it omits possible pagination or limit details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description does not need to explain parameter semantics. Baseline 4 applies; the description is clear that the operation is parameterless and focused on listing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('List'), a clear resource ('documents published with this API key'), and details on ordering and returned fields. It clearly distinguishes from siblings like get_document (single document) and publish/update (mutations).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides an explicit use case: 'Use it to find a document the user published earlier so it can be updated or re-sent.' This clearly implies when to use the tool, though it does not explicitly mention alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_documentPublish an HTML documentAInspect
Publish an HTML document to SendPage and get a shareable link the recipient can open in one tap on any device. Use this whenever the user has an HTML document and wants to send, share, or deliver it to someone — it is the delivery step after the document is written. The link renders the page as designed, previews with a title and preview card in WhatsApp/Telegram/Slack/email, and can be exported to PDF, image or Word. Returns the share link plus an edit token for later updates.
| Name | Required | Description | Default |
|---|---|---|---|
| html | Yes | The complete HTML document, from <!DOCTYPE html> onwards. | |
| title | No | Title shown in the link preview and document header. Taken from the HTML's <title> if omitted. | |
| senderName | No | Who the document is from, shown to the recipient. Optional. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a non-read, non-idempotent, open-world operation. The description adds valuable context: it creates a SendPage link, previews in messaging apps, supports export formats, and returns an edit token. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with clear front-loading: purpose, usage context, and output/behavior. Every sentence adds value with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description correctly states what is returned (share link and edit token). It also covers preview and export behavior. It could be more precise about response structure, but it is sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters have full schema descriptions, so the description doesn't need to detail each parameter. It reinforces that 'html' must be the complete document and mentions title fallback behavior, but adds little beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool publishes an HTML document to SendPage and returns a shareable link. This is a specific verb+resource combination that distinguishes it from sibling tools like get_document, update_document, and list_documents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this whenever the user has an HTML document and wants to send, share, or deliver it to someone' and frames it as the 'delivery step after the document is written.' This provides strong when-to-use guidance, but it does not name a specific alternative tool for non-delivery scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_documentUpdate a published documentADestructiveIdempotentInspect
Replace the contents or title of a document already published to SendPage. The share link stays exactly the same, so use this to fix a typo or update figures instead of publishing again — anyone who already has the link sees the correction.
| Name | Required | Description | Default |
|---|---|---|---|
| html | No | Replacement HTML. Optional. | |
| title | No | Replacement title. Optional. | |
| shortId | Yes | The document's id, the last part of its share link. | |
| editToken | No | The edit token returned when the document was published. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint and readOnlyHint false, and the description adds valuable behavioral context: the share link stays exactly the same and existing viewers see the correction. This goes beyond the annotation flags and helps the agent understand consequences without contradicting the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core verb and resource, and every sentence adds value: the first states the action, the second explains the share-link behavior and recommended use case. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with strong schema coverage and annotations present, the description sufficiently explains the purpose, key non-obvious behavior, and use scenario. It does not describe return values, but no output schema exists and this is not critical for an update operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description's mention of 'contents or title' maps to the html and title parameters, but it does not add additional meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly uses the verb 'Replace' with the resource 'contents or title of a document already published to SendPage', and implicitly distinguishes itself from publish_document by emphasizing the same share link is retained. This makes the tool's purpose unambiguous and differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool ('fix a typo or update figures') and provides a clear alternative behavior ('instead of publishing again'), which effectively tells the agent not to re-publish. It does not name the sibling publish_document explicitly, but the intent is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseNot gradedqualityCmaintenancePublishes AI-generated HTML and Markdown to a hosted, shareable URL with versioning, theming, and access control.1MIT

Publee MCP Serverofficial
AlicenseAqualityCmaintenanceEnables AI tools to publish HTML pages and get shareable URLs instantly, with optional account features for persistence, in-place updates, and visibility control.1MIT- AlicenseAqualityAmaintenancePublish HTML or markdown artifacts (reports, dashboards, demos) as instant shareable links with TTL expiry, social preview cards, and optional password protection. Works with the hosted service or a self-hosted instance.11813MIT
- AlicenseNot gradedqualityBmaintenancePublish Markdown or HTML to a clean, shareable public link straight from your AI assistant — OAuth sign-in, no API keys. Tools: publish and list_my_pages.1MIT