Arcade AI

Platforms & APIs 💻 Python ⚖️ MIT 🟢 Actively maintained
1.0k stars

Arcade MCP is an open-source Python framework for building Model Context Protocol (MCP) servers and tools. It solves the problem of creating custom MCP tools for internal APIs, custom OAuth providers, and domain-specific integrations. It is for developers who need MCP tools beyond the prebuilt catalog.

✨ Key features

  • Decorator API covering full MCP spec: tools, resources, prompts, sampling, elicitation, progress, logging.
  • Authorized tool calling with OAuth handling, token refresh, and per-call scoping.
  • Vendor-neutral: works with any MCP client, LLM, or agent framework.
  • Includes arcade evals for testing tool-call accuracy against real LLMs.
  • One-command deployment to Arcade Cloud with arcade deploy.
  • 22 helper classes for popular OAuth providers plus generic OAuth2 support.

🎯 Use cases

  • Build custom MCP tools for internal APIs not in the prebuilt catalog.
  • Create tools that require OAuth authentication with automatic token management.
  • Develop domain-specific MCP servers for integrations like GitHub, Slack, or Notion.
  • Deploy MCP servers to Arcade Cloud for managed hosting and observability.

📦 Installation

🧰 Requirements: Python 3.10+ and uv package manager. Optional: Arcade account for cloud deployment and OAuth flows.

uv tool install arcade-mcp

For source installation:

git clone https://github.com/ArcadeAI/arcade-mcp.git
cd arcade-mcp
make install

🚀 Usage

from typing import Annotated
from arcade_mcp_server import MCPApp

app = MCPApp(name="my_server", version="1.0.0")

@app.tool
def greet(name: Annotated[str, "Name to greet"]) -> str:
    """Greet a person by name."""
    return f"Hello, {name}!"

if __name__ == "__main__":
    app.run(transport="stdio")

Run with uv run server.py for stdio or uv run server.py http for HTTP+SSE.

❓ FAQ

What Python version is required?

Python 3.10+ is required.

How do I install the CLI?

Install with uv tool install arcade-mcp.

Can I use this without Arcade Cloud?

Yes, standalone is supported. Run your server in any MCP client over stdio or HTTP, and supply your own access tokens for tools with requires_auth.

How does authorized tool calling work?

Tools declare OAuth scopes or API keys, and Arcade handles OAuth flows, token storage, refresh, and injection at runtime. The client and LLM never see the secret values.

📊 Repository

Stars★ 1,020
Forks🍴 113
Open issues🐛 22
Last commit🕒 Sep 4, 2026
Created📅 Apr 2024
Language💻 Python
License⚖️ MIT

🤖 Overview, features, install steps and FAQ were generated from the project's README on Sep 4, 2026. Always check the original source before running commands.