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/activate
Install the Arcade CLI
In your terminal, run the following command to install the arcade-mcp
package:
uv pip install arcade-mcp
This 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_server
This generates a complete with:
- server.py Main server file with MCPApp and example
- pyproject.toml Dependencies and configuration
- .env.example Example
.env
file 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_KEY
secret.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
arcade
command, 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 .env
Connect 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 login
Follow 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:
HTTP transport (default)
uv run server.py http
For HTTP transport, view your server’s API docs at http://127.0.0.1:8000/docs .
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:8000
Configure 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 --from-local
Try 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