How does Maysoor work?
Like you're five
You ask
You tell your smart friend (ChatGPT or Claude): “I want a nice house.”
It draws
Your smart friend draws the house on paper. That means it writes the code.
Maysoor builds
Maysoor takes the drawing and really builds the house on the internet.
The house gets an address
It gives you the address (a link), and anyone in the world can visit.
🏠 The house = your website or app📝 The drawing = the code the AI writes🔗 The address = the link you share with anyone
What do you do? Just three things
- Sign up for MaysoorOnce. One minute.
- Introduce ChatGPT or Claude to MaysoorGive it Maysoor's link and approve. Only once.
- Ask for what you want“Make a page for my shop…” — done. The link arrives in the chat.
No coding, no hosting, no files to touch.
For developers
ChatGPT · Claude
MCP client
MCP client
OAuth 2.1 + MCP
HTTPS
HTTPS
Maysoor
MCP server
MCP server
deploy
Isolated container per app
static · node · python
static · node · python
wildcard TLS
Visitors
name.apps.thara.cloud
name.apps.thara.cloud
| What it is | A remote MCP server that gives AI assistants a deploy target: it turns tool calls into apps running in isolated containers on HTTPS links. |
|---|---|
| Protocol | MCP — Streamable HTTP (stateless, JSON) · https://mcp.thara.cloud/mcp · plus legacy HTTP+SSE: GET https://mcp.thara.cloud/sse |
| Auth | OAuth 2.1: Dynamic Client Registration (RFC 7591), PKCE S256, resource indicators (RFC 8707), protected-resource metadata (RFC 9728) · or Authorization: Bearer mcp_… |
| Tools | deploy_app update_app_files list_apps get_app get_app_logs list_app_files read_app_file stop_app start_app delete_app |
| Runtimes | static (nginx), Node.js 24 with npm, Python 3.12 with pip. |
| App contract | Listens on $PORT (8080) · code is read-only · persistent data in /data |
| Isolation | One container per app: unprivileged user, read-only root filesystem, no Linux capabilities, 256 MB and 0.5 CPU. No access to the host or internal services; port 25 blocked. |
| Deploys | Dependencies install in a throwaway container, then the version is swapped, with automatic rollback if the new one fails. Logs via get_app_logs. |
| Routing | Caddy + wildcard TLS: https://<name>.apps.thara.cloud |