Magic Cloud

MCP endpoint of a self-hosted Magic Cloud instance: your APIs, SQL, files, tasks and a headless browser

Official · Thomas Hansen C# Remote (hosted) · Streamable HTTP Developer toolsDatabasesBrowser automation

73 popularity score ★ 1.2k ⇣ 27k pulls

Connect your client

Remote (hosted)

Add in one click

Opens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.

Or add it by command or config

Claude (desktop and web)Settings → Connectors → Add custom connector
https://<YOUR_CLOUDLET>/magic/modules/mcp/mcp
Claude Codeterminal; then run /mcp in Claude Code to sign in
claude mcp add --transport http magic https://<YOUR_CLOUDLET>/magic/modules/mcp/mcp
Cursormcp.json
{
  "mcpServers": {
    "magic": {
      "url": "https://<YOUR_CLOUDLET>/magic/modules/mcp/mcp"
    }
  }
}

What it does

Magic Cloud is a self-hosted low-code backend written in .NET. It generates secured CRUD APIs over MySQL, PostgreSQL, MariaDB, SQL Server or SQLite, runs its own scripting language (Hyperlambda), and serves a browser dashboard. Its MCP server is not a separate program: it is a plugin called `mcp` that you add from the instance's plugin store, together with an `oauth` plugin, after which the instance answers MCP clients over streamable HTTP at `/magic/modules/mcp/mcp` on its own domain.

Once connected, an assistant sees two kinds of tools. Every HTTP endpoint under the instance's `modules` folder becomes a tool, with its schema built from the endpoint's declared arguments and its description taken from the file comment, so endpoints you generate or import from an OpenAPI spec turn up as tools without a separate registry. On top of that the plugin ships a library of built-in tools for writing and running Hyperlambda, generating CRUD modules, running SQL, reading and writing files, scheduling tasks, managing users and roles, git, a PuppeteerSharp headless browser, outgoing HTTP and email, and running Python or terminal commands.

Every call runs under the roles of the Magic user who approved the OAuth consent, and each endpoint's own role checks still apply. The makers' MCP guide shows one connector exposing 220 tools on their own instance; the count on yours depends on how many endpoints you have. Clients that cache the tool list need to reconnect before newly created endpoints show up.

What it needs

A running Magic Cloud instance, for example the servergardens/magic-aio Docker image (linux/amd64 or arm64, port 4444), or .NET 10 plus Node.js to run from source. Finish the setup screen, then install the `oauth` and `mcp` plugins from the dashboard's Plugins page. Clients reach it at https://<YOUR_CLOUDLET>/magic/modules/mcp/mcp; the OAuth discovery document must name your real domain over https. AI features such as Chat Ops need an OpenAI API key, or the Ollama or HuggingFace plugin instead.

Limits

There is no npx or stdio launch: the registry entry says the endpoint runs on your own instance only, so a client needs a reachable URL. The tool set is not fixed; it grows with the endpoints in your `modules` folder, and some clients only see new ones after reconnecting. Generating and running Python or terminal scripts needs the root role. The README warns that the sandbox does not make it safe to expose endpoints that let third parties run arbitrary code.

Who it suits

Suits teams that already run Magic Cloud, or want a self-hosted backend whose database APIs, jobs and files an assistant can both use and extend, under their own role-based access. Because a consenting root user hands the assistant shell, Python, SQL and file writes, it fits best when you create a dedicated low-privilege Magic user for the client. If you only need an assistant to query an existing database, a single-purpose database server is a smaller thing to install than a whole application platform.

Tools 46

generate-hyperlambda
Writes Hyperlambda code from a plain-English request
verify-hyperlambda
Checks that Hyperlambda parses and calls only slots the instance has
execute-hyperlambda
Runs a Hyperlambda snippet on the instance
execute-file
Runs a Hyperlambda file stored on the instance
crudify
Generates a full CRUD API module over a database
create-sql-endpoint
Creates an HTTP endpoint backed by a SQL statement
create-module
Creates a new module folder for endpoints
get-openapi-spec
Returns the OpenAPI description of the instance's endpoints
invoke-endpoint
Calls one of the instance's own endpoints by URL and verb
execute-sql
Runs a SQL statement against a connected database
select-sql
Runs a SQL query and returns its rows
get-database-schema
Describes the tables and columns of a database
create-sqlite-database
Creates a new SQLite database
create-database-backup
Makes a backup of a database
read-file
Reads a file from the instance's file system
create-file
Writes a file, checking Hyperlambda files before saving
list-files
Lists files in a folder
search-files
Searches the instance's files
download-from-web
Downloads a file from a URL onto the instance
crawl-website
Crawls a site into chatbot training data
create-type
Creates a machine-learning type for a chatbot
vectorize-type
Builds embeddings for a machine-learning type
create-ai-function
Adds a callable function to an AI type
puppeteer-goto
Opens a page in the headless browser
puppeteer-content
Returns the content of the open browser page
git-commit
Commits changes in a git repository
git-push
Pushes commits to a remote
git-clone-repo
Clones a git repository onto the instance
github-create-repo
Creates a repository on GitHub
create-user
Adds a Magic user
list-users
Lists Magic users
create-role
Adds a role
add-to-role
Gives a user a role
create-task
Creates a background task
schedule-task
Sets when a task runs
list-tasks
Lists background tasks
install-plugin
Installs a plugin from the plugin store
list-plugins
Lists available or installed plugins
invoke-http
Calls any external HTTP API
send-email
Sends an email
execute-python
Runs Python code on the server
execute-terminal-command
Runs a terminal command on the server
generate-image
Creates an image from a prompt
read-log
Returns recent log entries with full exceptions
list-endpoints
Lists the instance's HTTP endpoints
list-slots
Lists the Hyperlambda slots the instance offers

Similar servers