{"name":"com.neblla/neblla","title":"Neblla","description":"Build and publish multiplayer apps and games on Neblla: scaffold, edit files, configure rooms/AI/purchases, manage players, ship to the gallery.","websiteUrl":"https://neblla.com","documentation":"https://neblla.com/docs/mcp","remotes":[{"type":"streamable-http","url":"https://neblla.com/mcp"}],"authentication":{"type":"oauth2.1","protectedResourceMetadata":"https://neblla.com/.well-known/oauth-protected-resource/mcp","authorizationServerMetadata":"https://neblla.com/.well-known/oauth-authorization-server","noAuthTools":["neblla_get_llms","neblla_get_app_url","neblla_validate_requirements"]},"tools":[{"name":"neblla_get_llms","description":"Fetch the Neblla developer guide (llms.txt), split by topic so you read only what the app uses."},{"name":"neblla_get_app_url","description":"Returns the canonical public URL for a Neblla app in the gallery."},{"name":"neblla_validate_requirements","description":"Walk the SAME decision map the Neblla dashboard wizard uses, before creating an app."},{"name":"neblla_create_app","description":"Create a new Neblla app."},{"name":"neblla_list_apps","description":"List all apps owned by the authenticated developer."},{"name":"neblla_delete_app","description":"Permanently delete an app and all its files."},{"name":"neblla_update_app","description":"Update an app's configuration."},{"name":"neblla_list_community_entries","description":"List the community entries (user-published content, neblla.community) of an app from the backoffice, any status."},{"name":"neblla_get_community_entry","description":"Fetch one community entry WITH its payload (the dev-defined JSON), whatever its status, plus its user reports (open count, count by reason, and each report with an opaque reporter id)."},{"name":"neblla_publish_community_entry","description":"Publish a community entry AS YOURSELF — owned by your own user in the app (the app user whose email is your developer email; log into the app once first)."},{"name":"neblla_moderate_community_entry","description":"Moderate a community entry as the app owner: approve or reject a pending entry, remove a published one, or restore a rejected/removed one."},{"name":"neblla_upload_file","description":"Upload or update a file for an app."},{"name":"neblla_list_files","description":"List all files staged for an app."},{"name":"neblla_get_file","description":"Get the content of a specific file."},{"name":"neblla_delete_file","description":"Delete a single file from an app."},{"name":"neblla_move_file","description":"Rename or move a file within an app."},{"name":"neblla_create_product","description":"Create a purchasable product for a Neblla app."},{"name":"neblla_update_product","description":"Update an existing product."},{"name":"neblla_list_products","description":"List all products for a Neblla app."},{"name":"neblla_delete_product","description":"Permanently delete a product from a Neblla app."},{"name":"neblla_publish_app","description":"Publish a Neblla app to the public gallery."},{"name":"neblla_unpublish_app","description":"Remove an app from the public gallery."},{"name":"neblla_list_users","description":"List end users of an app — the people who connected through the SDK, NOT the developer's own account."},{"name":"neblla_search_users_by_email","description":"Find users of an app by a partial email match (min 2 characters)."},{"name":"neblla_get_user","description":"Fetch the full record of a single end user — their saved data, public info, purchases, and communications thread."},{"name":"neblla_list_communications","description":"List communications across ALL users of an app, filtered and sorted."},{"name":"neblla_send_communication","description":"Send a message from the developer to a specific end user."},{"name":"neblla_set_communication_read","description":"Mark a specific communication as read or unread (from the developer's side)."},{"name":"neblla_set_communication_important","description":"Toggle the \"important\" flag on a communication."},{"name":"neblla_delete_communication","description":"Permanently remove a communication from a user's thread."},{"name":"neblla_update_user_data","description":"Replace the `data` object for a specific end user (the same object the SDK's neblla.save() reads/writes)."},{"name":"neblla_list_rooms","description":"List the persistent / predefined rooms of an app with their type, owners, whitelist, moderators, data, message count, last activity and how many users are in each one right now."},{"name":"neblla_get_room_history","description":"Read a room's chat history (newest first, paginated) for moderation."},{"name":"neblla_delete_room_message","description":"Delete (soft) one chat message from a room, as the developer."},{"name":"neblla_create_room","description":"Create a predefined room (it exists before anyone joins)."},{"name":"neblla_update_room","description":"Change a room: replace its shared `data` (players in the room receive it live) and/or its `moderators` list."},{"name":"neblla_delete_room","description":"Delete a persistent room and its stored data."},{"name":"neblla_list_moderators","description":"List the app-level moderators (per-app user ids)."},{"name":"neblla_set_moderator","description":"Make a player an app moderator (`moderator: true`) or remove them (`false`)."},{"name":"neblla_set_ban_status","description":"Set a player's ban state in this app: \"none\" (lift), \"banned\" (the app shows the ban message and blocks play), \"terminated\" (wipes the player's local data in the browser and disconnects them — irreversible for that data), \"community_muted\" (can play but cannot publish, rate or report in the communit"},{"name":"neblla_ban_settings","description":"Read the message banned players see in this app, or change it by passing `defaultMessage`."},{"name":"neblla_consume_purchase","description":"Consume units of a player's purchased product from the backoffice (e.g."},{"name":"neblla_get_community_config","description":"The app's resolved community configuration (mode, who publishes, limits, categories, content types, report threshold) plus how much of its community storage cap is used."},{"name":"neblla_list_reviews","description":"List the gallery reviews of an app (rating 1–5, text, language, author display name, the developer's reply) plus the average, count and 1–5 distribution."},{"name":"neblla_reply_review","description":"Publish (or replace) the developer's public reply to a review; pass `text: \"\"` to delete the reply."},{"name":"neblla_get_app","description":"Everything about ONE app: its full config and state (features, rooms, quota and credits today, subscription, gallery, community, ai…), every URL it answers at (by id and slug on each Neblla host and its Cloudflare deploy), the custom domains registered, and whether a TURN relay is available for the "},{"name":"neblla_set_slug","description":"Check, set or clear the app's public slug (the readable name in play.neblla.com/<slug>)."},{"name":"neblla_copy_app_config","description":"Copy the behavioural settings (features, rooms policy, matchmaking, inbox, p2p, serverMode, permissions, theme, connections, ai…) from one of your apps onto another."},{"name":"neblla_snapshot","description":"Local backup of an app's files before risky edits."},{"name":"neblla_draft","description":"Drafts: a private copy of an app (id \"_<appId>\") to change files and settings without touching the live app."},{"name":"neblla_archive_app","description":"Archive an app nobody uses: its data is bundled onto the CDN and cleared from Neblla's database."},{"name":"neblla_git","description":"Keep an app files in sync with a GitHub repo."},{"name":"neblla_byodb","description":"Bring-your-own-database: move where this app stores its players' data (saves, rooms, community) from Neblla's default store to the developer's own database."},{"name":"neblla_payments_account","description":"The developer's payout account (Stripe Connect), needed to sell products inside their apps."},{"name":"neblla_developer_profile","description":"Read the developer's profile (name shown as app owner, dashboard language, whether a Claude API key is saved, emails on the account) or change `name` / `lang`."},{"name":"neblla_developer_email","description":"Add an email to the developer's account (it stays pending until its inbox owner clicks the confirmation link), or resend that confirmation."},{"name":"neblla_delete_account","description":"For safety the MCP never deletes accounts directly."}]}