Oh My Share
Server Details
Publish HTML/code from your agent to openanthropic.com and get a shareable link.
- 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
Scored across 6 tools
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.
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.
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.
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 toolsdeleteADestructiveIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 12-character asset id you own (from list_assets). |
TDQS
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.
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.
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.
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.
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.
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_infoARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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_assetsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
search_galleryARead-onlyIdempotentInspect
Search public gallery works by keyword across title, description, tags and id; omit query to browse the newest works. Returns a paginated result set (items, total, page, pages) where each item has id, title, views and URLs. sort is new (newest) or hot (most liked and viewed); limit is capped at 20. No auth required. Use view to open a result, or list_assets for your own uploads.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-based page number. Default 1. | |
| sort | No | new = newest first; hot = most liked and viewed. | new |
| limit | No | Results per page, 1 to 20. Default 10. | |
| query | No | Keyword matched against title, description, tags and id; empty returns the newest works. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/non-destructive, but the description adds genuinely new context: 'No auth required', the paginated return shape (items, total, page, pages), and the per-item fields. The limit cap and sort semantics duplicate structured data, so it stops short of a 5.
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?
Front-loaded with the core purpose, then usage, then return shape, then constraints and alternatives in tight clauses. Every sentence adds a distinct fact 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?
With no output schema, the description supplies the return contract (pagination fields and item fields) and the auth posture. Combined with 100% schema coverage, an agent has everything needed to call and interpret the result.
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 all four parameters are already documented in the schema (including the query-omission behavior and sort enum meanings). The description restates those meanings in prose without adding format, syntax, or edge-case detail beyond the schema, so baseline 3 applies.
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?
States a specific verb and resource (search public gallery works) plus the fields searched (title, description, tags, id) and the browse-without-query fallback. It distinguishes itself from siblings by naming view and list_assets by their distinct jobs.
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?
Explicitly says when to use it ('omit query to browse the newest works') and routes to alternatives with their selecting conditions ('Use view to open a result, or list_assets for your own uploads'). No inference required.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | HTML or code to publish (required). | |
| filename | No | Optional display filename used in the title and download name. | |
| language | No | Content language hint, e.g. html, css, js, json, markdown. Default html. | html |
| password | No | Optional password; the web view asks for it before showing content. | |
| expiresIn | No | Retention: 1h, 24h, 7d, 30d, 90d, or 0 for permanent. Default 7d. | 7d |
TDQS
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.
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.
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.
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.
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.
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.
viewARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 12-character asset id returned by upload or search_gallery. |
TDQS
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.
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.
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.
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.
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.
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.
4 tool updates
- Changed
delete1 field changed- changed
Input schema / properties / id / descriptionPrevious value: -"Asset ID to delete"New value: +"12-character asset id you own (from list_assets)."
- Changed
search_gallery4 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Results per page (max 20)"New value: +"Results per page, 1 to 20. Default 10." - changed
Input schema / properties / page / descriptionPrevious value: -"Page number"New value: +"1-based page number. Default 1." - changed
Input schema / properties / query / descriptionPrevious value: -"Search keyword"New value: +"Keyword matched against title, description, tags and id; empty returns the newest works." - changed
Input schema / properties / sort / descriptionPrevious value: -"Sort by newest or popular"New value: +"new = newest first; hot = most liked and viewed."
- Changed
upload5 fields changed- changed
Input schema / properties / content / descriptionPrevious value: -"HTML or code content to upload"New value: +"HTML or code to publish (required)." - changed
Input schema / properties / expiresIn / descriptionPrevious value: -"Expiration time (1h, 24h, 7d, 30d, 90d)"New value: +"Retention: 1h, 24h, 7d, 30d, 90d, or 0 for permanent. Default 7d." - changed
Input schema / properties / filename / descriptionPrevious value: -"Filename for the content"New value: +"Optional display filename used in the title and download name." - changed
Input schema / properties / language / descriptionPrevious value: -"Language type (html, css, js, json, markdown, etc.)"New value: +"Content language hint, e.g. html, css, js, json, markdown. Default html." - changed
Input schema / properties / password / descriptionPrevious value: -"Optional password protection"New value: +"Optional password; the web view asks for it before showing content."
- Changed
view1 field changed- changed
Input schema / properties / id / descriptionPrevious value: -"Asset ID to view"New value: +"12-character asset id returned by upload or search_gallery."
6 tool updates
- First observed
delete - First observed
get_info - First observed
list_assets - First observed
search_gallery - First observed
upload - First observed
view
Publisher details
- Operator
- shisongsong · Publisher source
- Operator website
- https://openanthropic.com
- Vendor relationship
- Independent
- Documentation
- https://openanthropic.com/auth.md
- Trust center
- Not applicable
- Restrictions
- Not applicable
Related MCP Connectors
Publish HTML or markdown from your agent as a shareable link, with password or work-email walls.
Publish HTML pages and live dashboards from your agent to a link that stays up to date.
Publish AI-generated HTML & Markdown to a hosted, shareable URL via MCP.
- SwolvyOAuthcom.swolvy
Publish HTML from Claude, ChatGPT, Gemini or any MCP client and get a shareable link. No account.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenancePublish what your agent just built to a durable link, with immutable versions, a diff between any two, and comments on the page itself.468 npmMIT
- AlicenseAqualityAmaintenanceEnables AI agents to publish HTML pages, files, or directories as public permanent links, with optional token-based updates to keep the same URL.2482 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables coding agents to publish HTML pages and small sites over MCP, returning a stable link and keeping every version, with access limited to specific people, an organization, or anyone with the link.1AGPL 3.0
- AlicenseNot gradedqualityBmaintenanceEnables users to upload, share, preview, and publish a generated HTML page from an agent, returning a stable link and version link after browser-authorized access.4 npmMIT No Attribution
Glama MCP Gateway
Add one secure layer between your agents and this server.