monappamoi
Host AI-generated single-file HTML apps with JSON persistence. No signup.
我該用這個嗎
品質與安全性
發現項目(6)
- HIGH
- MEDIUM在 publish_app 中
- LOW在 get_app 中
- LOW在 get_app_data 中
- LOW在 set_app_data 中
- INFO在 publish_app 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"apps": {
"url": "https://monappamoi.fr/mcp"
}
}
}遠端端點
https://monappamoi.fr/mcpstreamable-http它能做什麼
工具清單
工具(9)
🟡get_publishing_guide
Explique comment écrire une app pour cette plateforme : où placer les données (HTML, localStorage ou API /api/data), le pattern de persistance recommandé, et comment faire évoluer une app sans casser les données de ses utilisateurs. À lire avant de publier une app qui enregistre quelque chose, et avant tout update_app qui change la structure des données.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡publish_app(html, title, slug, data)
Met en ligne une app HTML mono-fichier et renvoie son URL publique. Appelez cet outil quand l'utilisateur veut héberger, publier, mettre en ligne ou partager une app HTML que vous venez de créer. Aucun compte n'est nécessaire. IMPORTANT : si l'app conserve des données que l'utilisateur s'attendra à retrouver plus tard (todo, notes, compteur, scores, favoris…), câblez-la sur GET/PUT /api/data AVANT de publier — localStorage seul ne survit pas au changement d'appareil. Voir get_publishing_guide. CONFIDENTIALITÉ : l'app publiée est accessible à quiconque a son adresse, mais elle PEUT être verrouillée (page et données réservées au compte de l'utilisateur, après lien envoyé par email). Cet outil renvoie le lien qui rattache et verrouille en un clic : proposez-le à l'utilisateur juste après la publication dès que l'app enregistre des données personnelles.
輸入結構描述
{
"type": "object",
"properties": {
"html": {
"type": "string",
"description": "Le fichier HTML complet de l'app (CSS et JS inclus dedans). Maximum 2 Mo."
},
"title": {
"description": "Titre lisible de l'app.",
"type": "string",
"maxLength": 200
},
"slug": {
"description": "Base du sous-domaine souhaitée (3–40 caractères : minuscules, chiffres, tirets), sinon dérivée du titre. Un suffixe aléatoire lui est TOUJOURS ajouté : l'adresse finale diffère du slug demandé. Utilisez l'URL renvoyée par cet outil, ne la reconstruisez jamais vous-même.",
"type": "string"
},
"data": {
"type": "string",
"description": "Données initiales de l'app, en JSON sérialisé (ex. '{\"todos\":[]}'). N'écrase jamais des données existantes — utilisez set_app_data pour cela."
}
},
"required": [
"html"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡update_app(slug, secret_token, html, title, data)
Remplace le HTML et/ou le titre d'une app déjà publiée. L'URL ne change pas. Les données déjà enregistrées par les utilisateurs ne sont jamais écrasées : si votre nouvelle version change la structure des données, lisez d'abord get_app_data puis migrez avec set_app_data.
輸入結構描述
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Le sous-domaine de l'app à mettre à jour."
},
"secret_token": {
"description": "Le jeton secret (maam_app_…) renvoyé lors de la publication de cette app. Facultatif si l'app est rattachée au compte de la clé API configurée.",
"type": "string"
},
"html": {
"type": "string",
"description": "Le fichier HTML complet de l'app (CSS et JS inclus dedans). Maximum 2 Mo."
},
"title": {
"type": "string",
"maxLength": 200
},
"data": {
"description": "Données initiales, appliquées uniquement si l'app n'en a encore aucune. Pour remplacer des données existantes, utilisez set_app_data.",
"type": "string"
}
},
"required": [
"slug"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_app(slug, secret_token)
Renvoie les métadonnées d'une app publiée (URL, titre, taille, dates de création et de mise à jour).
輸入結構描述
{
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"secret_token": {
"description": "Le jeton secret (maam_app_…) renvoyé lors de la publication de cette app. Facultatif si l'app est rattachée au compte de la clé API configurée.",
"type": "string"
}
},
"required": [
"slug"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴delete_app(slug, secret_token)
Retire définitivement une app de la plateforme. Son URL cessera de fonctionner. Demandez confirmation à l'utilisateur avant d'appeler cet outil.
輸入結構描述
{
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"secret_token": {
"description": "Le jeton secret (maam_app_…) renvoyé lors de la publication de cette app. Facultatif si l'app est rattachée au compte de la clé API configurée.",
"type": "string"
}
},
"required": [
"slug"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_app_data(slug, secret_token)
Renvoie le document JSON enregistré par les utilisateurs de l'app. Appelez cet outil avant de faire évoluer une app qui enregistre des données, pour savoir quelle structure est réellement en place. Fonctionne aussi sur une app verrouillée : le jeton secret ou la clé API du propriétaire suffit, le verrou ne concerne que les visiteurs du sous-domaine.
輸入結構描述
{
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"secret_token": {
"description": "Le jeton secret (maam_app_…) renvoyé lors de la publication de cette app. Facultatif si l'app est rattachée au compte de la clé API configurée.",
"type": "string"
}
},
"required": [
"slug"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡set_app_data(slug, secret_token, data)
Écrase le document JSON de l'app. C'est la seule façon de remplacer des données existantes : utilisez-le pour migrer les données vers une nouvelle structure, ou pour repartir de zéro. Les données précédentes sont définitivement perdues — prévenez l'utilisateur.
輸入結構描述
{
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"secret_token": {
"description": "Le jeton secret (maam_app_…) renvoyé lors de la publication de cette app. Facultatif si l'app est rattachée au compte de la clé API configurée.",
"type": "string"
},
"data": {
"type": "string",
"description": "Le nouveau document complet, en JSON sérialisé."
}
},
"required": [
"slug",
"data"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_my_apps
Liste les apps publiées rattachées au compte de l'utilisateur. Appelez cet outil quand il demande « quelles sont mes apps », veut retrouver l'adresse d'une app publiée précédemment, ou souhaite en modifier une sans avoir son jeton sous la main.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢claim_app(secret_token)
Rattache au compte de l'utilisateur une app publiée anonymement, à partir de son jeton secret. Elle apparaîtra ensuite dans list_my_apps et pourra être gérée sans jeton. Appelez cet outil quand l'utilisateur veut « récupérer » ou « rattacher » une app publiée sans compte.
輸入結構描述
{
"type": "object",
"properties": {
"secret_token": {
"type": "string",
"description": "Le jeton secret (maam_app_…) de l'app à rattacher."
}
},
"required": [
"secret_token"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}社群
證據