library
Publish one HTML file, get a live installable app URL. No account, no review, no queue.
我該用這個嗎
品質與安全性
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"library": {
"url": "https://postapp.win/mcp"
}
}
}遠端端點
https://postapp.win/mcpstreamable-http它能做什麼
工具清單
工具(3)
🔴publish_app(html, url, link_only, name, tagline, ...)
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://<slug>.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.
輸入結構描述
{
"type": "object",
"properties": {
"html": {
"type": "string",
"description": "The complete HTML document. One self-contained file, up to 2MB."
},
"url": {
"type": "string",
"description": "Instead of html: fetch this page and serve a copy of it."
},
"link_only": {
"type": "boolean",
"description": "With url: only list it in the index, do not copy or serve it. No install, no source download."
},
"name": {
"type": "string",
"description": "Optional. Overrides the name worked out from the content."
},
"tagline": {
"type": "string",
"description": "Optional. One line, what it does."
},
"about": {
"type": "string",
"description": "Optional. Two or three sentences."
},
"slug": {
"type": "string",
"description": "Optional. The address: lowercase ascii letters, digits and hyphens. Names that impersonate others are refused."
},
"category": {
"type": "string",
"description": "Optional. One of: tools reading writing calc play learn make life health other"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional. Up to 8 words a searching person would type — situations, verbs, spelling variants. This is how the app is found."
}
}
}🟡search_apps(q, sort)
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.
輸入結構描述
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free text. Leave empty to list everything."
},
"sort": {
"type": "string",
"enum": [
"new",
"open"
],
"description": "'new' (default) or 'open' (opened on the most days)."
}
}
}🔴remove_app(slug, reason)
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.
輸入結構描述
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "The app's address, without the domain."
},
"reason": {
"type": "string",
"description": "Why. This is published."
}
},
"required": [
"slug",
"reason"
]
}社群
證據