Commit graph

48 commits

Author SHA1 Message Date
Renato Byrro
4118df073a
Remove all Starter MCP Servers migrated to the starter-tools repo (#710)
Servers added to the `starter-tools` repo in the [PR
#20](https://github.com/ArcadeAI/starter-tools/pull/20).

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Deletes `toolkits/asana_api/arcade_asana_api/moar/openapi.json` (the
large Asana OpenAPI spec) from the repo.
> 
> - **Toolkits**:
>   - **Asana API**:
> - Remove `toolkits/asana_api/arcade_asana_api/moar/openapi.json`
(entire OpenAPI spec JSON).
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
61530b254aaca17c2652a4ed2085981481dcf468. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
2025-12-03 22:12:06 -03:00
Renato Byrro
f29886daa6
Remove servers migrated to the starter-tools repo (#706)
Servers migrated to the starter-tools repo in [PR
#18](https://github.com/ArcadeAI/starter-tools/pull/18).

These servers had tools generated with `dict` args and were revised.

The rest of the Starter servers in this repo will be migrated in a
subsequent PR.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Removes the Airtable API toolkit and adds a new Datadog API starter
toolkit with generated tools and supporting configs.
> 
> - **Removed**:
> - `toolkits/airtable_api/**` including all wrapper tools JSONs and the
Python package/configs.
> - **Added**:
> - `toolkits/datadog_api/**` with generated
`arcade_datadog_api/tools/__init__.py`, Makefile, LICENSE, pre-commit
and Ruff configs for the Datadog API starter toolkit.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
50354f0a19384bedd1ca2aa88cccc7f9cd4df6ae. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
2025-12-02 22:19:43 -03:00
Renato Byrro
5f89497198
HubSpot Automation & CMS Starter tools (#669) 2025-10-31 20:13:18 -03:00
Renato Byrro
a979c4d6ee
Hubspot Marketing & CRM starter tools (#667) 2025-10-31 18:20:48 -03:00
jottakka
d0587def37
Francisco/moar/update toolkits (#666)
Co-authored-by: Francisco Liberal <francisco@arcade.dev>
2025-10-31 14:40:21 -03:00
jottakka
de742ff4f1
[MOAR][Asana][Github] Adding GitHub and Asana starter toolkits (#663)
Co-authored-by: Francisco Liberal <francisco@arcade.dev>
2025-10-30 18:21:34 -03:00
Renato Byrro
447177e6a8
Exa.ai Starter MCP Server (#660) 2025-10-30 12:02:59 -03:00
jottakka
9d6eb10617
[MOAR][Clickup] Clickup Starter Toolkit (#656)
Co-authored-by: Francisco Liberal <francisco@arcade.dev>
2025-10-28 16:07:27 -03:00
jottakka
92cc1a1ab9
[MOAR] Adding Posthog to docker.txt (#655)
Co-authored-by: Francisco Liberal <francisco@arcade.dev>
2025-10-27 15:46:30 -03:00
Eric Gustin
33ee36d832
Fix ArcadeEngineApi naming (#647) 2025-10-23 17:33:17 -07:00
jottakka
152806e9d2
[MOAR][Ticktick] Moar ticktick toolkit (#646)
Co-authored-by: Francisco Liberal <francisco@arcade.dev>
2025-10-23 20:03:10 -03:00
jottakka
f05560bbf4
[MOAR][DATADOG] Adding DataDog starter toolkit (+590) (#633)
Co-authored-by: Francisco Liberal <francisco@arcade.dev>
2025-10-20 15:49:48 -03:00
jottakka
75fc298681
Updating Brightdata community pkg (#628)
Updating BrightData 
- Updating project.toml
- Fix linting issues (related to the repo configs)s
- Rename package from brightdata -> arcade-brightdata ( also will be
used by PyPI)
- Added to toolkits.txt so it can be deployed


Extra:
- Arcade new templates did not have the extra line at the end, so it has
been added.

---------

Co-authored-by: Francisco Liberal <francisco@arcade.dev>
2025-10-17 18:18:00 -03:00
jottakka
c22f9e302b
[MOAR][ZOHO-BOOKS] Adding Zoho Books Starter Tollkit (+511) (#630) 2025-10-16 19:47:31 -03:00
jottakka
fc4b141f8a
[MOAR][ZOHO CREATOR] Adding Zoho Creator Toolkit (#626)
Co-authored-by: Francisco Liberal <francisco@arcade.dev>
2025-10-16 15:47:05 -03:00
jottakka
d71521ac81
[MOAR][FIGMA] Figma Starter Toolkit (#621)
Co-authored-by: Francisco Liberal <francisco@arcade.dev>
2025-10-16 14:15:01 -03:00
Eric Gustin
0a2f2016b8
Use the open source Linkedin, Math, Zendesk servers (#629) 2025-10-16 09:47:46 -07:00
Renato Byrro
1f482d1eb2
Cursor Agents Starter MCP Server tools (#625) 2025-10-15 10:41:35 -03:00
Renato Byrro
63bc281abc
Freshservice Starter MCP Server tools (#623) 2025-10-14 22:27:58 -03:00
jottakka
4d0ae0cdce
[MOAR][AIRTABLE] Adding AirTable starter tools (+49) (#615)
Co-authored-by: Francisco Liberal <francisco@arcade.dev>
2025-10-13 15:13:39 -03:00
jottakka
fe94efaed7
[Moar][Miro] Miro tools added (#602)
Co-authored-by: Francisco Liberal <francisco@arcade.dev>
2025-10-13 15:11:56 -03:00
jottakka
64fb783cdd
[MOAR][Calendly] Adding Calendly starter toolkit (#605)
Co-authored-by: Francisco Liberal <francisco@arcade.dev>
2025-10-10 17:23:09 -03:00
jottakka
b89ba3372c
[MOAR][SquareUP] Adding square up toolkit (#596)
Adding square up toolkit

---------

Co-authored-by: Francisco Liberal <francisco@arcade.dev>
2025-10-10 17:03:56 -03:00
Renato Byrro
103732cc2e
Xero API Starter MCP server (#603) 2025-10-10 16:35:55 -03:00
Renato Byrro
56507d7112
Fix reference to arcade-box-api in toolkits.txt (#594) 2025-10-01 23:30:12 -03:00
Renato Byrro
565bbe0aa5
Box.com Starter MCP Server (#584)
Starter MCP Server generated from the official Box.com OpenAPI
specifications for versions
[2025.0](https://github.com/box/box-openapi/blob/main/openapi/openapi-v2025.0.json)
and
[2024.0](https://github.com/box/box-openapi/blob/main/openapi/openapi.json)
2025-10-01 23:05:16 -03:00
Renato Byrro
c518aa1319
Stripe Starter toolkit (#590)
Stripe Starter toolkit auto-generated from the official [OpenAPI
specification](https://raw.githubusercontent.com/stripe/openapi/refs/heads/master/openapi/spec3.json).
2025-10-01 21:42:38 -03:00
Eric Gustin
ed9e9901f5
Only build toolkits that we want to host (#580) 2025-09-24 19:53:56 -07:00
Renato Byrro
25718bbf77
Slack wrapper toolkit in Python with JSON definitions (#574)
finally!
2025-09-23 13:48:21 -03:00
Shub
0b1f513826
Add Simplified Linear Toolkit (#465)
This PR adds a simplified Linear toolkit focused on core functionality:

## What's Included

**Tools:**
- `get_issue` - Get detailed information about Linear issues
- `get_teams` - Get team information and details

**Models:**
- `DateRange` enum with comprehensive date range support (TODAY,
YESTERDAY, THIS_WEEK, LAST_WEEK, THIS_MONTH, LAST_MONTH, THIS_YEAR,
LAST_YEAR, LAST_7_DAYS, LAST_30_DAYS)
- Timezone-aware datetime handling following Google toolkit patterns

## What's Simplified

This toolkit has been streamlined by removing:
- Cycles management tools
- Projects management tools  
- Users management tools
- Workflows management tools
- Corresponding tests and evaluations for removed features

## Quality Assurance

- All linting and formatting checks pass
- Comprehensive test coverage for included functionality
- Follows established patterns from Google toolkit

---------

Co-authored-by: Eric Gustin <34000337+EricGustin@users.noreply.github.com>
2025-07-18 14:08:58 -07:00
Eric Gustin
07c52100f3
Split and rename multiple toolkits (#438)
# PR Description
## Split toolkits

This PR splits the `Microsoft`, `Google`, and `Search` toolkits into
multiple toolkits each.
 * `Microsoft` --> `OutlookCalendar`, `OutlookMail`.
* `Google` -----> `GoogleCalendar`, `GoogleContacts`, `GoogleDocs`,
`GoogleDrive`, `Gmail`, `GoogleSheets`
* `Search` -----> `GoogleFinance`, `GoogleFlights`, `GoogleHotels`,
`GoogleJobs`, `GoogleMaps`, `GoogleNews`, `GoogleSearch`,
`GoogleShopping`, `Walmart`, `Youtube`

> The original monolithic toolkits (`Microsoft`, `Google`, `Search`) are
not removed in this PR. The plan is to keep those toolkits around while
we
> 1. Stop documenting the toolkits, 
> 2. Stop displaying the toolkits in the dashboard, and 
> 3. Help customers migrate over to the new split toolkits.

## Rename toolkits
This PR renames the following toolkits 
* `Web` ------------> `Firecrawl`
* `CodeSandbox` ---> `E2B`

> The `Web` and `CodeSandbox` toolkits are not removed in this PR. The
plan is to keep them around while we
> 1. Stop documenting the toolkits, 
> 2. Stop displaying the toolkits in the dashboard, and 
> 3. Help customers migrate over to the new renamed toolkits.

## Rename tools
Since toolkit names were changed, this called for some tools to be
renamed as well.
* `GoogleSearch.SearchGoogle` ----------------> `GoogleSearch.Search`
* `GoogleShopping.SearchShoppingProducts` --->
`GoogleShopping.SearchProducts`
* `Walmart.SearchWalmartProducts` ------------> `Walmart.SearchProducts`
* `Walmart.GetWalmartProductDetails` --------->
`Walmart.GetProductDetails`
* `Youtube.SearchYoutubeVideos` -------------->
`Youtube.SearchForVideos`

## Google File Picker
Improvements to the Google File Picker experience were also added in
this PR.

The following tools will ALWAYS provide llm_instructions in their
response to "let the end-user know that they have the option to select
more files via the file picker url if they want to":
* `GoogleDocs.SearchDocuments`
* `GoogleDocs.SearchAndRetrieveDocuments`
* `GoogleDrive.GetFileTreeStructure`

The following tools will only provide the file picker URL if a 404 or
403 from the Google API:
* `GoogleDocs.InsertTextAtEndOfDocument`
* `GoogleDocs.GetDocumentById`
* `GoogleSheets.GetSpreadsheet`
* `GoogleSheets.WriteToCell`

Also, a standalone `GoogleDrive.GenerateGoogleFilePickerUrl` tool
exists.

## Other
* The `SearchDocuments` and `SearchAndRetrieveDocuments` tools used to
be organized within the Drive portion of the Google toolkit, but I moved
these into the new GoogleDocs toolkit because they are specific to Docs.

# Progress

- [x] `OutlookCalendar`
- [x] `OutlookMail`
- [x] `GoogleFinance`
- [x] `GoogleFlights`
- [x] `GoogleHotels`
- [x] `GoogleJobs`
- [x] `GoogleMaps`
- [x] `GoogleNews`
- [x] `GoogleSearch`
- [x] `GoogleShopping`
- [x] `Walmart`
- [x] `Youtube`
- [x] `GoogleCalendar`
- [x] `GoogleContacts`
- [x] `GoogleDocs`
- [x] `GoogleDrive`
- [x] `Gmail`
- [x] `GoogleSheets`
- [x] `Firecrawl`
- [x] `E2B`
- [x] File picker

# Discussion
* Repeated code is a consequence of splitting toolkits that use the same
provider. I am open to any ideas that would allow multiple toolkits to
reference common code. Comment your ideas in this PR.
2025-07-09 16:00:09 -07:00
Renato Byrro
a538f4bf81
Jira Toolkit (#407)
Unusually big PR, in large part due to Jira's data model complexities.
2025-06-11 12:06:33 -03:00
Eric Gustin
6bc6f0c574
Add Confluence toolkit (#406)
12 tools for the new Confluence toolkit.

| Name | Description |

|----------------------------------|------------------------------------------------------------------------------------|
| Confluence.CreatePage | Create a new page at the root of the given
space. |
| Confluence.UpdatePageContent | Update a page's content. |
| Confluence.RenamePage | Rename a page by changing its title. |
| Confluence.GetPage | Retrieve a SINGLE page's content by its ID or
title. |
| Confluence.GetPagesById | Get the content of MULTIPLE pages by their
ID in a single efficient request. |
| Confluence.ListPages | Get the content of multiple pages by their ID.
|
| Confluence.ListAttachments | List attachments in a workspace. |
| Confluence.GetAttachmentsForPage | Get attachments for a page by its
ID or title. |
| Confluence.SearchContent | Search for content in Confluence. |
| Confluence.GetSpace | Get the details of a space by its ID or key. |
| Confluence.ListSpaces | List all spaces sorted by name in ascending
order. |
| Confluence.GetSpaceHierarchy | Retrieve the full hierarchical
structure of a Confluence space as a tree structure.|

### Confluence Clients
Confluence has deprecated most of their V1 endpoints, so most of the
tools use V2. However, we still need a V1 client to support search. The
V1 search API has not been deprecated yet, because there is no V2
equivalent. But we need to be aware in the future for when this
deprecation happens.


### Future work
* Content of pages are returned in the Confluence `storage` format. This
is the format that Confluence uses to store pages internally. We should
understand the storage format more deeply, and write utility function to
transform this format into plain text.
* Better protections against extremely large pages. I've tested up to
6,000 word pages.
* Tools for blog posts
* Tool for getting the children of a page. (`get_space_hierarchy` will
suffice for now)
* Allow for numerical titles
2025-05-22 13:18:19 -07:00
Renato Byrro
b9afa1b5cf
Asana Toolkit (#381) 2025-05-12 14:59:52 -03:00
Eric Gustin
f5774fd4ae
Add Microsoft toolkit to worker (#384) 2025-04-30 17:27:04 -07:00
Eric Gustin
4466f3eef9
Remove Asana from worker toolkit list (#383)
The Asana toolkit is not published yet, so it cannot be added to the
worker's toolkit list. This is causing container build/publish on main
branch to fail.
2025-04-29 11:22:08 -07:00
Renato Byrro
60c3bbe3fa
Add Asana auth class (#380) 2025-04-29 10:09:21 -07:00
Renato Byrro
de227c5f51
Hubspot toolkit (#363)
Reviewer:

1. DM me to get a client ID/secret for the Hubspot app and login
credentials for a sample Hubspot account
2. For now, you'll need to run the engine on the branch
`nate/token-introspection` for the auth flow to work with Hubspot
3. Add the following to `auth.providers` in your engine yaml:

```yaml
- id: arcade-hubspot
  description: 'Hubspot provider'
  enabled: true
  type: oauth2
  provider_id: hubspot
  client_id: ${env:HUBSPOT_CLIENT_ID}
  client_secret: ${env:HUBSPOT_CLIENT_SECRET}
```
2025-04-22 17:43:15 -03:00
Eric Gustin
8f1dd30960
Add Dropbox toolkit to Worker (#371) 2025-04-21 13:20:40 -07:00
Eric Gustin
5bfb498188
Add Stripe toolkit to Worker (#364) 2025-04-17 11:15:09 -07:00
Eric Gustin
b1d293ac28
Add Reddit toolkit to worker (#350) 2025-04-07 11:11:11 -07:00
Sterling Dreyer
227f02d2fd
Add Notion and Youtube toolkits to worker (#322) 2025-03-21 15:33:21 -07:00
Sam Partee
09a0784cd5
Improve Docker Build and Deployment for Arcade Worker (#205)
This PR enhances the Docker build and deployment process for the Arcade
Worker by:

- **Modularizing Docker Builds:**
- Introduces a new `INSTALL_TOOLKITS` build argument in the `Dockerfile`
to conditionally include toolkits. this enables the creation of a
`arcadeai/worker-base` which can be used to build custom containers in a
multi-stage build. an example of this is included in the example dir.
- Adds `docker-base` Makefile target to build a lightweight base image
without toolkits.

- **Publishing to GitHub Container Registry (GHCR):**
- Adds Makefile targets `publish-ghcr` and `gh-login` for pushing images
to GHCR.
  - Supports publishing both base and full images with toolkits to GHCR.

- **Docker Compose:**
  - Add Docker compose file and setup
  - Renames the `actor` service to `worker`
- Adds an `nginx` service in `docker-compose.yml` to proxy requests to
the Arcade Engine.
  - Introduces an `nginx.conf` file for the Nginx service.

- **Streamlining Toolkit Installation:**
- Moves toolkit installation from the `start.sh` script to the Docker
build process.
- Creates a `toolkits.txt` file to manage toolkit dependencies which can
be edited easily when we want to add a new toolkit. Developers can also
use this approach as shown in the example.

- **Improving Configuration Files:**
- Updates `docker.engine.yaml` and `env.example` to align with the new
setup.


TODO:
- CI/CD needs to be adjusted so that images are pushed to ghcr on
release.
- AWS resources need to be renamed actor -> worker @EricGustin 

This can go in after the above two items are resolved.

---------

Co-authored-by: Wils Dawson <wils@arcade-ai.com>
Co-authored-by: Eric Gustin <34000337+EricGustin@users.noreply.github.com>
Co-authored-by: sdreyer <sterling@arcade-ai.com>
Co-authored-by: Sterling Dreyer <sdreyer21@gmail.com>
Co-authored-by: Nate Barbettini <nathanaelb@gmail.com>
2025-01-23 12:57:24 -08:00
Sam Partee
52d82a2789
Refactor Docker Build Process (#78)
This PR improves the Docker build process by shifting from building the
project within the Docker image to using pre-built wheels. The main
changes are:

1. **Updated Makefile:**
- **`VERSION` Variable:** Set to `0.1.0.dev0` to reflect the new default
development version.
   - **`docker` Target:**
- Added steps to build the Arcade and toolkit wheels before building the
Docker image.
- Exports the required extras (`fastapi`, `evals`) to a
`requirements.txt` file.
   - **`full-dist` Target:**
     - Builds distributions for the main project and all toolkits.
     - Copies all the built wheels to a centralized `./dist` directory.
   - **`clean-dist` Target:**
- Cleans build artifacts from `./dist`, `arcade/dist`, and
`toolkits/*/dist` directories.

2. **Modified Dockerfile:**
- **Copy Pre-built Wheels:** Adjusted to copy wheels and the
`requirements.txt` from the `./dist` directory into the Docker image.
   - **Installation Process:**
     - Installs the Arcade wheel with the necessary extras.
- Installs toolkits from the copied wheel files, eliminating the need to
build them inside the Docker image.
- **Simplification:** Removed unnecessary commands, such as installing
build tools and copying the entire codebase, to streamline the
Dockerfile.

3. **Toolkits `pyproject.toml` Updates:**
- Changed the `arcade-ai` dependency version from `^0.1.0` to `0.1.*` in
all toolkit `pyproject.toml` files to ensure compatibility with the new
versioning scheme.

4. **Docker Makefile Adjustments:**
- Set the `VERSION` variable to `0.1.0.dev0` to align with the main
Makefile.
- Ensures consistent versioning across Docker-related build processes.

**Benefits:**

- **Efficiency:** Building wheels outside the Docker context reduces the
Docker image build time and resource consumption. overall docker image
size reduced by **1Gb**!!!
- **Reliability:** Using pre-built wheels ensures consistency across
different environments and simplifies dependency management.
- **Maintainability:** The Dockerfile and Makefiles are cleaner and more
straightforward, making them easier to understand and maintain.


**Notes:**

- Developers should run `make docker` to build and run the Docker
container using the new process.
- Ensure that any CI/CD pipelines are updated to accommodate these
changes in the build process. @sdreyer
2024-10-01 19:05:13 -07:00
Eric Gustin
53fa083efd
Add initial X toolkit, remove Github toolkit, rename math toolkit (#52)
* Renamed `arcade_arithmetic` to `arcade_math`
* Deleted `arcade_github` toolkit for the next release. This will be
reintroduced later.
* Added 5 tools to `arcade_x` toolkit
- post_tweet
- delete_tweet_by_id
- search_recent_tweets_by_username
- search_recent_tweets_by_keywords
- lookup_single_user_by_username
2024-09-23 13:42:22 -07:00
Eric Gustin
43198a3a9b
Add New Gmail Tools To The Google Toolkit (#41)
# PR Description

## Summary

Changes include renaming the `arcade_gmail` toolkit to `arcade_google`,
adding unit tests for Google toolkit, add new tools to the Google
toolkit.
## Changes

### Makefile
- Added a new `make test-toolkits` target to iterate over all toolkits
and run pytest on each one.

### Added new tools for the google toolkit

1. `send_email`
This tool sends an email using the Gmail API.

2. `write_draft_email`
This tool creates a draft email using the Gmail API. 

3. `update_draft_email`
This tool updates an existing draft email using the Gmail API.

4. `send_draft_email`
This tool sends a draft email using the Gmail API.

5. `delete_draft_email`
This tool deletes a draft email using the Gmail API. 

6. `list_draft_emails`
This tool retrieves a list of draft emails using the Gmail API.

7. `list_emails_by_header`
This tool searches for emails by a specific header using the Gmail API.
- `sender`: The sender's email address to search for.
- `limit`: The maximum number of emails to retrieve.

8. `list_emails`
This tool retrieves a list of emails using the Gmail API.

9. `trash_email`
This tool moves an email to the trash using the Gmail API.
2024-09-19 10:18:49 -07:00
Sam Partee
aee706e118
Developer Makefile and Docker steps (#26)
Simpler docker build for the Actor and makefile
2024-08-29 21:24:46 -07:00
Sam Partee
e7ccbe0efa
Dockerfiles for Actor container (#18)
#### Summary
This PR introduces key updates to the Arcade AI codebase, focusing on
improving the CLI tool, refining the Docker build process, and enhancing
documentation within the Gmail toolkit.

#### Key Changes:
1. **Docker Build**:
- Added the `--no-cache` option to the `docker-build` target in the
Makefile to ensure fresh builds, preventing issues related to cached
layers.

2. **CLI Tool**:
- Introduced a new optional `prompt` parameter in the `chat` command,
allowing users to customize the system role's prompt. A default prompt
is now provided if none is specified.

3. **Gmail Toolkit**:
- Updated the `write_draft` function with improved docstrings for
clearer guidance and maintainability.

#### Impact:
- **Developer Workflow**: Improved Docker reliability and enhanced CLI
flexibility.
- **User Experience**: More customizable interactions in the CLI and
better documentation in the Gmail toolkit.

Please review and provide feedback.
2024-08-22 16:28:42 -07:00