ArcadeAI/arcade-mcp

MCP Server Framework and Tool Development library for building custom capabilities into agents.

994 ★104 forksPythonUpdated 7d ago

What you need to know

Open-source Python framework for building MCP servers and tools — a decorator API covering the full MCP spec (tools, resources, prompts, sampling, elicitation, progress, logging) with 'authorized tool calling' (declare OAuth scopes, Arcade handles OAuth, token refresh, and per-call scoping so the client and LLM never see secrets); powers the 7,500+ prebuilt tools across 81 MCP servers at Arcade.dev.

Install

uv tool install arcade-mcp
arcade new my_server   # scaffold a new server (creates pyproject.toml, .env.example, server.py)

Usage

  • Write a tool with the decorator API, e.g. `@app.tool(requires_auth=GitHub(scopes=["repo"])) async def list_my_repos(context: Context) -> list[str]`.
  • Run `uv run server.py` (stdio, for Claude Desktop / CLI tools) or `uv run server.py http` (HTTP+SSE, for Cursor and VS Code; docs at http://127.0.0.1:8000/docs).
  • Configure clients: `arcade configure claude` (stdio), `arcade configure cursor --transport http --port 8080`, `arcade configure vscode --entrypoint my_server.py`.
  • Deploy to Arcade Cloud with `arcade login` then `arcade deploy`; standalone self-hosting over stdio or HTTP is also supported.

Key features

  • Decorator API covering the full MCP spec: tools, resources, prompts, sampling, elicitation, progress, logging.
  • Authorized tool calling — declare `requires_auth=...` and Arcade handles OAuth challenges, token storage/refresh, and per-call scoping; secrets are injected at runtime and never visible to the client or LLM.
  • 22 helper OAuth classes ship with the framework (Asana, Atlassian, Figma, GitHub, Google, Notion, Slack, Spotify, X, Zoom, etc.) plus a generic OAuth2 class.
  • Vendor-neutral: any MCP client, any LLM, any agent framework (LangChain, Mastra, Pydantic AI, CrewAI, Google ADK, OpenAI Agents).
  • `arcade evals` for testing tool-call accuracy against real LLMs; `arcade deploy` for one-command hosting on Arcade Cloud.

Best for

Building custom MCP tools/servers that need managed OAuth and secret handling for SaaS integrations (internal APIs, custom OAuth providers, domain-specific tools).

Caveats

  • Requires Python 3.10+ and uv.
  • End-user OAuth authorization flows are fulfilled through Arcade Cloud; when running standalone you must supply your own access tokens for requires_auth tools.
  • Production HTTP endpoints should be protected with Resource Server Auth (OAuth 2.1 bearer tokens validated against your IdP).
Platforms: Linux · macOS · WindowsClients: Claude Desktop · CLI tools · Cursor · VS Code
Documentation ↗

Reviewed 2026-08-07

Topics

aiarcadearcade-aiclaudeclaude-codeclaude-mcpmcpmcp-frameworkmcp-gatewaymcp-runtimemcp-servermcp-serversmcp-toolsmcpservermodel-context-protocolmodel-context-protocol-sdkpython
View on GitHub ↗
Stars
994★
Forks
104
Language
Python
License
MIT
Created
2024-04-26
Last push
2026-07-31