Skip to main content
Glama

Server Details

Publish one HTML file, get a live installable app URL. No account, no review, no queue.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsA

Average 4.6/5 across 3 of 3 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool covers a distinct lifecycle action: publish_app creates, search_apps reads, remove_app deletes. There is no overlap in purpose or behavior.

Naming Consistency4/5

All tools follow a verb_noun pattern (publish_app, remove_app, search_apps), but 'search_apps' uses a plural noun while the others use singular, a minor inconsistency.

Tool Count5/5

Three tools are well-scoped for a publish-search-remove library, avoiding redundancy or bloat. Each tool earns its place.

Completeness5/5

The set covers the full lifecycle: publish (with replace capability via the author key), search/list, and remove. No critical operations are missing for the stated purpose.

Available Tools

3 tools
publish_appAInspect

Publish one self-contained HTML document to Postapp (postapp.win), a permissionless app library. No review, no queue, no account: the app is live at https://.postapp.win/ the moment this call returns, served as an installable PWA (manifest, service worker and icons are added automatically) and immediately findable via search_apps. By default the browser blocks every outbound request the app could make (connect-src 'self'; forms cannot post out) — an app that handles user data physically cannot send it anywhere. Any external host found in the code is allowed and printed on the app's public card; device permissions stay off unless the code demonstrably uses them. Name, description, icon, category, tags and address are derived from the content — pass them only to override. Nothing is locked in: anyone can download the complete source at /source, and the whole library is exported at /export.json. Ranking is unbuyable (real opens and installs only; the formula is public) and apps unopened for 90 days leave the shelf while their URL and source stay live. Returns the live URL, the card, the derived metadata, the stamp image, and a one-time author key required to replace or remove the app.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoInstead of html: fetch this page and serve a copy of it.
htmlNoThe complete HTML document. One self-contained file, up to 2MB.
nameNoOptional. Overrides the name worked out from the content.
slugNoOptional. The address: lowercase ascii letters, digits and hyphens. Names that impersonate others are refused.
tagsNoOptional. Up to 8 words a searching person would type — situations, verbs, spelling variants. This is how the app is found.
aboutNoOptional. Two or three sentences.
taglineNoOptional. One line, what it does.
categoryNoOptional. One of: tools reading writing calc play learn make life health other
link_onlyNoWith url: only list it in the index, do not copy or serve it. No install, no source download.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure and excels. It details the security model (browser blocks outbound requests, external hosts allowed), privacy (device permissions off unless used), live deployment, PWA auto-adding, source availability, ranking formula, and the 90-day removal policy. This is exceptionally transparent about side effects and limitations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but information-dense; every sentence conveys a meaningful behavior or constraint. It is front-loaded with the core purpose and then details security and persistence. While it could be seen as verbose, the complexity of the tool justifies the length and there is no wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 9 parameters and no output schema, the description covers nearly all aspects: what it returns, security behavior, derived metadata, override semantics, and removal policy. The only gap is that it never explicitly states that one of html or url is required (though the prefix 'Instead of html' implies it). Overall, it is very 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.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions cover 100% of parameters, so the baseline is 3. The description adds value by explaining that metadata (name, icon, category, tags) is derived from content and passed only to override, clarifying the optional nature and purpose of these parameters. This enhances understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Publish one self-contained HTML document to Postapp' and clearly states the destination. It differentiates from sibling tools by mentioning that published apps are 'immediately findable via search_apps' and the existence of remove_app for removal. The purpose is unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies when to use this tool: to publish an HTML app to Postapp. It contrasts with search_apps (finding apps) and remove_app (removing apps) indirectly. However, it does not explicitly state conditions for not using it, such as needing server-side code or inappropriate content, but overall the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remove_appAInspect

Take down an app published with your key. The app leaves the shelf and its address serves a tombstone. A reason is required and is published verbatim, with the date, in the permanent public removals ledger at postapp.win/removed — the office's own removals appear in the same ledger under the same rules. Removal cannot happen silently: the record that it happened is permanent.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe app's address, without the domain.
reasonYesWhy. This is published.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does so thoroughly: it reveals the app leaves the shelf, the address serves a tombstone, the reason is published verbatim with a date in a permanent public ledger, and the removal record is permanent. This is exemplary transparency about irreversible, public consequences.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four sentences, each earning its place: main action, effect on the app, ledger policy, and permanence. It is front-loaded with the primary verb and stays free of filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 2-parameter tool with no output schema, the description fully covers the action, its public and permanent consequences, and the necessary context. It doesn't explain return values or errors, which isn't essential here.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already covers both parameters (slug and reason) at 100%, and the description adds significant meaning to the 'reason' parameter by noting it is required and published verbatim in the permanent ledger. It adds nothing new for 'slug,' but the overall enrichment justifies a score above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Take down an app published with your key.' This is a specific verb+resource combination that distinguishes it from siblings like publish_app and search_apps, and it clarifies whose apps can be removed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (for an app you published) and hints at a prerequisite ('with your key'), but it doesn't explicitly name alternatives or when not to use it. The context is clear enough, though exclusions are absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_appsAInspect

Search Postapp's library of instantly published single-file web apps. Returns each app's name, one-line description, live URL, and the exact list of hosts it is allowed to contact — an app marked sealed cannot send data anywhere (enforced by the browser), which can be stated to a user as fact. Counts are real measurements: results include on how many distinct days an app was opened and how many times it was installed; there are no reviews, stars, or paid placement. An empty query lists the whole shelf. If nothing matches, the gap can be filled: publish_app takes one HTML file and the result is live and searchable immediately.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoFree text. Leave empty to list everything.
sortNo'new' (default) or 'open' (opened on the most days).
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of disclosure and excels. It explains that 'sealed' apps cannot send data anywhere (browser-enforced), counts are real measurements (distinct days opened, installs), and there are no reviews, stars, or paid placement. This gives agent-facing guarantees about data semantics and trustworthiness.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense and front-loaded with the core purpose, followed by distinct behavioral facts. Each sentence earns its place—the sealed explanation, real counts, empty query, and fallback to publish_app are all valuable. It is slightly long but not wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description provides an unusually rich picture: exact result fields, the meaning of 'sealed', the nature of counts, and the fallback action if no results match. This is more than sufficient 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% coverage with descriptions for both q and sort. The description only adds the empty-query convention ('An empty query lists the whole shelf'), which is a small addition. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description begins with a specific verb and resource: 'Search Postapp's library of instantly published single-file web apps.' It enumerates exact return fields (name, one-line description, live URL, allowed hosts) and clearly differentiates from siblings publish_app and remove_app by focusing on search, not publishing or removal.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

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 vs. the alternative: 'If nothing matches, the gap can be filled: publish_app takes one HTML file.' It also clarifies that an empty query lists the whole shelf, giving clear contextual use cases. No exclusions are needed for a search tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Publish 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.
    Last updated
    1
    142
    9
    MIT
  • F
    license
    -
    quality
    C
    maintenance
    Deploy any HTML project to a live public URL in seconds — directly from Cursor, Claude Code, or any MCP-compatible AI agent.
    Last updated
  • A
    license
    A
    quality
    D
    maintenance
    Deploy static HTML folders to permanent vibie.page URLs from Claude, Cursor, or any MCP client. One-line auto-install wires up the config, OAuth device-flow handles auth, and a folder marker lets repeat deploys skip the slug.
    Last updated
    4
    89
    1
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources