arcade-mcp/README.md
2024-10-25 20:14:30 -07:00

277 lines
14 KiB
Markdown

<h3 align="center">
<a name="readme-top"></a>
<img
src="https://docs.arcade-ai.com/images/logo/arcade-ai-logo.png"
height="200"
>
</h3>
<div align="center">
<a href="https://github.com/arcadeai/arcade-ai/blob/main/LICENSE">
<img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License">
</a>
<a href="https://pepy.tech/project/arcade-ai">
<img src="https://static.pepy.tech/badge/arcade-ai" alt="Downloads">
</a>
<a href="https://github.com/ArcadeAI/arcade-ai/graphs/contributors">
<img src="https://img.shields.io/github/contributors/arcadeai/arcade-ai.svg" alt="GitHub Contributors">
</a>
<a href="https://arcade-ai.com">
<img src="https://img.shields.io/badge/Visit_Our_Website-orange" alt="Visit arcade-ai.com">
</a>
</div>
<div>
<p align="center">
<a href="https://x.com/TryArcade">
<img src="https://img.shields.io/badge/Follow%20on%20X-000000?style=for-the-badge&logo=x&logoColor=white" alt="Follow on X" />
</a>
<a href="https://www.linkedin.com/company/arcade-ai">
<img src="https://img.shields.io/badge/Follow%20on%20LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white" alt="Follow on LinkedIn" />
</a>
<a href="https://discord.com/invite/GUZEMpEZ9p">
<img src="https://img.shields.io/badge/Join%20our%20Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Join our Discord" />
</a>
</p>
</div>
<p align="center">
<a href="https://docs.arcade-ai.com" target="_blank">Docs</a>
<a href="https://docs.arcade-ai.com/integrations" target="_blank">Integrations</a>
<a href="https://github.com/ArcadeAI/cookbook" target="_blank">Cookbook</a>
<a href="https://github.com/ArcadeAI/arcade-py" target="_blank">Python Client</a>
<a href="https://github.com/ArcadeAI/arcade-js" target="_blank">JavaScript Client</a>
</p>
## What is Arcade AI?
[Arcade AI](https://arcade-ai.com?ref=github) offers developer-focused tooling and APIs designed to improve the capabilities of LLM applications and agents.
By providing an authentication and authorization layer for agents and the tools agents use, Arcade AI connects agentic applications with your users' data and services - like accessing their Gmail, GitHub, Zoom, Spotify, LinkedIn, and more.
To learn more, check out our [documentation](https://docs.arcade-ai.com).
_Pst. hey, you, join our stargazers! It's free!_
<a href="https://github.com/arcadeai/arcade-ai">
<img src="https://img.shields.io/github/stars/arcadeai/arcade-ai.svg?style=social&label=Star&maxAge=2592000" alt="GitHub stars">
</a>
## Quickstart
### Requirements
1. An **[Arcade AI account](https://arcade-ai.typeform.com/early-access)** (current a waitlist)
2. **Python 3.10+**. Verify your Python version by running `python --version` or `python3 --version` in your terminal
3. **pip**, the Python package installer that is typically included with Python
### Installation
```bash
pip install 'arcade-ai[fastapi]'
```
Then login to your account (we're working through the waitlist as fast as we can!)
```bash
arcade login
```
This will open a browser window to login.
### Verify Installation using `arcade chat`
The `arcade-ai` package comes with a CLI app called `arcade chat` that is used to test tools as you develop them.
By default, `arcade chat` will connect to the hosted version of Arcade AI with built-in tools (found in `toolkits`).
```bash
arcade chat
```
This launches a chat with the Arcade Cloud Engine (hosted at `api.arcade-ai.com`). All pre-built Arcade tools are available to use.
For example, try asking:
```
star the ArcadeAI/arcade-ai repo on Github
```
Arcade AI will ask you to authorize with GitHub, and then the AI assistant will star the [ArcadeAI/arcade-ai](https://github.com/ArcadeAI/arcade-ai) repo on your behalf.
You'll see output similar to this:
```
Assistant (gpt-4o):
I starred the ArcadeAI/arcade-ai repo on Github for you!
```
You can use Ctrl-C to exit the chat at any time.
## Arcade Cloud
Arcade Cloud is a hosted version of the Arcade AI engine that hosts a number of prebuilt toolkits for interacting with a variety of services.
### Prebuilt Toolkits
Arcade AI offers a number of prebuilt toolkits that can be used by agents to interact with a variety of services.
<table>
<thead>
<tr>
<th style="text-align: center;">Service</th>
<th style="text-align: center;">Auth Type</th>
<th style="text-align: center;">Toolkit</th>
<th style="text-align: center;">Documentation</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center;"><img src="https://docs.arcade-ai.com/images/icons/github.png" alt="GitHub" width="30" /></td>
<td style="text-align: center;">OAuth</td>
<td style="text-align: center;"><a href="https://github.com/ArcadeAI/arcade-ai/tree/main/toolkits/github">Github</a></td>
<td style="text-align: center;"><a href="https://docs.arcade-ai.com/integrations/github">GitHub Toolkit Docs</a></td>
</tr>
<tr>
<td style="text-align: center;"><img src="https://docs.arcade-ai.com/images/icons/gmail.png" alt="Gmail" width="30" /></td>
<td style="text-align: center;">OAuth</td>
<td style="text-align: center;"><a href="https://github.com/ArcadeAI/arcade-ai/tree/main/toolkits/google/arcade_google/tools/gmail">Google</a></td>
<td style="text-align: center;"><a href="https://docs.arcade-ai.com/integrations/toolkits/gmail">Gmail Toolkit Docs</a></td>
</tr>
<tr>
<td style="text-align: center;"><img src="https://docs.arcade-ai.com/images/icons/google_calendar.png" alt="Google Calendar" width="30" /></td>
<td style="text-align: center;">OAuth</td>
<td style="text-align: center;"><a href="https://github.com/ArcadeAI/arcade-ai/tree/main/toolkits/google/arcade_google/tools/calendar">Google</a></td>
<td style="text-align: center;"><a href="https://docs.arcade-ai.com/integrations/toolkits/google/calendar">Google Calendar Toolkit Docs</a></td>
</tr>
<tr>
<td style="text-align: center;"><img src="https://docs.arcade-ai.com/images/icons/google_docs.png" alt="Google Docs" width="30" /></td>
<td style="text-align: center;">OAuth</td>
<td style="text-align: center;"><a href="https://github.com/ArcadeAI/arcade-ai/tree/main/toolkits/google/arcade_google/tools/docs">Google</a></td>
<td style="text-align: center;"><a href="https://docs.arcade-ai.com/integrations/toolkits/google/docs">Google Docs Toolkit Docs</a></td>
</tr>
<tr>
<td style="text-align: center;"><img src="https://docs.arcade-ai.com/images/icons/google_drive.png" alt="Google Drive" width="30" /></td>
<td style="text-align: center;">OAuth</td>
<td style="text-align: center;"><a href="https://github.com/ArcadeAI/arcade-ai/tree/main/toolkits/google/arcade_google/tools/drive">Google</a></td>
<td style="text-align: center;"><a href="https://docs.arcade-ai.com/integrations/toolkits/google/drive">Google Drive Toolkit Docs</a></td>
</tr>
<tr>
<td style="text-align: center;"><img src="https://docs.arcade-ai.com/images/icons/serpapi.png" alt="Search" width="30" /></td>
<td style="text-align: center;">API Key</td>
<td style="text-align: center;"><a href="https://github.com/ArcadeAI/arcade-ai/tree/main/toolkits/search">Search</a></td>
<td style="text-align: center;"><a href="https://docs.arcade-ai.com/integrations/toolkits/search">Search Toolkit Docs</a></td>
</tr>
<tr>
<td style="text-align: center;"><img src="https://docs.arcade-ai.com/images/icons/slack.png" alt="Slack" width="30" /></td>
<td style="text-align: center;">OAuth</td>
<td style="text-align: center;"><a href="https://github.com/ArcadeAI/arcade-ai/tree/main/toolkits/slack">Slack</a></td>
<td style="text-align: center;"><a href="https://docs.arcade-ai.com/integrations/toolkits/slack">Slack Toolkit Docs</a></td>
</tr>
<tr>
<td style="text-align: center;"><img src="https://docs.arcade-ai.com/images/icons/web.png" alt="Web" width="30" /></td>
<td style="text-align: center;">API Key</td>
<td style="text-align: center;"><a href="https://github.com/ArcadeAI/arcade-ai/tree/main/toolkits/web">Web</a></td>
<td style="text-align: center;"><a href="https://docs.arcade-ai.com/integrations/toolkits/web">Web Toolkit Docs</a></td>
</tr>
<tr>
<td style="text-align: center;"><img src="https://docs.arcade-ai.com/images/icons/twitter.png" alt="Twitter" width="30" /></td>
<td style="text-align: center;">OAuth</td>
<td style="text-align: center;"><a href="https://github.com/ArcadeAI/arcade-ai/tree/main/toolkits/x">X</a></td>
<td style="text-align: center;"><a href="https://docs.arcade-ai.com/integrations/toolkits/X">X Toolkit Docs</a></td>
</tr>
</tbody>
</table>
<br>
### Supported Auth Providers
<table>
<thead>
<tr>
<th style="text-align: center;">Provider</th>
<th style="text-align: center;">Name</th>
<th style="text-align: center;">Documentation</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center;"><img src="https://docs.arcade-ai.com/images/icons/github.png" alt="GitHub" width="30" /></td>
<td style="text-align: center;">github</td>
<td style="text-align: center;"><a href="https://docs.arcade-ai.com/integrations/auth/github">GitHub Auth Docs</a></td>
</tr>
<tr>
<td style="text-align: center;"><img src="https://docs.arcade-ai.com/images/icons/google.png" alt="Google" width="30" /></td>
<td style="text-align: center;">google</td>
<td style="text-align: center;"><a href="https://docs.arcade-ai.com/integrations/auth/google">Google Auth Docs</a></td>
</tr>
<tr>
<td style="text-align: center;"><img src="https://docs.arcade-ai.com/images/icons/linkedin.png" alt="LinkedIn" width="30" /></td>
<td style="text-align: center;">linkedin</td>
<td style="text-align: center;"><a href="https://docs.arcade-ai.com/integrations/auth/linkedin">LinkedIn Auth Docs</a></td>
</tr>
<tr>
<td style="text-align: center;"><img src="https://docs.arcade-ai.com/images/icons/msft.png" alt="Microsoft" width="30" /></td>
<td style="text-align: center;">microsoft</td>
<td style="text-align: center;"><a href="https://docs.arcade-ai.com/integrations/auth/microsoft">Microsoft Auth Docs</a></td>
</tr>
<tr>
<td style="text-align: center;"><img src="https://docs.arcade-ai.com/images/icons/slack.png" alt="Slack" width="30" /></td>
<td style="text-align: center;">slack</td>
<td style="text-align: center;"><a href="https://docs.arcade-ai.com/integrations/auth/slack">Slack Auth Docs</a></td>
</tr>
<tr>
<td style="text-align: center;"><img src="https://docs.arcade-ai.com/images/icons/spotify.png" alt="Spotify" width="30" /></td>
<td style="text-align: center;">spotify</td>
<td style="text-align: center;"><a href="https://docs.arcade-ai.com/integrations/auth/spotify">Spotify Auth Docs</a></td>
</tr>
<tr>
<td style="text-align: center;"><img src="https://docs.arcade-ai.com/images/icons/twitter.png" alt="X" width="30" /></td>
<td style="text-align: center;">x</td>
<td style="text-align: center;"><a href="https://docs.arcade-ai.com/integrations/auth/X">X Auth Docs</a></td>
</tr>
<tr>
<td style="text-align: center;"><img src="https://docs.arcade-ai.com/images/icons/zoom.png" alt="Zoom" width="30" /></td>
<td style="text-align: center;">zoom</td>
<td style="text-align: center;"><a href="https://docs.arcade-ai.com/integrations/auth/zoom">Zoom Auth Docs</a></td>
</tr>
<tr>
<td style="text-align: center;"><img src="https://docs.arcade-ai.com/images/icons/oauth2.png" alt="OAuth 2.0" width="30" /></td>
<td style="text-align: center;">oauth2</td>
<td style="text-align: center;"><a href="https://docs.arcade-ai.com/integrations/auth/oauth-2.0">Generic OAuth2 Auth Docs</a></td>
</tr>
</tbody>
</table>
### Building Your Own Tools
Learn how to build your own tools by following our [creating a custom toolkit guide](https://docs.arcade-ai.com/tools/overview).
### Evaluating Tools
Arcade AI enables you to evaluate your custom tools to ensure they function correctly with the AI assistant, including defining evaluation cases and using different critics.
Learn how to evaluate your tools by following our [evaluating tools guide](https://docs.arcade-ai.com/home/evaluate-tools/create-an-evaluation-suite).
### Models
<img src="https://docs.arcade-ai.com/images/icons/openai.png" alt="" width="30" height="30" style="vertical-align: top;" /><img src="https://docs.arcade-ai.com/images/icons/anthropic.png" alt="" width="30" height="30" style="vertical-align: top;" /><img src="https://docs.arcade-ai.com/images/icons/ollama.png" alt="" width="30" height="30" style="vertical-align: top;" /><img src="https://docs.arcade-ai.com/images/icons/groq.png" alt="" width="30" height="30" style="vertical-align: top;" />
<br><br>
Arcade AI supports a variety of model providers when using the Arcade AI LLM API.
To see all available models, refer to the [models documentation](https://docs.arcade-ai.com/integrations/models/openai).
## Contributing
We love contributions! Please read our [contributing guide](CONTRIBUTING.md) before submitting a pull request. If you'd like to self-host, refer to the [self-hosting documentation](https://docs.arcade-ai.com/home/install/overview).
## Contributors
<a href="https://github.com/ArcadeAI/arcade-ai/graphs/contributors">
<img alt="contributors" src="https://contrib.rocks/image?repo=ArcadeAI/arcade-ai"/>
</a>
<p align="right" style="font-size: 14px; color: #555; margin-top: 20px;">
<a href="#readme-top" style="text-decoration: none; color: #007bff; font-weight: bold;">
↑ Back to Top ↑
</a>
</p>