Skip to Content
HomeServe toolsArcade Deploy

Deploying to the cloud with Arcade Deploy

Running your servers locally is very convenient during development and testing. Once your is mature, however, you may want to access it from any MCP client, or to facilitate multi-user support. Doing all that from your computer comes with the complexity of running and maintaining a server, handling auth and high availability for all your users and all the integrations you want to support. Arcade Deploy takes care of all that for you. Your MCP server will be accessible to any MCP client. Also, all the tools you create will be available in the larger catalog that you can use when building MCP gateways.

This guide shows you how to deploy your Server with Arcade Deploy.

Requirements

  • Python 3.10 or higher
    Verify your Python version by running python --version or python3 --version in your terminal.
  • Arcade : Sign up for an Arcade account if you haven’t already.
  • Arcade CLI: Install the Arcade CLI
Terminal
uv pip install arcade-mcp

Create an MCP server using Arcade MCP

If you have not created an server yet, then follow the steps outlined in this guide before deploying.

Deploy your MCP Server

Run the deploy command in the directory where you started your server (containing your pyproject.toml file).

Terminal
arcade deploy

By default, running arcade deploy looks for a file named server.py as the entry point to your server.

An entry point file is considered valid if it executes the run() method on your MCPApp instance when invoked directly - for example, running uv run your_entrypoint_file.py should result in your server starting. A minimal valid entry point looks like this:

Python
from arcade_mcp_server import MCPApp app = MCPApp() @app.tool def echo(phrase: Annotated[str, "The phrase to echo"]): return phrase if __name__ == "__main__": app.run()

If your server uses a different script name or location, specify it with the —entrypoint option. For example, if your pyproject.toml is in ~/my-app/mcp-server/ and your entry point file is ~/my-app/mcp-server/server/my_mcp_server.py, start the deployment with:

Terminal
arcade deploy --entrypoint server/my_mcp_server.py

It is important that your entrypoint script executes MCPApp.run() (or app.run() if app is of type MCPApp) when invoked directly.

We recommend to do it inside an if __name__ == "__main__": statement.

You should see output like the following:

Terminal
Verifying server and extracting metadata... Server is healthy Found server: ArcadeMCP v0.1.0 ArcadeMCP v0.1.0 has 3 tools Discovered 1 required secret(s) Required secrets: MY_SECRET_KEY Secret 'MY_SECRET_KEY' uploaded Creating deployment package... Package created (1.8 KB) Deploying to Arcade Engine... Server deployed successfully

Manage your MCP servers in Arcade

Navigate to the Servers  page in your Arcade dashboard. From there, you will be able to:

  • Monitor the health status of the server
  • Get a connection string to configure your clients.
  • Delete the server
  • Test and execute all the
  • Manage users connected to the
  • Create Gateways

List your MCP servers on the terminal

Run the following command to list your servers:

Terminal
arcade server list

You should see output like the following:

Terminal
┌----------┳----------┳-------------┳---------┳------------┳------------------┓ | | Cloud | Engine | | | | | ID | Deployed | Registered | Enabled | Host | Toolkits | ├----------╇----------╇-------------╇---------╇------------╇------------------┤ | main | False | True | True | http://wo… | SlackApi, Asana, | | | | | | | BoxApi, Clickup, | | | | | | | ... | | | | | | | Zendesk, Zoom | | mcp_demo | False | True | True | | Demo | └----------┴----------┴-------------┴---------┴------------┴------------------┘

Your Server is now deployed and registered with the engine and ready to use!

Last updated on