Skip to Content
HomeBuild MCP Server QuickStart

Build MCP Server QuickStart

Outcomes

Build and run an Server with that you create.

You will Learn

  • Install arcade-mcp, the secure framework for building servers
  • 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 auth

Prerequisites

Install the Arcade CLI

In your terminal, run the following command to install the arcade-mcp package - Arcade’s CLI:

Terminal
uv tool install arcade-mcp

This will install the Arcade CLI as a uv tool , making it available system wide.

Create Your Server

In your terminal, run the following command to scaffold a new Server called my_server:

Terminal
arcade new my_server cd my_server/src/my_server

This generates a Python module with the following structure:

Terminal
my_server/ ├── src/ └── my_server/ ├── __init__.py ├── .env.example └── server.py └── pyproject.toml
  • server.py with MCPApp and example
  • pyproject.toml Dependencies and configuration
  • .env.example Example .env file containing a secret required by one of the generated in server.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 auth
  • whisper_secret: This requires no arguments, and will output the last 4 characters of a MY_SECRET_KEY secret that you can define in your .env file.
  • get_posts_in_subreddit: This has a single argument, a subreddit, and will return the latest posts on that subreddit, it requires the to authorize the tool to perform a read operation on their behalf.

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, , 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.

You can create a .env file at the same directory as your (server.py) and add your secret:

ENV
.env
MY_SECRET_KEY="my-secret-value"

The generated includes a .env.example file with the secret key name and example value. You can rename it to .env to start using it.

Terminal
mv .env.example .env

Connect to Arcade to unlock authorized 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:

Terminal
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 following commands in your terminal:

Terminal
uv run server.py stdio

When using the stdio transport, clients typically launch the as a subprocess. Because of this, the server may run in a different environment and not have access to secrets defined in your local .env file. Please refer to the create a tool with secrets guide for more information.

You should see output like this in your terminal:

Terminal
2025-11-03 13:46:11.041 | DEBUG | arcade_mcp_server.mcp_app:add_tool:242 - Added tool: greet 2025-11-03 13:46:11.042 | DEBUG | arcade_mcp_server.mcp_app:add_tool:242 - Added tool: whisper_secret 2025-11-03 13:46:11.043 | DEBUG | arcade_mcp_server.mcp_app:add_tool:242 - Added tool: get_posts_in_subreddit INFO | 13:46:11 | arcade_mcp_server.mcp_app:299 | Starting my_server v1.0.0 with 3 tools

Configure your MCP Client(s)

Now you can connect Clients to your :

Terminal
# Configure Cursor to use your MCP server with the default transport (stdio) arcade configure cursor # Configure Cursor to use your MCP server with the http transport arcade configure cursor --transport http

Try it out!

Try calling your inside your assistant.

Here’s some prompts you can try:

  • “Get some posts from the r/ subreddit”
  • “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 for 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. If you are using the stdio transport, then ensure the environment variable is set in the client’s configuration file.

Next Steps

Last updated on

Build MCP Server QuickStart | Arcade Docs