Skip to main content
Glama

Server Details

Publish HTML/code from your agent to openanthropic.com and get a shareable link.

Ownership verified
Status
Healthy
Uptime
84.0% over 21 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
shisongsong/oh-my-share
GitHub Stars
0

TDQS

A4.5/5.0

Scored across 6 tools

Disambiguation5/5

Each tool targets a distinct action and resource: upload creates, view reads one, delete removes, list_assets lists own files, search_gallery queries public works, and get_info returns service metadata. The list_assets vs search_gallery pair is the only potential overlap, and the descriptions explicitly distinguish own assets from public gallery content, so an agent can select correctly.

Naming Consistency4/5

All names are lowercase snake_case verbs, but the convention is mixed: get_info, list_assets and search_gallery follow verb_noun while delete, upload and view are bare verbs without a noun. It remains readable and predictable enough, with only this minor deviation from a uniform pattern.

Tool Count5/5

Six tools is well-scoped for an asset sharing service: create, read, delete, list, search and metadata discovery each earn their place. Nothing feels redundant or padded, and the surface is neither thin nor bloated.

Completeness3/5

Upload, view, delete, list and search cover the core create/read/delete lifecycle, but update is missing even though upload returns an edit token that no tool consumes. Additional gaps include no rename/metadata edit and list_assets being capped at 50 with no pagination, forcing agents into dead ends for modifying existing assets.

Available Tools

6 tools
deleteA
DestructiveIdempotent
Inspect

Permanently delete one of your own assets by id. Irreversible: the share URL stops working immediately and the content cannot be restored. Requires authentication and ownership; ids you do not own return an error. Use list_assets to find the id; there is no bulk delete.

NameRequiredDescriptionDefault
idYes12-character asset id you own (from list_assets).

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond annotations by disclosing consequences (share URL stops working immediately, content cannot be restored), auth/ownership prerequisites, and the failure mode for non-owned ids. Annotations already flag destructive/idempotent, so this is pure added value.

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?

Four short sentences, front-loaded with the action and its irreversibility, followed by prerequisites and the sibling pointer. No 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?

Single required parameter, no output schema, and annotations already carry the safety profile. The description covers consequences, prerequisites, and id sourcing, so nothing needed to call it correctly is missing.

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?

Schema coverage is 100%, so the id format and provenance are already documented in the schema. The description reinforces ownership semantics but adds little syntax beyond what the schema provides; baseline 3 applies.

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?

States a specific verb (permanently delete) plus resource (your own asset by id), and adds scope constraints (ownership, single-id only). An agent can immediately distinguish this from siblings like view or search_gallery.

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?

Provides real routing guidance: use list_assets to obtain the id, and notes there is no bulk delete, which implicitly rules out batch workflows. It doesn't enumerate explicit when-not-to-use cases against siblings like view, but 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.

get_infoA
Read-onlyIdempotent
Inspect

Return Oh My Share service metadata: version, REST and MCP endpoints, feature list, and per-IP rate limits (10 uploads/hour, 500 views/hour). Read-only, no auth, cheap to call. Use it once at startup to discover capabilities; use list_assets or search_gallery for actual content.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already cover readOnlyHint, idempotentHint, and destructiveHint=false, so 'Read-only' repeats structured data. However, the description adds genuinely new behavioral context: no auth required, cheap to call, and concrete per-IP rate limits (10 uploads/hour, 500 views/hour) that an agent cannot infer from annotations or the empty schema.

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?

Two sentences, zero filler, front-loaded with what is returned before the routing guidance. Every clause carries information.

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?

With no output schema, the description compensates by enumerating the returned fields (version, endpoints, features, rate limits). Combined with the usage routing, an agent has everything needed to decide and call correctly.

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 tool takes zero parameters, which is the baseline-4 case per the rubric. The description correctly implies a no-argument call and adds no misleading parameter guidance, though there is nothing further it could meaningfully say.

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?

States a specific verb and resource ('Return Oh My Share service metadata') and enumerates exactly what metadata: version, REST/MCP endpoints, feature list, and rate limits. The scope is unambiguous and clearly distinct from the sibling content tools.

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?

Gives explicit timing ('use it once at startup to discover capabilities') and names the alternatives for the other case ('use list_assets or search_gallery for actual content'). Nothing about when-to-use or when-not-to-use is left to inference.

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

list_assetsA
Read-onlyIdempotent
Inspect

List up to 50 assets owned by the authenticated user, newest first, with id, filename, timestamps and share URL. Requires an API key or signed-in session; read-only, and results are capped at 50 with no pagination. Use search_gallery for public works from other users, or view to open one of your assets.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds behavioral context beyond them: it requires an API key or signed-in session, and critically discloses that results are capped at 50 with no pagination. That cap/auth disclosure is exactly the kind of non-obvious constraint annotations cannot express.

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?

Three tight sentences, front-loaded with scope and ordering, then constraints, then sibling routing. No filler; every clause carries actionable information.

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?

With no output schema and no parameters, the description compensates fully by naming returned fields, the 50-item cap, absent pagination, and auth requirements. An agent has everything needed to call it correctly and interpret its limits.

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?

There are zero parameters, so the baseline is 4. The description does describe the shape of returned items (id, filename, timestamps, share URL), which is useful but concerns output rather than parameters.

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?

States a specific verb (List) and resource (assets owned by the authenticated user), plus scope (up to 50, newest first) and returned fields. It explicitly distinguishes itself from siblings by naming search_gallery and view, so an agent can route correctly without opening any schema.

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?

Explicitly tells when to use this tool (own assets) and when to use alternatives: 'Use search_gallery for public works from other users, or view to open one of your assets.' The conditions that select each sibling are named, not implied.

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

uploadAInspect

Upload HTML or code and get a public share URL plus an edit token. Each call creates a new asset (no overwrite); content is public unless password-protected and auto-expires after expiresIn (default 7d, 0 = permanent). Anonymous uploads are rate-limited to 10 per hour per IP. Use view to read an asset back, list_assets to see your own files, or delete to remove one.

NameRequiredDescriptionDefault
contentYesHTML or code to publish (required).
filenameNoOptional display filename used in the title and download name.
languageNoContent language hint, e.g. html, css, js, json, markdown. Default html.html
passwordNoOptional password; the web view asks for it before showing content.
expiresInNoRetention: 1h, 24h, 7d, 30d, 90d, or 0 for permanent. Default 7d.7d

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations, it discloses that each call creates a new asset with no overwrite, that content is public unless password-protected, that assets auto-expire per expiresIn (default 7d, 0 = permanent), and that anonymous uploads are rate-limited to 10/hour/IP. These consequences and limits are exactly the kind of context annotations cannot carry.

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?

Four compact sentences, front-loaded with the outcome and creation semantics before the alternative-tool routing. Every sentence carries distinct information with no 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?

With no output schema, the description supplies the return shape (share URL + edit token), plus expiry, visibility, password, and rate-limit behavior. An agent has everything needed to call this correctly and set expectations about the result.

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 coverage is 100%, so the baseline is 3, but the description adds behavioral meaning: password makes the web view prompt before showing content, and expiresIn=0 means permanent with a 7d default. That goes beyond restating the schema field text.

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 first sentence gives a specific verb (upload), resource (HTML or code), and the exact outcome (public share URL plus edit token). It also distinguishes itself from siblings by naming view, list_assets, and delete for the read/list/remove cases.

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?

It explicitly routes the agent to view for reading back, list_assets for owned files, and delete for removal, which is strong when-to-use guidance. It never addresses the remaining sibling search_gallery or states a when-not-to-use condition, so it stops just short of the top score.

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

viewA
Read-onlyIdempotent
Inspect

Fetch a single asset by id and return its content, filename, creation time and share URL. Read-only and safe to retry; public assets need no auth, password-protected assets return an error with the share URL, and client-encrypted content is returned as stored. Use search_gallery to find an id, or list_assets for your own uploads.

NameRequiredDescriptionDefault
idYes12-character asset id returned by upload or search_gallery.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), yet the description goes further: public assets need no auth, password-protected assets return an error carrying the share URL, and client-encrypted content is returned as stored. These are auth, error, and content-fidelity behaviors the structured fields do not supply.

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?

Two sentences, front-loaded with the return contract and then the routing plus edge-case behaviors. Every clause carries information and none is redundant.

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?

Although there is no output schema, the description enumerates the returned fields and covers the three edge cases an agent would hit (no auth for public, error for password-protected, as-stored for encrypted). Nothing needed to invoke or interpret the call is missing.

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?

Schema coverage is 100% and the single parameter is already documented as a '12-character asset id returned by upload or search_gallery'; the description adds only the bare phrase 'by id'. With the schema doing the heavy lifting, this is the baseline case.

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?

States a specific verb and resource ('Fetch a single asset by id') and enumerates exactly what is returned (content, filename, creation time, share URL). It is clearly distinguishable from siblings like search_gallery and list_assets, which the description itself names.

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?

Explicitly routes the agent: 'Use search_gallery to find an id, or list_assets for your own uploads.' This tells the agent when to reach for this tool versus two named alternatives, leaving nothing to inference.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • Changeddelete1 field changed
      • changedInput schema / properties / id / description
        Previous value: -"Asset ID to delete"New value: +"12-character asset id you own (from list_assets)."
    • Changedsearch_gallery4 fields changed
      • changedInput schema / properties / limit / description
        Previous value: -"Results per page (max 20)"New value: +"Results per page, 1 to 20. Default 10."
      • changedInput schema / properties / page / description
        Previous value: -"Page number"New value: +"1-based page number. Default 1."
      • changedInput schema / properties / query / description
        Previous value: -"Search keyword"New value: +"Keyword matched against title, description, tags and id; empty returns the newest works."
      • changedInput schema / properties / sort / description
        Previous value: -"Sort by newest or popular"New value: +"new = newest first; hot = most liked and viewed."
    • Changedupload5 fields changed
      • changedInput schema / properties / content / description
        Previous value: -"HTML or code content to upload"New value: +"HTML or code to publish (required)."
      • changedInput schema / properties / expiresIn / description
        Previous value: -"Expiration time (1h, 24h, 7d, 30d, 90d)"New value: +"Retention: 1h, 24h, 7d, 30d, 90d, or 0 for permanent. Default 7d."
      • changedInput schema / properties / filename / description
        Previous value: -"Filename for the content"New value: +"Optional display filename used in the title and download name."
      • changedInput schema / properties / language / description
        Previous value: -"Language type (html, css, js, json, markdown, etc.)"New value: +"Content language hint, e.g. html, css, js, json, markdown. Default html."
      • changedInput schema / properties / password / description
        Previous value: -"Optional password protection"New value: +"Optional password; the web view asks for it before showing content."
    • Changedview1 field changed
      • changedInput schema / properties / id / description
        Previous value: -"Asset ID to view"New value: +"12-character asset id returned by upload or search_gallery."
  2. 6 tool updates
    • First observeddelete
    • First observedget_info
    • First observedlist_assets
    • First observedsearch_gallery
    • First observedupload
    • First observedview

Publisher details

Operator
shisongsong · Publisher source
Vendor relationship
Independent
Trust center
Not applicable
Restrictions
Not applicable

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Publish what your agent just built to a durable link, with immutable versions, a diff between any two, and comments on the page itself.
    468 npm
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI agents to publish HTML pages, files, or directories as public permanent links, with optional token-based updates to keep the same URL.
    2
    482 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.