diff --git a/app/en/mcp-servers/productivity/luma-api/page.mdx b/app/en/mcp-servers/productivity/luma-api/page.mdx new file mode 100644 index 000000000..a0f633526 --- /dev/null +++ b/app/en/mcp-servers/productivity/luma-api/page.mdx @@ -0,0 +1,1313 @@ +# LumaApi + +import StarterToolInfo from "@/app/_components/starter-tool-info"; +import ToolInfo from "@/app/_components/tool-info"; +import Badges from "@/app/_components/badges"; +import TabbedCodeBlock from "@/app/_components/tabbed-code-block"; +import TableOfContents from "@/app/_components/table-of-contents"; +import ToolFooter from "@/app/_components/tool-footer"; +import { Callout } from "nextra/components"; + + + + + + + +The LumaApi MCP Server offers a comprehensive suite of tools for managing events and calendars within the Luma platform. Users can efficiently perform actions such as: + +- Create, update, and manage events, including scheduling and ticketing. +- Retrieve detailed information about events, guests, and users. +- Manage guest statuses and send invitations via email and SMS. +- Handle coupons and membership tiers for events and calendars. +- Import contacts and apply tags to organize attendees effectively. + +This server is designed to streamline event management and enhance user engagement through its robust API capabilities. + +## Authentication + +The Arcade Luma API MCP Server requires one environment variable to authenticate with the [Luma API](https://docs.luma.com/reference/getting-started-with-your-api): + +- `LUMA_API_KEY` + +**How to obtain your credentials:** + +1. Navigate to your [Luma dashboard](https://lu.ma/) +2. Click on your profile icon and go to **Settings** +3. Navigate to **API** or **Developer Settings** +4. Click **Generate API Key** or **Create New Key** +5. Copy the API key and store it securely + + + The Luma API requires a **Luma Plus** subscription. Be careful with your API + key since it provides full access to your Luma account. + + +For more details, see the [Luma API Getting Started guide](https://docs.luma.com/reference/getting-started-with-your-api). + +## Available Tools + + + + + If you need to perform an action that's not listed here, you can [get in touch + with us](mailto:contact@arcade.dev) to request a new tool, or [create your own + tools](/home/build-tools/create-a-mcp-server). + + +## LumaApi.GetEventAdminInfo + +
+ + +Retrieve admin information for an accessible event. + +**Parameters** + +- **event_api_id** (`string`, optional) Event API ID, starting with 'evt-', used to identify the event. +- **event_id** (`string`, optional) The unique identifier for the event, usually starts with 'evt-'. + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.ListLumaCalendarEvents + +
+ + +Retrieve all events managed by your Luma Calendar. + +**Parameters** + +- **event_sort_direction** (`string`, optional) Defines the order of events. Use 'asc' or 'desc' for ascending or descending. Options 'asc nulls last' and 'desc nulls last' place nulls at the end. +- **filter_events_before** (`string`, optional) Filter events to show only those happening before this ISO 8601 Datetime. Example: 2022-10-19T03:27:13.673Z +- **number_of_items_to_return** (`number`, optional) The number of events to return. The server enforces a maximum limit. +- **pagination_cursor** (`string`, optional) Use the `next_cursor` value from a previous request to continue listing events. +- **sort_by_column** (`string`, optional) Specify the column to sort events by. For now, 'start_at' is the available option. +- **start_date_after** (`string`, optional) Specify the starting datetime to filter events after this timestamp in ISO 8601 format (e.g., 2022-10-19T03:27:13.673Z). + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.GetEventGuest + +
+ + +Retrieve event guest details using their ID. + +**Parameters** + +- **event_api_id** (`string`, optional) Provide the unique API ID for the event to retrieve guest details. +- **event_identifier** (`string`, optional) The ID of the event, typically starting with 'evt-'. Used to identify the specific event. +- **guest_api_id** (`string`, optional) The unique API ID of the guest, distinct from the user ID. This is used for identifying the guest within the system. +- **guest_email** (`string`, optional) The email address of the event guest to look up. +- **guest_identifier** (`string`, optional) Identifier for looking up the guest, such as guest ID (gst-), ticket key, guest key (g-), or the user's email. +- **proxy_key** (`string`, optional) Value of the `pk` parameter from the check-in QR code used to identify the guest. + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.GetEventGuests + +
+ + +Retrieve registered or invited guests for an event. + +**Parameters** + +- **event_api_id** (`string`, optional) The unique ID of the event, typically starting with 'evt-'. +- **event_id** (`string`, optional) The unique identifier for the event, usually starts with 'evt-'. +- **guest_approval_status** (`string`, optional) Filter guests by their approval status. Options: 'approved', 'session', 'pending_approval', 'invited', 'declined', 'waitlist'. +- **guest_sort_column** (`string`, optional) The column to sort the guest list by. Options are 'name', 'email', 'created_at', 'registered_at', or 'checked_in_at'. +- **items_to_return** (`number`, optional) Specify the number of guest entries to return. The server enforces a maximum limit. +- **next_cursor_value** (`string`, optional) Value of `next_cursor` from a previous request to paginate through results. +- **sort_order** (`string`, optional) Specify the order for sorting the list of guests. Acceptable values are 'asc', 'desc', 'asc nulls last', or 'desc nulls last'. + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.GetUserInfo + +
+ + +Retrieve the user's personal information and profile details. + +**Parameters** + +This tool does not take any parameters. +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.ListPersonTags + +
+ + +Retrieve a list of tags associated with persons. + +**Parameters** + +- **items_to_return** (`number`, optional) Specify the number of tags to return. The server will impose a maximum limit. +- **pagination_cursor** (`string`, optional) Use the `next_cursor` value from a previous response to paginate results. +- **sort_by_column** (`string`, optional) Specifies the column to sort the tags by. Options are 'name', 'color', or 'created_at'. +- **sorting_direction** (`string`, optional) Specifies the order direction of the person tags. Choose from 'asc', 'desc', 'asc nulls last', or 'desc nulls last'. + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.LumaEntityLookup + +
+ + +Lookup an entity on Luma by its slug. + +**Parameters** + +- **entity_slug** (`string`, required) The unique string identifier for the entity to be looked up in Luma. + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.CheckEventExistence + +
+ + +Determine if an event exists on the calendar. + +**Parameters** + +- **calendar_platform_type** (`string`, optional) Specifies the source platform of the event, either 'external' or 'luma'. +- **event_details_url** (`string`, optional) The URL of the event page to check if it exists in the calendar. +- **event_identifier** (`string`, optional) A unique string identifier for the event to check its existence on the calendar. + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.ListPeople + +
+ + +Retrieve a list of people from the calendar. + +**Parameters** + +- **calendar_membership_status** (`string`, optional) Specify the membership status for filtering calendar members. This is only relevant for calendar memberships. +- **calendar_membership_tier_api_id** (`string`, optional) A unique identifier for the calendar membership tier to filter people. +- **calendar_tier_id** (`string`, optional) Unique identifier for the calendar membership tier to filter people. +- **filter_by_tags** (`string`, optional) Comma-separated list of tag names or IDs to filter people with specified tags. +- **items_to_return** (`number`, optional) Specify the number of items to return in the response. The server may enforce a maximum limit. +- **pagination_next_cursor** (`string`, optional) Provide the `next_cursor` value from a previous request to continue pagination. +- **search_query** (`string`, optional) Search for people using names or emails. +- **sort_by_column** (`string`, optional) Sort the list of people by a specified column: created_at, event_checked_in_count, event_approved_count, name, or revenue_usd_cents. +- **sort_order** (`string`, optional) Specifies the order for sorting results: 'asc', 'desc', 'asc nulls last', or 'desc nulls last'. + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.ListEventCoupons + +
+ + +Retrieve all coupons created for an event. + +**Parameters** + +- **event_api_id** (`string`, optional) The unique identifier for the event, typically starting with 'evt-'. Required to list coupons for the specified event. +- **event_identifier** (`string`, optional) Event ID, typically starting with 'evt-'. It identifies the specific event for which to list coupons. +- **item_return_limit** (`number`, optional) Specifies the number of items to return in the response, up to the server's maximum allowed. +- **pagination_cursor** (`string`, optional) Value of `next_cursor` from a previous request to continue pagination. + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.ListCalendarCoupons + +
+ + +Retrieve all coupons for a calendar. + +**Parameters** + +- **items_to_return** (`number`, optional) The number of coupon items to retrieve. The server enforces a maximum limit. +- **pagination_cursor** (`string`, optional) Provide the `next_cursor` value obtained from a prior request to paginate through results. + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.ListEventTicketTypes + +
+ + +Retrieve a list of all ticket types for an event. + +**Parameters** + +- **event_id** (`string`, optional) The unique identifier for an event, typically starting with 'evt-'. +- **event_identifier** (`string`, optional) The unique identifier for the event, usually starting with evt-. +- **include_hidden_ticket_types** (`string`, optional) Set to true to include hidden ticket types in the response list. + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.GetTicketTypeById + +
+ + +Retrieve event ticket type details by ID. + +**Parameters** + +- **event_ticket_type_api_id** (`string`, optional) The unique API ID for the event ticket type. It must be provided to retrieve ticket information. +- **ticket_type_id** (`string`, optional) The ID of the ticket type to retrieve, typically starts with 'ett-'. + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.ListMembershipTiers + +
+ + +Retrieve available membership tiers for the calendar. + +**Parameters** + +- **items_to_return_count** (`number`, optional) Specify the number of membership tiers to return. The server may enforce a maximum limit. +- **previous_request_next_cursor** (`string`, optional) The `next_cursor` value from a prior request for fetching subsequent data. + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.CreateEvent + +
+ + +Creates and schedules a new event. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.UpdateEvent + +
+ + +Update event details using Luma's API. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.UpdateGuestStatus + +
+ + +Updates the status of an event guest. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.SendGuestEventInvite + +
+ + +Send event invitations to guests via email and SMS. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.AddEventGuests + +
+ + +Add guests to an event with default or custom tickets. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.AddEventHost + +
+ + +Add a host to an event in Luma. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.CreateEventCoupon + +
+ + +Create a non-editable coupon for event registration. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.ModifyCoupon + +
+ + +Update a coupon's details in the system. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.GenerateEventCoupon + +
+ + +Create a coupon for calendar-managed events. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.UpdateCoupon + +
+ + +Updates a coupon in the calendar. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.ImportPeopleToCalendar + +
+ + +Import people to your calendar from contact lists. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.CreatePersonTag + +
+ + +Create a new person tag in the calendar system. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.UpdatePersonTag + +
+ + +Updates a tag for a person in the calendar system. + +**Parameters** + +- **person_tag_api_id** (`string`, required) The unique identifier for the tag to be updated. It is required to identify which tag needs modification. +- **tag_color** (`string`, optional) Specify the color to be assigned to the person's tag. Choose from: cranberry, barney, red, green, blue, purple, yellow, orange. +- **tag_name** (`string`, optional) The new name for the tag to be updated. It should be descriptive and relevant to the person's role or status. + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.DeletePersonTag + +
+ + +Deletes a person tag from the calendar. + +**Parameters** + +- **tag_identifier** (`string`, required) The unique identifier of the person tag to be deleted. It should match the tag's API ID. + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.ApplyTagToCalendarMembers + +
+ + +Apply a tag to existing calendar members. + +**Parameters** + +- **tag_identifier** (`string`, required) The Tag API ID (e.g., 'tag-123') or tag name to be applied to calendar members. +- **email_addresses** (`array[string]`, optional) Array of email addresses to apply the tag to existing calendar members. +- **user_api_ids_to_tag** (`array[string]`, optional) Array of user API IDs to apply the tag to. Each ID corresponds to a calendar member. + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.RemoveTagFromCalendarMembers + +
+ + +Remove a tag from existing calendar members. + +**Parameters** + +- **tag_identifier** (`string`, required) The ID or name of the tag to remove from calendar members, such as 'tag-123' or 'Birthday'. +- **email_addresses_to_remove_tag** (`array[string]`, optional) Array of email addresses to remove the tag from the calendar members. +- **user_api_ids_to_remove_tag** (`array[string]`, optional) Array of user API IDs from which to remove the specified tag. + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.AddEventToLumaCalendar + +
+ + +Add an existing event to the Luma calendar. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.GenerateUploadUrl + +
+ + +Generates a URL for image upload. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.CreateEventTicketType + +
+ + +Create a new ticket type for an event. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.UpdateTicketTypeConfiguration + +
+ + +Update an existing ticket type configuration. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.SoftDeleteTicketType + +
+ + +Soft delete a ticket type if certain conditions are met. + +**Parameters** + +- **event_ticket_type_id** (`string`, required) The ID of the event ticket type to be soft deleted. Ensure no tickets are sold, and it's not the last visible type before deletion. + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.AddUserToMembershipTier + +
+ + +Add a user to a specified free membership tier. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## LumaApi.UpdateMembershipStatus + +
+ + +Update a member's membership status and handle payments. + +**Parameters** + +- **membership_status** (`string`, required) Set the membership status to either 'approved' to capture payment or 'declined' to cancel the subscription. +- **user_identifier** (`string`, required) User ID (e.g., 'usr-xxx') or email address to identify the member whose status is to be updated. + +**Secrets** + +This tool requires the following secrets: `LUMA_API_KEY`. You can obtain this from your [Luma dashboard](https://lu.ma/). See the [Authentication section](#authentication) above for detailed instructions and the [Luma API documentation](https://docs.luma.com/reference/getting-started-with-your-api) for more information. + +## Reference + +Below is a reference of enumerations used by some of the tools in the LumaApi MCP Server: + +### ToolMode + +- **GET_REQUEST_SCHEMA**: `get_request_schema` +- **EXECUTE**: `execute` + + diff --git a/package.json b/package.json index e1fef61d4..d7fd42008 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ }, "homepage": "https://arcade.dev/", "dependencies": { - "@arcadeai/design-system": "^3.25.1", + "@arcadeai/design-system": "^3.26.0", "@next/third-parties": "16.0.1", "@ory/client": "1.22.7", "@theguild/remark-mermaid": "0.3.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c552fb921..b5c31436f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,8 +9,8 @@ importers: .: dependencies: '@arcadeai/design-system': - specifier: ^3.25.1 - version: 3.25.1(@hookform/resolvers@5.2.2(react-hook-form@7.65.0(react@19.2.3)))(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(lucide-react@0.548.0(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-hook-form@7.65.0(react@19.2.3))(react@19.2.3)(recharts@3.6.0(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react-is@16.13.1)(react@19.2.3)(redux@5.0.1))(tailwindcss@4.1.16)(vite@7.3.0(@types/node@24.9.2)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)) + specifier: ^3.26.0 + version: 3.26.0(@hookform/resolvers@5.2.2(react-hook-form@7.65.0(react@19.2.3)))(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(lucide-react@0.548.0(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-hook-form@7.65.0(react@19.2.3))(react@19.2.3)(recharts@3.6.0(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react-is@16.13.1)(react@19.2.3)(redux@5.0.1))(tailwindcss@4.1.16)(vite@7.3.0(@types/node@24.9.2)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)) '@next/third-parties': specifier: 16.0.1 version: 16.0.1(next@16.0.10(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3) @@ -169,8 +169,8 @@ packages: '@arcadeai/arcadejs@1.15.0': resolution: {integrity: sha512-2nqc2QZQNKggIWNgjM7CN2HC3VB7Kd9gFO1wAyUXp/oPehGnM3u+u6PGc9rHgIkIQvr2TpEzCa/x4PrVrsyjpQ==} - '@arcadeai/design-system@3.25.1': - resolution: {integrity: sha512-iTwJyJNkuPOcD6lNMqAODWn4a8BFQK585sRthvRyWF9I0U5WpGr0d7DjCsiIgWwHeE2ToF8TDuqht0Z82MUYXA==} + '@arcadeai/design-system@3.26.0': + resolution: {integrity: sha512-Bs5+UnPAKFHtT5nWcl3hR52gc6OhMFDQAEfENeIEsjcMfmkK1P1ig594e90iF7S0w+pRTisX7lULvLXcxz2Dqw==} engines: {node: '>=20.17.0'} peerDependencies: '@hookform/resolvers': ^5.2.1 @@ -4722,7 +4722,7 @@ snapshots: transitivePeerDependencies: - encoding - '@arcadeai/design-system@3.25.1(@hookform/resolvers@5.2.2(react-hook-form@7.65.0(react@19.2.3)))(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(lucide-react@0.548.0(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-hook-form@7.65.0(react@19.2.3))(react@19.2.3)(recharts@3.6.0(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react-is@16.13.1)(react@19.2.3)(redux@5.0.1))(tailwindcss@4.1.16)(vite@7.3.0(@types/node@24.9.2)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))': + '@arcadeai/design-system@3.26.0(@hookform/resolvers@5.2.2(react-hook-form@7.65.0(react@19.2.3)))(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(lucide-react@0.548.0(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-hook-form@7.65.0(react@19.2.3))(react@19.2.3)(recharts@3.6.0(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react-is@16.13.1)(react@19.2.3)(redux@5.0.1))(tailwindcss@4.1.16)(vite@7.3.0(@types/node@24.9.2)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))': dependencies: '@arcadeai/arcadejs': 1.15.0 '@hookform/resolvers': 5.2.2(react-hook-form@7.65.0(react@19.2.3)) diff --git a/public/examples/integrations/mcp-servers/luma_api/add_event_guests_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/add_event_guests_example_call_tool.js new file mode 100644 index 000000000..f4741451e --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/add_event_guests_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.AddEventGuests"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"event_id\":\"12345\",\"guests\":[{\"name\":\"John Doe\",\"ticket_type\":\"VIP\"},{\"name\":\"Jane Smith\"}]}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/add_event_guests_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/add_event_guests_example_call_tool.py new file mode 100644 index 000000000..cf484facf --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/add_event_guests_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.AddEventGuests" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"event_id":"12345","guests":[{"name":"John ' + 'Doe","ticket_type":"VIP"},{"name":"Jane Smith"}]}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/add_event_host_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/add_event_host_example_call_tool.js new file mode 100644 index 000000000..3e07a462c --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/add_event_host_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.AddEventHost"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"event_id\":\"12345\",\"host_name\":\"John Doe\",\"host_email\":\"john.doe@example.com\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/add_event_host_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/add_event_host_example_call_tool.py new file mode 100644 index 000000000..61ab9fdc0 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/add_event_host_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.AddEventHost" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"event_id":"12345","host_name":"John ' + 'Doe","host_email":"john.doe@example.com"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/add_event_to_luma_calendar_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/add_event_to_luma_calendar_example_call_tool.js new file mode 100644 index 000000000..f632538d1 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/add_event_to_luma_calendar_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.AddEventToLumaCalendar"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"event_id\":\"12345\",\"calendar_id\":\"67890\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/add_event_to_luma_calendar_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/add_event_to_luma_calendar_example_call_tool.py new file mode 100644 index 000000000..0e90f9ce6 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/add_event_to_luma_calendar_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.AddEventToLumaCalendar" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"event_id":"12345","calendar_id":"67890"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/add_user_to_membership_tier_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/add_user_to_membership_tier_example_call_tool.js new file mode 100644 index 000000000..5a5be577e --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/add_user_to_membership_tier_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.AddUserToMembershipTier"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"user_id\":\"12345\",\"membership_tier\":\"free\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/add_user_to_membership_tier_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/add_user_to_membership_tier_example_call_tool.py new file mode 100644 index 000000000..63ddbb60f --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/add_user_to_membership_tier_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.AddUserToMembershipTier" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"user_id":"12345","membership_tier":"free"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/apply_tag_to_calendar_members_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/apply_tag_to_calendar_members_example_call_tool.js new file mode 100644 index 000000000..00dceb020 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/apply_tag_to_calendar_members_example_call_tool.js @@ -0,0 +1,35 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.ApplyTagToCalendarMembers"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "tag_identifier": "tag-456", + "email_addresses": [ + "user1@example.com", + "user2@example.com" + ] +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/apply_tag_to_calendar_members_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/apply_tag_to_calendar_members_example_call_tool.py new file mode 100644 index 000000000..bab182166 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/apply_tag_to_calendar_members_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.ApplyTagToCalendarMembers" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'tag_identifier': 'tag-456', 'email_addresses': ['user1@example.com', 'user2@example.com'] +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/check_event_existence_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/check_event_existence_example_call_tool.js new file mode 100644 index 000000000..94f98383f --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/check_event_existence_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.CheckEventExistence"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "calendar_platform_type": "luma", + "event_details_url": "https://example.com/event/123", + "event_identifier": "event_123" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/check_event_existence_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/check_event_existence_example_call_tool.py new file mode 100644 index 000000000..486f96d5c --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/check_event_existence_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.CheckEventExistence" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'calendar_platform_type': 'luma', + 'event_details_url': 'https://example.com/event/123', + 'event_identifier': 'event_123' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/create_event_coupon_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/create_event_coupon_example_call_tool.js new file mode 100644 index 000000000..a5e558e5a --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/create_event_coupon_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.CreateEventCoupon"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"event_id\":\"12345\",\"coupon_code\":\"SAVE20\",\"discount\":\"20%\",\"valid_until\":\"2023-12-31\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/create_event_coupon_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/create_event_coupon_example_call_tool.py new file mode 100644 index 000000000..a94961a2a --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/create_event_coupon_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.CreateEventCoupon" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"event_id":"12345","coupon_code":"SAVE20","discount":"20%","valid_until":"2023-12-31"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/create_event_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/create_event_example_call_tool.js new file mode 100644 index 000000000..e7ae09e1c --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/create_event_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.CreateEvent"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"event_name\":\"Team Meeting\",\"date\":\"2023-10-15\",\"time\":\"10:00 AM\",\"location\":\"Conference Room A\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/create_event_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/create_event_example_call_tool.py new file mode 100644 index 000000000..d32cbc2f1 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/create_event_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.CreateEvent" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"event_name":"Team Meeting","date":"2023-10-15","time":"10:00 ' + 'AM","location":"Conference Room A"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/create_event_ticket_type_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/create_event_ticket_type_example_call_tool.js new file mode 100644 index 000000000..ad405ba02 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/create_event_ticket_type_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.CreateEventTicketType"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"event_id\":\"12345\",\"ticket_type\":\"VIP\",\"price\":100,\"quantity\":50}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/create_event_ticket_type_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/create_event_ticket_type_example_call_tool.py new file mode 100644 index 000000000..6fe6bcb74 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/create_event_ticket_type_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.CreateEventTicketType" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"event_id":"12345","ticket_type":"VIP","price":100,"quantity":50}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/create_person_tag_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/create_person_tag_example_call_tool.js new file mode 100644 index 000000000..a23adf2ad --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/create_person_tag_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.CreatePersonTag"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"name\":\"John Doe\",\"tag\":\"Friend\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/create_person_tag_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/create_person_tag_example_call_tool.py new file mode 100644 index 000000000..b832c987e --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/create_person_tag_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.CreatePersonTag" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"name":"John Doe","tag":"Friend"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/delete_person_tag_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/delete_person_tag_example_call_tool.js new file mode 100644 index 000000000..c463d79a9 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/delete_person_tag_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.DeletePersonTag"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "tag_identifier": "12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/delete_person_tag_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/delete_person_tag_example_call_tool.py new file mode 100644 index 000000000..e9aa0f56e --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/delete_person_tag_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.DeletePersonTag" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'tag_identifier': '12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/generate_event_coupon_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/generate_event_coupon_example_call_tool.js new file mode 100644 index 000000000..69c8ae2c5 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/generate_event_coupon_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.GenerateEventCoupon"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"event_id\":\"12345\",\"coupon_code\":\"SAVE20\",\"discount\":\"20%\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/generate_event_coupon_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/generate_event_coupon_example_call_tool.py new file mode 100644 index 000000000..44da0cfee --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/generate_event_coupon_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.GenerateEventCoupon" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"event_id":"12345","coupon_code":"SAVE20","discount":"20%"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/generate_upload_url_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/generate_upload_url_example_call_tool.js new file mode 100644 index 000000000..efac9b03d --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/generate_upload_url_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.GenerateUploadUrl"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"imageType\":\"jpeg\",\"size\":\"1024x768\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/generate_upload_url_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/generate_upload_url_example_call_tool.py new file mode 100644 index 000000000..843193ca2 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/generate_upload_url_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.GenerateUploadUrl" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"imageType":"jpeg","size":"1024x768"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/get_event_admin_info_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/get_event_admin_info_example_call_tool.js new file mode 100644 index 000000000..dac355b93 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/get_event_admin_info_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.GetEventAdminInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "event_api_id": "evt-12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/get_event_admin_info_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/get_event_admin_info_example_call_tool.py new file mode 100644 index 000000000..065a82e3b --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/get_event_admin_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.GetEventAdminInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'event_api_id': 'evt-12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/get_event_guest_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/get_event_guest_example_call_tool.js new file mode 100644 index 000000000..b49b53edb --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/get_event_guest_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.GetEventGuest"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "event_api_id": "api-12345", + "guest_email": "guest@example.com" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/get_event_guest_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/get_event_guest_example_call_tool.py new file mode 100644 index 000000000..f73abab23 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/get_event_guest_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.GetEventGuest" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'event_api_id': 'api-12345', 'guest_email': 'guest@example.com' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/get_event_guests_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/get_event_guests_example_call_tool.js new file mode 100644 index 000000000..ceeb607a7 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/get_event_guests_example_call_tool.js @@ -0,0 +1,35 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.GetEventGuests"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "event_api_id": "evt-12345", + "guest_approval_status": "approved", + "guest_sort_column": "name", + "items_to_return": 10, + "sort_order": "asc" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/get_event_guests_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/get_event_guests_example_call_tool.py new file mode 100644 index 000000000..4c42a3d21 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/get_event_guests_example_call_tool.py @@ -0,0 +1,33 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.GetEventGuests" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'event_api_id': 'evt-12345', + 'guest_approval_status': 'approved', + 'guest_sort_column': 'name', + 'items_to_return': 10, + 'sort_order': 'asc' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/get_ticket_type_by_id_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/get_ticket_type_by_id_example_call_tool.js new file mode 100644 index 000000000..9c4498ae1 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/get_ticket_type_by_id_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.GetTicketTypeById"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "event_ticket_type_api_id": "12345", + "ticket_type_id": "ett-67890" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/get_ticket_type_by_id_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/get_ticket_type_by_id_example_call_tool.py new file mode 100644 index 000000000..2dfd7e12d --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/get_ticket_type_by_id_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.GetTicketTypeById" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'event_ticket_type_api_id': '12345', 'ticket_type_id': 'ett-67890' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/get_user_info_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/get_user_info_example_call_tool.js new file mode 100644 index 000000000..672f77972 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/get_user_info_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.GetUserInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = {}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/get_user_info_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/get_user_info_example_call_tool.py new file mode 100644 index 000000000..75ee9acc2 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/get_user_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.GetUserInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/import_people_to_calendar_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/import_people_to_calendar_example_call_tool.js new file mode 100644 index 000000000..49d9d8968 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/import_people_to_calendar_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.ImportPeopleToCalendar"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"contacts\":[{\"name\":\"John Doe\",\"email\":\"john@example.com\"},{\"name\":\"Jane Smith\",\"email\":\"jane@example.com\"}]}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/import_people_to_calendar_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/import_people_to_calendar_example_call_tool.py new file mode 100644 index 000000000..8c4495f86 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/import_people_to_calendar_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.ImportPeopleToCalendar" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"contacts":[{"name":"John Doe","email":"john@example.com"},{"name":"Jane ' + 'Smith","email":"jane@example.com"}]}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/list_calendar_coupons_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/list_calendar_coupons_example_call_tool.js new file mode 100644 index 000000000..93df1d25c --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/list_calendar_coupons_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.ListCalendarCoupons"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "items_to_return": 10 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/list_calendar_coupons_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/list_calendar_coupons_example_call_tool.py new file mode 100644 index 000000000..76ad1ee96 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/list_calendar_coupons_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.ListCalendarCoupons" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'items_to_return': 10 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/list_event_coupons_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/list_event_coupons_example_call_tool.js new file mode 100644 index 000000000..9e144dd1f --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/list_event_coupons_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.ListEventCoupons"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "event_api_id": "evt-12345", + "item_return_limit": 10 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/list_event_coupons_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/list_event_coupons_example_call_tool.py new file mode 100644 index 000000000..44cfa113c --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/list_event_coupons_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.ListEventCoupons" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'event_api_id': 'evt-12345', 'item_return_limit': 10 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/list_event_ticket_types_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/list_event_ticket_types_example_call_tool.js new file mode 100644 index 000000000..d4393cc53 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/list_event_ticket_types_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.ListEventTicketTypes"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "event_id": "evt-12345", + "include_hidden_ticket_types": "true" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/list_event_ticket_types_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/list_event_ticket_types_example_call_tool.py new file mode 100644 index 000000000..9d425f407 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/list_event_ticket_types_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.ListEventTicketTypes" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'event_id': 'evt-12345', 'include_hidden_ticket_types': 'true' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/list_luma_calendar_events_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/list_luma_calendar_events_example_call_tool.js new file mode 100644 index 000000000..cc1fc9dfb --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/list_luma_calendar_events_example_call_tool.js @@ -0,0 +1,35 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.ListLumaCalendarEvents"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "event_sort_direction": "asc", + "filter_events_before": "2023-10-01T00:00:00.000Z", + "number_of_items_to_return": 10, + "sort_by_column": "start_at", + "start_date_after": "2023-09-01T00:00:00.000Z" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/list_luma_calendar_events_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/list_luma_calendar_events_example_call_tool.py new file mode 100644 index 000000000..82d59dc17 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/list_luma_calendar_events_example_call_tool.py @@ -0,0 +1,33 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.ListLumaCalendarEvents" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'event_sort_direction': 'asc', + 'filter_events_before': '2023-10-01T00:00:00.000Z', + 'number_of_items_to_return': 10, + 'sort_by_column': 'start_at', + 'start_date_after': '2023-09-01T00:00:00.000Z' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/list_membership_tiers_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/list_membership_tiers_example_call_tool.js new file mode 100644 index 000000000..8fa78f9b9 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/list_membership_tiers_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.ListMembershipTiers"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "items_to_return_count": 5 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/list_membership_tiers_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/list_membership_tiers_example_call_tool.py new file mode 100644 index 000000000..555edb71e --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/list_membership_tiers_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.ListMembershipTiers" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'items_to_return_count': 5 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/list_people_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/list_people_example_call_tool.js new file mode 100644 index 000000000..c3ff76a72 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/list_people_example_call_tool.js @@ -0,0 +1,35 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.ListPeople"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "calendar_membership_status": "active", + "items_to_return": 10, + "search_query": "john.doe@example.com", + "sort_by_column": "name", + "sort_order": "asc" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/list_people_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/list_people_example_call_tool.py new file mode 100644 index 000000000..154c146f8 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/list_people_example_call_tool.py @@ -0,0 +1,33 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.ListPeople" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'calendar_membership_status': 'active', + 'items_to_return': 10, + 'search_query': 'john.doe@example.com', + 'sort_by_column': 'name', + 'sort_order': 'asc' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/list_person_tags_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/list_person_tags_example_call_tool.js new file mode 100644 index 000000000..286c024a2 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/list_person_tags_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.ListPersonTags"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "items_to_return": 5, + "sort_by_column": "name", + "sorting_direction": "asc" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/list_person_tags_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/list_person_tags_example_call_tool.py new file mode 100644 index 000000000..eb51b1211 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/list_person_tags_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.ListPersonTags" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'items_to_return': 5, 'sort_by_column': 'name', 'sorting_direction': 'asc' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/luma_entity_lookup_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/luma_entity_lookup_example_call_tool.js new file mode 100644 index 000000000..c8728d3d3 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/luma_entity_lookup_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.LumaEntityLookup"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "entity_slug": "example-entity" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/luma_entity_lookup_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/luma_entity_lookup_example_call_tool.py new file mode 100644 index 000000000..2d60e1a81 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/luma_entity_lookup_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.LumaEntityLookup" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'entity_slug': 'example-entity' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/modify_coupon_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/modify_coupon_example_call_tool.js new file mode 100644 index 000000000..303386aa0 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/modify_coupon_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.ModifyCoupon"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"coupon_id\":\"12345\",\"discount_value\":20,\"expiration_date\":\"2024-12-31\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/modify_coupon_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/modify_coupon_example_call_tool.py new file mode 100644 index 000000000..32af9c2b3 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/modify_coupon_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.ModifyCoupon" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"coupon_id":"12345","discount_value":20,"expiration_date":"2024-12-31"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/remove_tag_from_calendar_members_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/remove_tag_from_calendar_members_example_call_tool.js new file mode 100644 index 000000000..c54322b61 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/remove_tag_from_calendar_members_example_call_tool.js @@ -0,0 +1,35 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.RemoveTagFromCalendarMembers"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "tag_identifier": "tag-123", + "email_addresses_to_remove_tag": [ + "user1@example.com", + "user2@example.com" + ] +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/remove_tag_from_calendar_members_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/remove_tag_from_calendar_members_example_call_tool.py new file mode 100644 index 000000000..8b915da75 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/remove_tag_from_calendar_members_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.RemoveTagFromCalendarMembers" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'tag_identifier': 'tag-123', + 'email_addresses_to_remove_tag': ['user1@example.com', 'user2@example.com'] +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/send_guest_event_invite_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/send_guest_event_invite_example_call_tool.js new file mode 100644 index 000000000..82a8b4c3a --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/send_guest_event_invite_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.SendGuestEventInvite"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"event_id\":\"12345\",\"guest_emails\":[\"guest1@example.com\",\"guest2@example.com\"],\"guest_sms\":[\"+1234567890\",\"+0987654321\"]}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/send_guest_event_invite_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/send_guest_event_invite_example_call_tool.py new file mode 100644 index 000000000..3eb695ee1 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/send_guest_event_invite_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.SendGuestEventInvite" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"event_id":"12345","guest_emails":["guest1@example.com","guest2@example.com"],"guest_sms":["+1234567890","+0987654321"]}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/soft_delete_ticket_type_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/soft_delete_ticket_type_example_call_tool.js new file mode 100644 index 000000000..4224a2dc3 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/soft_delete_ticket_type_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.SoftDeleteTicketType"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "event_ticket_type_id": "12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/soft_delete_ticket_type_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/soft_delete_ticket_type_example_call_tool.py new file mode 100644 index 000000000..12da91018 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/soft_delete_ticket_type_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.SoftDeleteTicketType" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'event_ticket_type_id': '12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/update_coupon_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/update_coupon_example_call_tool.js new file mode 100644 index 000000000..e9d972c36 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/update_coupon_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.UpdateCoupon"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"couponId\":\"12345\",\"discount\":20,\"expiryDate\":\"2023-12-31\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/update_coupon_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/update_coupon_example_call_tool.py new file mode 100644 index 000000000..32d7f39f9 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/update_coupon_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.UpdateCoupon" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"couponId":"12345","discount":20,"expiryDate":"2023-12-31"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/update_event_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/update_event_example_call_tool.js new file mode 100644 index 000000000..af73abd8f --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/update_event_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.UpdateEvent"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"eventId\":\"12345\",\"title\":\"Updated Event Title\",\"date\":\"2023-10-01\",\"location\":\"New Location\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/update_event_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/update_event_example_call_tool.py new file mode 100644 index 000000000..ed9642db5 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/update_event_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.UpdateEvent" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"eventId":"12345","title":"Updated Event ' + 'Title","date":"2023-10-01","location":"New Location"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/update_guest_status_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/update_guest_status_example_call_tool.js new file mode 100644 index 000000000..9f1c469f0 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/update_guest_status_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.UpdateGuestStatus"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"guestId\":\"12345\",\"status\":\"confirmed\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/update_guest_status_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/update_guest_status_example_call_tool.py new file mode 100644 index 000000000..3c68dfc5e --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/update_guest_status_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.UpdateGuestStatus" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"guestId":"12345","status":"confirmed"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/update_membership_status_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/update_membership_status_example_call_tool.js new file mode 100644 index 000000000..bbe8d8ac5 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/update_membership_status_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.UpdateMembershipStatus"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "membership_status": "approved", + "user_identifier": "usr-12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/update_membership_status_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/update_membership_status_example_call_tool.py new file mode 100644 index 000000000..7070ffdf9 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/update_membership_status_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.UpdateMembershipStatus" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'membership_status': 'approved', 'user_identifier': 'usr-12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/update_person_tag_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/update_person_tag_example_call_tool.js new file mode 100644 index 000000000..0404cb9cb --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/update_person_tag_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.UpdatePersonTag"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "person_tag_api_id": "12345", + "tag_color": "blue", + "tag_name": "Project Manager" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/update_person_tag_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/update_person_tag_example_call_tool.py new file mode 100644 index 000000000..fc0cc4309 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/update_person_tag_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.UpdatePersonTag" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'person_tag_api_id': '12345', 'tag_color': 'blue', 'tag_name': 'Project Manager' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/luma_api/update_ticket_type_configuration_example_call_tool.js b/public/examples/integrations/mcp-servers/luma_api/update_ticket_type_configuration_example_call_tool.js new file mode 100644 index 000000000..c02117622 --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/update_ticket_type_configuration_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "LumaApi.UpdateTicketTypeConfiguration"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"ticketTypeId\":\"12345\",\"availability\":\"limited\",\"price\":50}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/luma_api/update_ticket_type_configuration_example_call_tool.py b/public/examples/integrations/mcp-servers/luma_api/update_ticket_type_configuration_example_call_tool.py new file mode 100644 index 000000000..ef53e720f --- /dev/null +++ b/public/examples/integrations/mcp-servers/luma_api/update_ticket_type_configuration_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "LumaApi.UpdateTicketTypeConfiguration" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"ticketTypeId":"12345","availability":"limited","price":50}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2))