Build MCP Server QuickStart
Outcomes
Most AI apps are stuck in read-only mode. Arcade gives your AI the power to act — send Gmail, update Notion, message in Slack, and more.
You will Learn
- Install the Arcade Framework
- Start your server and connect to it from your favorite MCP client
- Call a simple
- Call a that requires a secret
- Create an Arcade
- Call a that requires authentication
Prerequisites
- Python 3.10 or higher
- For this guide, we’ll use uv as our package manager.
Create your virtual environment
In your terminal, run the following command to create and activate a virtual environment:
uv venv
source .venv/bin/activateInstall the Arcade CLI
In your terminal, run the following command to install the arcade-mcp package:
uv pip install arcade-mcpThis package includes the CLI and the arcade-mcp-server library.
Create Your Server
In your terminal, run the following command to scaffold a new Server called my_server:
arcade new my_server
cd my_serverThis generates a complete with:
- server.py Main server file with MCPApp and example
- pyproject.toml Dependencies and configuration
- .env.example Example
.envfile containing a secret required by one of the generated inserver.py
server.py includes proper structure with command-line argument handling. It creates an MCPApp with three sample :
greet: This has a single argument, the name of the person to greet. It requires no secrets or authwhisper_secret: This requires no arguments, and will output the last 4 characters of aMY_SECRET_KEYsecret.get_posts_in_subreddit: This tool has a single argument, a subreddit, and will return the latest posts on that subreddit, it requires the user to authenticate their reddit .
If you’re having issues with the
arcadecommand, please see the Troubleshooting section.
Setup the secrets in your environment
Secrets are sensitive strings like passwords, api-keys, or other tokens that grant access to a protected resource or API. Arcade includes the “whisper_secret” that requires a secret key to be set in your environment. If the secret is not set, the tool will return an error.
Environment Variable
You can create a .env file in the root of your and add your secret:
MY_SECRET_KEY="my-secret-value"The includes a .env.example file with the secret key name and example value.
You can rename it to .env to start using it.
mv .env.example .envConnect to Arcade to enable authenticated tool calling
Since the Reddit tool accesses information only available to your Reddit , you’ll need to authorize it. For this, you’ll need to create an Arcade account and connect to it from the terminal, run:
arcade loginFollow the instructions in your browser, and once you’ve finished, your terminal will be connected to your Arcade .
Run your MCP Server
Run your Server using one of the with the following commands in your terminal:
stdio transport (default)
uv run server.py stdioWhen using the stdio transport, it is common that the client will start the for you on a different environment, so you the MCP sever may not be able to access the secrets you have defined in your .env file. Please refer to the create a tool with secrets guide for more information.
You should see output like this in your terminal:
INFO | Starting server v1.0.0 (my_server)
INFO | Added tool: greet
INFO | Starting MCP server on http://127.0.0.1:8000Configure your MCP Client(s)
Now you can connect your server to apps that support MCP Clients, like AI assistants and IDEs. :
Cursor IDE
arcade configure cursor --host localTry it out!
Try calling your inside your assistant.
Here’s some prompts you can try:
- “What’s the latest post on r/?”
- “What’s the last 4 characters of my secret key?”
- “Greet me as Supreme Master”
Troubleshooting
arcade command not found or not working
If you’re getting issues with the arcade command, please make sure you did not install it outside of your virtual environment. For example, if your system-wide Python installation older than 3.10, you may need to uninstall arcade from that Python installation in order to the terminal to recognize the arcade command installed in your virtual environment.
The Reddit tool is not working
Ensure you run arcade login and follow the instructions in your browser to connect to your Arcade .
The Whisper Secret tool is not working
Ensure you have set the environment variable in your terminal or .env file, and that it matches the secret key defined in the @app.tool decorator.
Next Steps
- Try some of our prebuilt MCP Servers and get that work with your favorite integrations
- Learn more about the Tool Context and building with Arcade
- Learn how to evaluate tools to ensure they’re working correctly
- Deploy your server