AI Tools Library
Equip your agents with exactly the tools they need. No more, no less. Precise. Secure.
Notion Tools
14
Search
Perform a search over: - "internal": Semantic search over your entire Notion workspace and connected sources (Slack, Google Drive, Github, Jira, Microsoft Teams, Sharepoint, OneDrive, Linear). Supports filtering by creation date and creator. - "user": Search for Notion users in the current workspace by name or email. When the user lacks Notion AI features, internal search automatically falls back to workspace search (without connected sources), indicated by type: "workspace_search" instead of "ai_search". After obtaining search results, use the "fetch" tool if you need the full contents of each page or database result. If you have the URL or ID of a Notion database you want to search within, you MUST first fetch the database using the "fetch" tool to get the data source (collection://...) URL from the <data-source url="..."> tag and then use that as the data_source_url parameter for search. If "fetch" shows the database has multiple data sources, do whichever of the following makes sense: - Use whichever data source corresponds to the view the user provided in their Notion URL, when there is a ?v=... query parameter present. - Use context from the user & data source names to identify which to use for the search - Search all data sources for the database using separate search tool calls Do NOT try to use the database URL/ID alongside the collection:// prefix for the data_source_url. Do NOT try to use a database URL as a page URL if you know from context that it's a database and not a regular page. <example description="Search with date range filter (only documents created in 2024)"> { "query": "quarterly revenue report", "query_type": "internal", "filters": { "created_date_range": { "start_date": "2024-01-01", "end_date": "2025-01-01" } } } </example> <example description="Search within teamspace, filtered by creator"> { "query": "project updates", "query_type": "internal", "teamspace_id": "f336d0bc-b841-465b-8045-024475c079dd", "filters": { "created_by_user_ids": ["a1b2c3d4-e5f6-7890-abcd-ef1234567890"] } } </example> <example description="Search within database pages with combined filters"> { "query": "design review feedback", "query_type": "internal", "data_source_url": "collection://f336d0bc-b841-465b-8045-024475c079dd", "filters": { "created_date_range": { "start_date": "2024-10-01" }, "created_by_user_ids": ["user-id-1", "user-id-2"] } } </example> <example description="Search for users (no filters allowed)"> { "query": "john@example.com", "query_type": "user" } </example> <common-use-cases> - Find recent documents: Use created_date_range filter - Find content by specific authors: Use created_by_user_ids filter - Audit trail: Combine both filters to find who created what and when - Team member lookup: Use query_type: "user" with name/email patterns </common-use-cases>
Fetch
Retrieves details about a Notion entity by its URL or ID. You can fetch the following types of entities: - Page, i.e. from a <page> block or a <mention-page> mention - Database, i.e. from a <database> block or a <mention-database> mention Use the "fetch" tool when you need to see the details of a Notion entity you already know exists and have its URL or ID. Provide the Notion entity's URL or ID in the `id` parameter. You must make multiple calls to the "fetch" tool if you want to fetch multiple entities. Content for pages that are returned use the enhanced Markdown format, which is a superset of the standard Markdown syntax. See the full spec in the description of the "create-pages" tool. Databases can have multiple data sources, which are collections of pages with the same schema. When fetching a database, the tool will return information about all its data sources. NOTE regarding multi-source databases: If your input URL looks like: https://notion.so/workspace/26c104cd477e80059141c7ed3bce2ce6?v=26c104cd477e818ca439000c4500cf98 The UUID before the '?v=' is the database ID, and the UUID after the '?v=' is the specific view ID. All views and data sources are included in the response, but views can be associated with a specific data source, so you may be able to narrow down which data source the URL refers to based on the fetch response. Continuing the example of fetching the above URL, if the response looks like the following, then the URL is associated with the data source collection://26c104cd-477e-805f-95d7-000b4340f82f. This can be helpful if the user provides the complete URL and wants to find pages in that data source; the search tool requires a specific data source ID. <snippet description="Partial fetch response for a multi-source database"> <view url="{{view://26c104cd-477e-818c-a439-000c4500cf98}}"> {"dataSourceUrl":"{{collection://26c104cd-477e-805f-95d7-000b4340f82f}}","name":"","properties":["Name","Number"],"type":"table"} </view> </snippet> <example description="Fetch a page by URL"> {"id": "https://www.notion.so/workspace/Product-Requirements-1234567890abcdef"} </example> <example description="Fetch a page by ID (UUIDv4 with dashes)"> {"id": "12345678-90ab-cdef-1234-567890abcdef"} </example> <example description="Fetch a page by ID (UUIDv4 without dashes)"> {"id": "1234567890abcdef1234567890abcdef"} </example> <example description="Fetch a database"> {"id": "https://www.notion.so/workspace/Projects-Database-abcdef1234567890"} </example> <common-use-cases> - "What are the product requirements still need to be implemented from this ticket https://notion.so/page-url?" - "Show me the details of the project database at this URL" - "Get the content of page 12345678-90ab-cdef-1234-567890abcdef" </common-use-cases>
Create pages
## Overview Creates one or more Notion pages, with the specified properties and content. ## Parent All pages created with a single call to this tool will have the same parent. The parent can be a Notion page ("page_id") or data source ("data_source_id"). If the parent is omitted, the pages are created as standalone, workspace-level private pages, and the person that created them can organize them later as they see fit. If you have a database URL, ALWAYS pass it to the "fetch" tool first to get the schema and URLs of each data source under the database. You can't use the "database_id" parent type if the database has more than one data source, so you'll need to identify which "data_source_id" to use based on the situation and the results from the fetch tool (data source URLs look like collection://<data_source_id>). If you know the pages should be created under a data source, do NOT use the database ID or URL under the "page_id" parameter; "page_id" is only for regular, non-database pages. ## Properties Notion page properties are a JSON map of property names to SQLite values. When creating pages in a database: - Use the correct property names from the data source schema shown in the fetch tool results. - Always include a title property. Data sources always have exactly one title property, but it may not be named "title", so, again, rely on the fetched data source schema. For pages outside of a database: - The only allowed property is "title", which is the title of the page in inline markdown format. Always include a "title" property. **IMPORTANT**: Some property types require expanded formats: - Date properties: Split into "date:{property}:start", "date:{property}:end" (optional), and "date:{property}:is_datetime" (0 or 1) - Place properties: Split into "place:{property}:name", "place:{property}:address", "place:{property}:latitude", "place:{property}:longitude", and "place:{property}:google_place_id" (optional) - Number properties: Use JavaScript numbers (not strings) - Checkbox properties: Use "__YES__" for checked, "__NO__" for unchecked **Special property naming**: Properties named "id" or "url" (case insensitive) must be prefixed with "userDefined:" (e.g., "userDefined:URL", "userDefined:id") ## Examples <example description="Create a standalone page with a title and content"> { "pages": [ { "properties": {"title": "Page title"}, "content": "# Section 1 Section 1 content # Section 2 Section 2 content" } ] } </example> <example description="Create a page under a database's data source"> { "parent": {"data_source_id": "f336d0bc-b841-465b-8045-024475c079dd"}, "pages": [ { "properties": { "Task Name": "Task 123", "Status": "In Progress", "Priority": 5, "Is Complete": "__YES__", "date:Due Date:start": "2024-12-25", "date:Due Date:is_datetime": 0 } } ] } </example> <example description="Create a page with an existing page as a parent"> { "parent": {"page_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"}, "pages": [ { "properties": {"title": "Page title"}, "content": "# Section 1 Section 1 content # Section 2 Section 2 content" } ] } </example> ## Content Notion page content is a string in Notion-flavored Markdown format. Don't include the page title at the top of the page's content. Only include it under "properties". Below is the full Notion-flavored Markdown specification, applicable to this create pages tool and other tools like update-page and fetch. This spec is also available as a separate MCP resource. ### Notion-flavored Markdown Notion-flavored Markdown is a variant of standard Markdown with additional features to support all Block and Rich text types. Use tabs for indentation. Use backslashes to escape characters. For example, * will render as * and not as a bold delimiter. Block types: Markdown blocks use a {color="Color"} attribute list to set a block color. Text: Rich text {color="Color"} Children Headings: # Rich text {color="Color"} ## Rich text {color="Color"} ### Rich text {color="Color"} (Headings 4, 5, and 6 are not supported in Notion and will be converted to heading 3.) Bulleted list: - Rich text {color="Color"} Children Numbered list: 1. Rich text {color="Color"} Children Bulleted and numbered list items should contain inline rich text -- otherwise they will render as empty list items, which look awkward in the Notion UI. (The inline text should be rich text -- any other block type will not be rendered inline, but as a child to an empty list item.) Rich text types: Bold: **Rich text** Italic: *Rich text* Strikethrough: ~~Rich text~~ Underline: <span underline="true">Rich text</span> Inline code: `Code` Link: [Link text](URL) Citation: [^URL] To create a citation, you can either reference a compressed URL like this,[^{{1}}] or a full URL like this.[^example.com] Colors: <span color?="Color">Rich text</span> Inline math: $Equation$ or $`Equation`$ if you want to use markdown delimiters within the equation. There must be whitespace before the starting $ symbol and after the ending $ symbol. There must not be whitespace right after the starting $ symbol or before the ending $ symbol. Inline line breaks within a block (this is mostly useful in multi-line quote or callout blocks, where an ordinary newline character should not be used since it will break up the block structure): <br> Mentions: User: <mention-user url="{{URL}}">User name</mention-user> The URL must always be provided, and refer to an existing User. But Providing the user name is optional. In the UI, the name will always be displayed. So an alternative self-closing format is also supported: <mention-user url="{{URL}}"/> Page: <mention-page url="{{URL}}">Page title</mention-page> The URL must always be provided, and refer to an existing Page. Providing the page title is optional. In the UI, the title will always be displayed. Mentioned pages can be viewed using the "view" tool. Database: <mention-database url="{{URL}}">Database name</mention-database> The URL must always be provided, and refer to an existing Database. Providing the database name is optional. In the UI, the name will always be displayed. Mentioned databases can be viewed using the "view" tool. Data source: <mention-data-source url="{{URL}}">Data source name</mention-data-source> The URL must always be provided, and refer to an existing data source. Providing the data source name is optional. In the UI, the name will always be displayed. Mentioned data sources can be viewed using the "view" tool. Date: <mention-date start="YYYY-MM-DD" end="YYYY-MM-DD"/> Datetime: <mention-date start="YYYY-MM-DDThh:mm:ssZ" end="YYYY-MM-DDThh:mm:ssZ"/> Custom emoji: :emoji_name: Custom emoji are rendered as the emoji name surrounded by colons. Colors: Text colors (colored text with transparent background): gray, brown, orange, yellow, green, blue, purple, pink, red Background colors (colored background with contrasting text): gray_bg, brown_bg, orange_bg, yellow_bg, green_bg, blue_bg, purple_bg, pink_bg, red_bg Usage: - Block colors: Add color="Color" to the first line of any block - Rich text colors (text colors and background colors are both supported): Use <span color="Color">Rich text</span> #### Advanced Block types for Page content The following block types may only be used in page content. <advanced-blocks> Quote: > Rich text {color="Color"} Children Use of a single ">" on a line without any other text should be avoided -- this will render as an empty blockquote, which is not visually appealing. To include multiple lines of text in a single blockquote, use a single > and linebreaks (not multiple > lines, which will render as multiple separate blockquotes, unlike in standard markdown): > Line 1<br>Line 2<br>Line 3 {color="Color"} To-do: - [ ] Rich text {color="Color"} Children - [x] Rich text {color="Color"} Children Toggle: ▶ Rich text {color="Color"} Children Toggle heading 1: ▶# Rich text {color="Color"} Children Toggle heading 2: ▶## Rich text {color="Color"} Children Toggle heading 3: ▶### Rich text {color="Color"} Children For toggles and toggle headings, the children must be indented in order for them to be toggleable. If you do not indent the children, they will not be contained within the toggle or toggle heading. Divider: --- Table: <table fit-page-width?="true|false" header-row?="true|false" header-column?="true|false"> <colgroup> <col color?="Color"> <col color?="Color"> </colgroup> <tr color?="Color"> <td>Data cell</td> <td color?="Color">Data cell</td> </tr> <tr> <td>Data cell</td> <td>Data cell</td> </tr> </table> Note: All table attributes are optional. If omitted, they default to false. Table structure: - <table>: Root element with optional attributes: - fit-page-width: Whether the table should fill the page width - header-row: Whether the first row is a header - header-column: Whether the first column is a header - <colgroup>: Optional element defining column-wide styles - <col>: Column definition with optional attributes: - color: The color of the column - width: The width of the column. Leave empty to auto-size. - <tr>: Table row with optional color attribute - <td>: Data cell with optional color attribute Color precedence (highest to lowest): 1. Cell color (<td color="red">) 2. Row color (<tr color="blue_bg">) 3. Column color (<col color="gray">) To format text inside of table cells, use Notion-flavored Markdown, not HTML. For instance, bold text in a table should be wrapped in **, not <strong>. Equation: $$ Equation $$ Code: ```language Code ``` XML blocks use the "color" attribute to set a block color. Callout: <callout icon?="emoji" color?="Color">Rich text</callout> To create a new line within a callout, use <br>, not a newline character. Using a newline character in a callout will cause a rendering bug. For any other formatting inside of callout blocks, use Notion-flavored Markdown, not HTML. For instance, bold text in a callout should be wrapped in **, not <strong>. Columns: <columns> <column> Children </column> <column> Children </column> </columns> Page: <page url="{{URL}}" color?="Color">Title</page> Sub-pages can be viewed using the "view" tool. To create a new sub-page, omit the URL. You can then update the page content and properties with the "update-page" tool. Example: <page>New Page</page> WARNING: Using <page> with an existing page URL will MOVE the page to a new parent page with this content. If moving is not intended use the <mention-page> block instead. Database: <database url="{{URL}}" inline?="{true|false}" icon?="Emoji" color?="Color">Title</database> To create a new database, omit the URL. You can then update the database properties and content with the "update-database" tool. Example: <database>New Database</database> The "inline" toggles how the database is displayed in the UI. If it is true, the database is fully visible and interactive on the page. If false, the database is displayed as a sub-page. There is no "Data Source" block type. Data Sources are always inside a Database, and only Databases can be inserted into a Page. WARNING: Using <database> with an existing database URL will MOVE the database to a new parent page with this content. If moving is not intended use the <mention-database> block instead. Audio: <audio source="{{URL}}" color?="Color">Caption</audio> File: File content can be viewed using the "view" tool. <file source="{{URL}}" color?="Color">Caption</file> Image: Image content can be viewed using the "view" tool. <image source="{{URL}}" color?="Color">Caption</image> PDF: PDF content can be viewed using the "view" tool. <pdf source="{{URL}}" color?="Color">Caption</pdf> Video: <video source="{{URL}}" color?="Color">Caption</video> (Note that source URLs can either be compressed URLs, such as source="{{1}}", or full URLs, such as source="example.com". Full URLs enclosed in curly brackets, like source="{{https://example.com}}" or source="{{example.com}}", do not work.) Table of contents: <table_of_contents color?="Color"/> Synced block: The original source for a synced block. When creating a new synced block, do not provide the URL. After inserting the synced block into a page, the URL will be provided. <synced_block url?="{{URL}}"> Children </synced_block> Note: When creating new synced blocks, omit the url attribute - it will be auto-generated. When reading existing synced blocks, the url attribute will be present. Synced block reference: A reference to a synced block. The synced block must already exist and url must be provided. You can directly update the children of the synced block reference and it will update both the original synced block and the synced block reference. <synced_block_reference url="{{URL}}"> Children </synced_block_reference> Meeting notes: <meeting-notes> Rich text (meeting title) <summary> AI-generated summary of the notes + transcript </summary> <notes> User notes </notes> <transcript> Transcript of the audio (cannot be edited) </transcript> </meeting-notes> Note: The <transcript> tag contains a raw transcript and cannot be edited. If you are creating a new meeting notes block, do not include <transcript> tags -- attempting to do so will result in an error. Unknown (a block type that is not supported in the API yet): <unknown url="{{URL}}" alt="Alt"/> </advanced-blocks>
Update page
## Overview Update a Notion page's properties or content. ## Properties Notion page properties are a JSON map of property names to SQLite values. For pages in a database: - ALWAYS use the "fetch" tool first to get the data source schema and the exact property names. - Provide a non-null value to update a property's value. - Omitted properties are left unchanged. **IMPORTANT**: Some property types require expanded formats: - Date properties: Split into "date:{property}:start", "date:{property}:end" (optional), and "date:{property}:is_datetime" (0 or 1) - Place properties: Split into "place:{property}:name", "place:{property}:address", "place:{property}:latitude", "place:{property}:longitude", and "place:{property}:google_place_id" (optional) - Number properties: Use JavaScript numbers (not strings) - Checkbox properties: Use "__YES__" for checked, "__NO__" for unchecked **Special property naming**: Properties named "id" or "url" (case insensitive) must be prefixed with "userDefined:" (e.g., "userDefined:URL", "userDefined:id") For pages outside of a database: - The only allowed property is "title", which is the title of the page in inline markdown format. ## Content Notion page content is a string in Notion-flavored Markdown format. See the "create-pages" tool description for the full enhanced Markdown spec. Before updating a page's content with this tool, use the "fetch" tool first to get the existing content to find out the Markdown snippets to use in the "replace_content_range" or "insert_content_after" commands. ## Examples <example description="Update page properties"> { "page_id": "f336d0bc-b841-465b-8045-024475c079dd", "command": "update_properties", "properties": { "title": "New Page Title", "status": "In Progress", "priority": 5, "checkbox": "__YES__", "date:deadline:start": "2024-12-25", "date:deadline:is_datetime": 0, "place:office:name": "HQ", "place:office:latitude": 37.7749, "place:office:longitude": -122.4194 } } </example> <example description="Replace the entire content of a page"> { "page_id": "f336d0bc-b841-465b-8045-024475c079dd", "command": "replace_content", "new_str": "# New Section Updated content goes here" } </example> <example description="Replace specific content in a page"> { "page_id": "f336d0bc-b841-465b-8045-024475c079dd", "command": "replace_content_range", "selection_with_ellipsis": "# Old Section...end of section", "new_str": "# New Section Updated content goes here" } </example> <example description="Insert content after specific text"> { "page_id": "f336d0bc-b841-465b-8045-024475c079dd", "command": "insert_content_after", "selection_with_ellipsis": "## Previous section...", "new_str": " ## New Section Content to insert goes here" } </example> **Note**: For selection_with_ellipsis, provide only the first ~10 characters, an ellipsis, and the last ~10 characters. Ensure the selection is unique; use longer snippets if needed to avoid ambiguity.
Move pages
Move one or more Notion pages or databases to a new parent.
Duplicate page
Duplicate a Notion page. The page must be within the current workspace, and you must have permission to access it. The duplication completes asynchronously, so do not rely on the new page identified by the returned ID or URL to be populated immediately. Let the user know that the duplication is in progress and that they can check back later using the 'fetch' tool or by clicking the returned URL and viewing it in the Notion app.
Create database
Creates a new Notion database with the specified properties. Use this tool when you need to create a new database that doesn't exist yet. The database schema is defined through the "properties" object. If no title property is provided, one will be automatically added with the name "Name". Each property should include a type and may have additional configuration based on the property type. Common property types: - title: The main property (required, cannot be deleted) - rich_text: Multi-line text - number: Numeric values with optional formatting - select: Single choice from options - multi_select: Multiple choices from options - date: Date with optional time - people: User references - checkbox: Boolean values - url: Web links - email: Email addresses - phone_number: Phone numbers - formula: Calculated values based on other properties - relation: Links to pages in another database - rollup: Aggregated values from related pages The tool returns a rendered Markdown representation of the created database including its structure, data source configuration with full schema details, and SQLite table definition. This provides complete visibility into the database that was created. Examples of creating databases: 1. Create a minimal database with auto-added title property: { "properties": {} } 2. Create a task database under a page: { "parent": {"page_id": "f336d0bc-b841-465b-8045-024475c079dd"}, "title": [{"text": {"content": "Project Tasks"}}], "properties": { "Status": { "type": "select", "select": { "options": [ {"name": "To Do", "color": "red"}, {"name": "In Progress", "color": "yellow"}, {"name": "Done", "color": "green"} ] } }, "Priority": { "type": "select", "select": { "options": [ {"name": "High", "color": "red"}, {"name": "Medium", "color": "yellow"}, {"name": "Low", "color": "green"} ] } }, "Due Date": {"type": "date", "date": {}}, "Assignee": {"type": "people", "people": {}} } } 3. Create a workspace-level database with various property types: { "title": [{"text": {"content": "Company Directory"}}], "properties": { "Name": {"type": "title", "title": {}}, "Email": {"type": "email", "email": {}}, "Phone": {"type": "phone_number", "phone_number": {}}, "Department": { "type": "select", "select": { "options": [ {"name": "Engineering", "color": "blue"}, {"name": "Sales", "color": "green"}, {"name": "Marketing", "color": "purple"} ] } }, "Start Date": {"type": "date", "date": {}}, "Is Active": {"type": "checkbox", "checkbox": {}}, "Notes": {"type": "rich_text", "rich_text": {}} } } 4. Create a database with relations (assuming target database exists): { "title": [{"text": {"content": "Tasks"}}], "properties": { "Project": { "type": "relation", "relation": { "database_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "type": "single_property", "single_property": {} } } } }
Update database
Update a Notion database's properties, name, description, or other attributes. The tool returns a rendered Markdown string showing the updated database structure, including its properties, data sources, and schema information. Database properties define the columns/fields that pages in the database can have. Each property has a type (text, number, select, etc.) and configuration options. Examples: (1) Update database title and description: { "database_id": "f336d0bc-b841-465b-8045-024475c079dd", "title": [{"type": "text", "text": {"content": "Project Tracker 2024"}}], "description": [{"type": "text", "text": {"content": "Track all projects and deliverables"}}] } (2) Add new properties to a database: { "database_id": "f336d0bc-b841-465b-8045-024475c079dd", "properties": { "Priority": { "select": { "options": [ {"name": "High", "color": "red"}, {"name": "Medium", "color": "yellow"}, {"name": "Low", "color": "green"} ] } }, "Due Date": {"date": {}}, "Assigned To": {"people": {}} } } (3) Rename an existing property (use the property ID or current name): { "database_id": "f336d0bc-b841-465b-8045-024475c079dd", "properties": { "Status": {"name": "Project Status"} } } (4) Remove a property (set to null): { "database_id": "f336d0bc-b841-465b-8045-024475c079dd", "properties": { "Old Property": null } } (5) Change display mode from inline to full page: { "database_id": "f336d0bc-b841-465b-8045-024475c079dd", "is_inline": false } (6) Move database to trash (WARNING: cannot be undone without going to the Notion app UI so explicitly confirm with the user that they really want to do this): { "database_id": "f336d0bc-b841-465b-8045-024475c079dd", "in_trash": true } Common property types: - title: The main property (required, cannot be deleted) - rich_text: Multi-line text - number: Numeric values with optional formatting - select: Single choice from options - multi_select: Multiple choices from options - date: Date with optional time - people: User references - checkbox: Boolean values - url: Web links - email: Email addresses - phone_number: Phone numbers - formula: Calculated values based on other properties - relation: Links to pages in another database - rollup: Aggregated values from related pages Notes: - You cannot delete or create new title properties - A database can only have one unique_id property - Synced databases cannot be updated - Use the "fetch" tool first to see the current database schema
Create comment
Add a comment to a page
Get comments
Get all comments of a page
Get teams
Retrieves a list of teams (teamspaces) in the current workspace. This tool provides visibility into the teams that exist and whether the authenticated user is a member of each team. Includes IDs, names, and the user's role in each team. Teams are returned split by membership status and limited to a maximum of 10 results. <examples> 1. List all teams (up to the limit of each type): {} 2. Search for teams by name: {"query": "engineering"} 3. Find a specific team: {"query": "Product Design"} </examples>
Get users
List all users
Get self
Retrieve your token's bot user
Get user
Retrieve a user
Slack Tools
33
Upload file
Upload a file. [See the documentation](https://api.slack.com/messaging/files#uploading_files)
Find message
Find a Slack message. [See the documentation](https://api.slack.com/methods/search.messages)
Verify slack signature
Verifying requests from Slack, slack signs its requests using a secret that's unique to your app. [See the documentation](https://api.slack.com/authentication/verifying-requests-from-slack)
Update profile
Update basic profile field such as name or title. [See the documentation](https://api.slack.com/methods/users.profile.set)
Update message
Update a message. [See the documentation](https://api.slack.com/methods/chat.update)
Update group members
Update the list of users for a User Group. [See the documentation](https://api.slack.com/methods/usergroups.users.update) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - usersToAdd: Return JSON in this format: string[] - usersToRemove: Return JSON in this format: string[]
Set status
Set the current status for a user. [See the documentation](https://api.slack.com/methods/users.profile.set)
Set channel topic
Set the topic on a selected channel. [See the documentation](https://api.slack.com/methods/conversations.setTopic)
Set channel description
Change the description or purpose of a channel. [See the documentation](https://api.slack.com/methods/conversations.setPurpose)
Send message
Send a message to a user, group, private channel or public channel. [See the documentation](https://api.slack.com/methods/chat.postMessage)
Send message to user or group
Send a message to a user or group. [See the documentation](https://api.slack.com/methods/chat.postMessage) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - users: Return JSON in this format: string[]
Send message to channel
Send a message to a public or private channel. [See the documentation](https://api.slack.com/methods/chat.postMessage)
Send message advanced
Customize advanced setttings and send a message to a channel, group or user. See [postMessage](https://api.slack.com/methods/chat.postMessage) or [scheduleMessage](https://api.slack.com/methods/chat.scheduleMessage) docs here
Send large message
Send a large message (more than 3000 characters) to a channel, group or user. See [postMessage](https://api.slack.com/methods/chat.postMessage) or [scheduleMessage](https://api.slack.com/methods/chat.scheduleMessage) docs here
Send block kit message
Configure custom blocks and send to a channel, group, or user. [See the documentation](https://api.slack.com/tools/block-kit-builder).
Reply to a message
Send a message as a threaded reply. See [postMessage](https://api.slack.com/methods/chat.postMessage) or [scheduleMessage](https://api.slack.com/methods/chat.scheduleMessage) docs here
List users
Return a list of all users in a workspace. [See the documentation](https://api.slack.com/methods/users.list)
List replies
Retrieve a thread of messages posted to a conversation. [See the documentation](https://api.slack.com/methods/conversations.replies)
List members in channel
Retrieve members of a channel. [See the documentation](https://api.slack.com/methods/conversations.members)
List group members
List all users in a User Group. [See the documentation](https://api.slack.com/methods/usergroups.users.list)
List files
Return a list of files within a team. [See the documentation](https://api.slack.com/methods/files.list)
List channels
Return a list of all channels in a workspace. [See the documentation](https://api.slack.com/methods/conversations.list)
Kick user
Remove a user from a conversation. [See the documentation](https://api.slack.com/methods/conversations.kick)
Invite user to channel
Invite a user to an existing channel. [See the documentation](https://api.slack.com/methods/conversations.invite)
Get file
Return information about a file. [See the documentation](https://api.slack.com/methods/files.info)
Find user by email
Find a user by matching against their email. [See the documentation](https://api.slack.com/methods/users.lookupByEmail)
Delete message
Delete a message. [See the documentation](https://api.slack.com/methods/chat.delete)
Delete file
Delete a file. [See the documentation](https://api.slack.com/methods/files.delete)
Create reminder
Create a reminder. [See the documentation](https://api.slack.com/methods/reminders.add)
Create channel
Create a new channel. [See the documentation](https://api.slack.com/methods/conversations.create)
Archive channel
Archive a channel. [See the documentation](https://api.slack.com/methods/conversations.archive)
Approve workflow
Suspend the workflow until approved by a Slack message. [See the documentation](https://pipedream.com/docs/code/nodejs/rerun#flowsuspend)
Add emoji reaction
Add an emoji reaction to a message. [See the documentation](https://api.slack.com/methods/reactions.add)
Microsoft Teams Tools
5
Send chat message
Send a message to a team's chat. [See the docs here](https://docs.microsoft.com/en-us/graph/api/chat-post-messages?view=graph-rest-1.0&tabs=http)
Send channel message
Send a message to a team's channel. [See the docs here](https://docs.microsoft.com/en-us/graph/api/channel-post-messages?view=graph-rest-1.0&tabs=http)
List shifts
Get the list of shift instances for a team. [See the documentation](https://learn.microsoft.com/en-us/graph/api/schedule-list-shifts?view=graph-rest-1.0&tabs=http)
List channels
Lists all channels in a Microsoft Team. [See the docs here](https://docs.microsoft.com/en-us/graph/api/channel-list?view=graph-rest-1.0&tabs=http)
Create channel
Create a new channel in Microsoft Teams. [See the docs here](https://docs.microsoft.com/en-us/graph/api/channel-post?view=graph-rest-1.0&tabs=http)
Gmail Tools
12
Download attachment
Download an attachment by attachmentId to the /tmp directory. [See the documentation](https://developers.google.com/gmail/api/reference/rest/v1/users.messages.attachments/get)
Update primary signature
Update the signature for the primary email address. [See the documentation](https://developers.google.com/gmail/api/reference/rest/v1/users.settings.sendAs/update)
Update org signature
Update the signature for a specific email address in an organization. A Google Cloud service account with delegated domain-wide authority is required for this action. [See the documentation](https://developers.google.com/gmail/api/reference/rest/v1/users.settings.sendAs/update)
Send email
Send an email from your Google Workspace email account. [See the documentation](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/send) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - to: Return JSON in this format: string[] - cc: Return JSON in this format: string[] - bcc: Return JSON in this format: string[] - attachmentFilenames: Return JSON in this format: string[] - attachmentUrlsOrPaths: Return JSON in this format: string[]
Remove label from email
Remove label(s) from an email message. [See the docs](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/modify) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - removeLabelIds: Return JSON in this format: string[]
List labels
List all the existing labels in the connected account. [See the docs](https://developers.google.com/gmail/api/reference/rest/v1/users.labels/list)
Find email
Find an email using Google's Search Engine. [See the docs](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/list) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - labels: Return JSON in this format: string[]
Create draft
Create a draft from your Google Workspace email account. [See the documentation](https://developers.google.com/gmail/api/reference/rest/v1/users.drafts/create) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - to: Return JSON in this format: string[] - cc: Return JSON in this format: string[] - bcc: Return JSON in this format: string[] - attachmentFilenames: Return JSON in this format: string[] - attachmentUrlsOrPaths: Return JSON in this format: string[]
Archive email
Archive an email message. [See the documentation](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/modify)
Approve workflow
Suspend the workflow until approved by email. [See the documentation](https://pipedream.com/docs/code/nodejs/rerun#flowsuspend) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - to: Return JSON in this format: string[]
Add label to email
Add label(s) to an email message. [See the docs](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/modify) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - addLabelIds: Return JSON in this format: string[]
Create label
Create a new label in the connected account. [See the documentation](https://developers.google.com/workspace/gmail/api/reference/rest/v1/users.labels/create)
Google Drive Tools
25
Download file
Download a file. [See the documentation](https://developers.google.com/drive/api/v3/manage-downloads) for more information
Upload file
Upload a file to Google Drive. [See the documentation](https://developers.google.com/drive/api/v3/manage-uploads) for more information
Update file
Update a file's metadata and/or content. [See the documentation](https://developers.google.com/drive/api/v3/reference/files/update) for more information IMPORTANT: The arguments have specific formats. Please follow the instructions below: - addParents: Return JSON in this format: string[] - removeParents: Return JSON in this format: string[]
Update shared drive
Update an existing shared drive. [See the documentation](https://developers.google.com/drive/api/v3/reference/drives/update) for more information
Search shared drives
Search for shared drives with query options. [See the documentation](https://developers.google.com/drive/api/v3/search-shareddrives) for more information
Resolve access proposal
Accept or deny a request for access to a file or folder in Google Drive. [See the documentation](https://developers.google.com/workspace/drive/api/reference/rest/v3/accessproposals/resolve) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - roles: Return JSON in this format: string[]
Move file
Move a file from one folder to another. [See the documentation](https://developers.google.com/drive/api/v3/reference/files/update) for more information
Move file to trash
Move a file or folder to trash. [See the documentation](https://developers.google.com/drive/api/v3/reference/files/update) for more information
List files
List files from a specific folder. [See the documentation](https://developers.google.com/drive/api/v3/reference/files/list) for more information
List access proposals
List access proposals for a file or folder. [See the documentation](https://developers.google.com/workspace/drive/api/reference/rest/v3/accessproposals/list)
Get shared drive
Get metadata for one or all shared drives. [See the documentation](https://developers.google.com/drive/api/v3/reference/drives/get) for more information
Get folder id for path
Retrieve a folderId for a path. [See the documentation](https://developers.google.com/drive/api/v3/search-files) for more information
Get file by id
Get info on a specific file. [See the documentation](https://developers.google.com/drive/api/reference/rest/v3/files/get) for more information IMPORTANT: The arguments have specific formats. Please follow the instructions below: - fields: Return JSON in this format: string[]
Find spreadsheets
Search for a specific spreadsheet by name. [See the documentation](https://developers.google.com/drive/api/v3/search-files) for more information
Find forms
List Google Form documents or search for a Form by name. [See the documentation](https://developers.google.com/drive/api/v3/search-files) for more information
Find file
Search for a specific file by name. [See the documentation](https://developers.google.com/drive/api/v3/search-files) for more information
Delete shared drive
Delete a shared drive without any content. [See the documentation](https://developers.google.com/drive/api/v3/reference/drives/delete) for more information
Delete file
Permanently delete a file or folder without moving it to the trash. [See the documentation](https://developers.google.com/drive/api/v3/reference/files/delete) for more information
Create shared drive
Create a new shared drive. [See the documentation](https://developers.google.com/drive/api/v3/reference/drives/create) for more information
Create folder
Create a new empty folder. [See the documentation](https://developers.google.com/drive/api/v3/reference/files/create) for more information
Create file from text
Create a new file from plain text. [See the documentation](https://developers.google.com/drive/api/v3/reference/files/create) for more information
Create file from template
Create a new Google Docs file from a template. Optionally include placeholders in the template document that will get replaced from this action. [See documentation](https://www.npmjs.com/package/google-docs-mustaches) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - mode: Return JSON in this format: string[]
Copy file
Create a copy of the specified file. [See the documentation](https://developers.google.com/drive/api/v3/reference/files/copy) for more information
Add file sharing preference
Add a [sharing permission](https://support.google.com/drive/answer/7166529) to the sharing preferences of a file or folder and provide a sharing URL. [See the documentation](https://developers.google.com/drive/api/v3/reference/permissions/create)
Find folder
Search for a specific folder by name. [See the documentation](https://developers.google.com/drive/api/v3/search-files) for more information
Google Calendar Tools
10
Create event
Create an event in a Google Calendar. [See the documentation](https://developers.google.com/calendar/api/v3/reference/events/insert)
Update event
Update an event from Google Calendar. [See the documentation](https://googleapis.dev/nodejs/googleapis/latest/calendar/classes/Resource$Events.html#update)
Quick add event
Create a quick event to the Google Calendar. [See the documentation](https://googleapis.dev/nodejs/googleapis/latest/calendar/classes/Resource$Events.html#quickAdd)
Query free busy calendars
Retrieve free/busy calendar details from Google Calendar. [See the documentation](https://googleapis.dev/nodejs/googleapis/latest/calendar/classes/Resource$Freebusy.html#query)
List events
Retrieve a list of event from the Google Calendar. [See the documentation](https://developers.google.com/calendar/api/v3/reference/events/list) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - eventTypes: Return JSON in this format: string[]
List calendars
Retrieve a list of calendars from Google Calendar. [See the documentation](https://googleapis.dev/nodejs/googleapis/latest/calendar/classes/Resource$Calendarlist.html#list)
Get event
Retrieve event details from Google Calendar. [See the documentation](https://googleapis.dev/nodejs/googleapis/latest/calendar/classes/Resource$Events.html#get)
Get calendar
Retrieve calendar details of a Google Calendar. [See the documentation](https://googleapis.dev/nodejs/googleapis/latest/calendar/classes/Resource$Calendars.html#get)
Delete event
Delete an event from a Google Calendar. [See the documentation](https://googleapis.dev/nodejs/googleapis/latest/calendar/classes/Resource$Events.html#delete)
Add attendees to event
Add attendees to an existing event. [See the documentation](https://googleapis.dev/nodejs/googleapis/latest/calendar/classes/Resource$Events.html#update)
Microsoft Outlook Tools
15
Find email
Search for an email in Microsoft Outlook. [See the documentation](https://learn.microsoft.com/en-us/graph/api/user-list-messages)
Update contact
Add a contact to the root Contacts folder, [See the docs](https://docs.microsoft.com/en-us/graph/api/user-post-contacts) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - emailAddresses: Return JSON in this format: string[] - businessPhones: Return JSON in this format: string[]
Send email
Send an email to one or multiple recipients, [See the docs](https://docs.microsoft.com/en-us/graph/api/user-sendmail) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - recipients: Return JSON in this format: string[] - ccRecipients: Return JSON in this format: string[] - bccRecipients: Return JSON in this format: string[] - files: Return JSON in this format: string[]
Reply to email
Reply to an email in Microsoft Outlook. [See the documentation](https://learn.microsoft.com/en-us/graph/api/message-reply) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - recipients: Return JSON in this format: string[] - ccRecipients: Return JSON in this format: string[] - bccRecipients: Return JSON in this format: string[] - files: Return JSON in this format: string[]
Remove label from email
Removes a label/category from an email in Microsoft Outlook. [See the documentation](https://learn.microsoft.com/en-us/graph/api/message-update)
Move email to folder
Moves an email to the specified folder in Microsoft Outlook. [See the documentation](https://learn.microsoft.com/en-us/graph/api/message-move)
List labels
Get all the labels/categories that have been defined for a user. [See the documentation](https://learn.microsoft.com/en-us/graph/api/outlookuser-list-mastercategories)
List folders
Retrieves a list of all folders in Microsoft Outlook. [See the documentation](https://learn.microsoft.com/en-us/graph/api/user-list-mailfolders)
List contacts
Get a contact collection from the default contacts folder, [See the documentation](https://docs.microsoft.com/en-us/graph/api/user-list-contacts)
Find contacts
Finds contacts with the given search string. [See the documentation](https://docs.microsoft.com/en-us/graph/api/user-list-contacts)
Create draft email
Create a draft email, [See the documentation](https://docs.microsoft.com/en-us/graph/api/user-post-messages) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - recipients: Return JSON in this format: string[] - ccRecipients: Return JSON in this format: string[] - bccRecipients: Return JSON in this format: string[] - files: Return JSON in this format: string[]
Create contact
Add a contact to the root Contacts folder, [See the documentation](https://docs.microsoft.com/en-us/graph/api/user-post-contacts) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - emailAddresses: Return JSON in this format: string[] - businessPhones: Return JSON in this format: string[]
Approve workflow
Suspend the workflow until approved by email. [See the documentation](https://pipedream.com/docs/code/nodejs/rerun#flowsuspend) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - recipients: Return JSON in this format: string[]
Add label to email
Adds a label/category to an email in Microsoft Outlook. [See the documentation](https://learn.microsoft.com/en-us/graph/api/message-update)
Download attachment
Downloads an attachment to the /tmp directory. [See the documentation](https://learn.microsoft.com/en-us/graph/api/attachment-get?view=graph-rest-1.0&tabs=http)
Github Tools
91
Add comment to pending review
Add review comment to the requester's latest pending pull request review. A pending review needs to already exist to call this (check with the user if not sure).
Add issue comment
Add a comment to a specific issue in a GitHub repository.
Add sub issue
Add a sub-issue to a parent issue in a GitHub repository.
Assign copilot to issue
Assign Copilot to a specific issue in a GitHub repository. This tool can help with the following outcomes: - a Pull Request created with source code changes to resolve the issue More information can be found at: - https://docs.github.com/en/copilot/using-github-copilot/using-copilot-coding-agent-to-work-on-tasks/about-assigning-tasks-to-copilot
Cancel workflow run
Cancel a workflow run
Create and submit pull request review
Create and submit a review for a pull request without review comments.
Create branch
Create a new branch in a GitHub repository
Create gist
Create a new gist
Create issue
Create a new issue in a GitHub repository.
Create or update file
Create or update a single file in a GitHub repository. If updating, you must provide the SHA of the file you want to update. Use this tool to create or update a file in a GitHub repository remotely; do not use it for local file operations.
Create pending pull request review
Create a pending review for a pull request. Call this first before attempting to add comments to a pending review, and ultimately submitting it. A pending pull request review means a pull request review, it is pending because you create it first and submit it later, and the PR author will not see it until it is submitted.
Create pull request
Create a new pull request in a GitHub repository.
Create pull request with copilot
Delegate a task to GitHub Copilot coding agent to perform in the background. The agent will create a pull request with the implementation. You should use this tool if the user asks to create a pull request to perform a specific task, or if the user asks Copilot to do something.
Create repository
Create a new GitHub repository in your account
Delete file
Delete a file from a GitHub repository
Delete pending pull request review
Delete the requester's latest pending pull request review. Use this after the user decides not to submit a pending review, if you don't know if they already created one then check first.
Delete workflow run logs
Delete logs for a workflow run
Dismiss notification
Dismiss a notification by marking it as read or done
Download workflow run artifact
Get download URL for a workflow run artifact
Fork repository
Fork a GitHub repository to your account or specified organization
Get code scanning alert
Get details of a specific code scanning alert in a GitHub repository.
Get commit
Get details for a commit from a GitHub repository
Get dependabot alert
Get details of a specific dependabot alert in a GitHub repository.
Get discussion
Get a specific discussion by ID
Get discussion comments
Get comments from a discussion
Get file contents
Get the contents of a file or directory from a GitHub repository
Get global security advisory
Get a global security advisory
Get issue
Get details of a specific issue in a GitHub repository.
Get issue comments
Get comments for a specific issue in a GitHub repository.
Get job logs
Download logs for a specific workflow job or efficiently get all failed job logs for a workflow run
Get latest release
Get the latest release in a GitHub repository
Get me
Get details of the authenticated GitHub user. Use this when a request is about the user's own profile for GitHub. Or when information is missing to build other tool calls.
Get notification details
Get detailed information for a specific GitHub notification, always call this tool when the user asks for details about a specific notification, if you don't know the ID list notifications first.
Get pull request
Get details of a specific pull request in a GitHub repository.
Get pull request comments
Get comments for a specific pull request.
Get pull request diff
Get the diff of a pull request.
Get pull request files
Get the files changed in a specific pull request.
Get pull request reviews
Get reviews for a specific pull request.
Get pull request status
Get the status of a specific pull request.
Get release by tag
Get a specific release by its tag name in a GitHub repository
Get secret scanning alert
Get details of a specific secret scanning alert in a GitHub repository.
Get tag
Get details about a specific git tag in a GitHub repository
Get team members
Get member usernames of a specific team in an organization. Limited to organizations accessible with current credentials
Get teams
Get details of the teams the user is a member of. Limited to organizations accessible with current credentials
Get workflow run
Get details of a specific workflow run
Get workflow run logs
Download logs for a specific workflow run (EXPENSIVE: downloads ALL logs as ZIP. Consider using get_job_logs with failed_only=true for debugging failed jobs)
Get workflow run usage
Get usage metrics for a workflow run
List branches
List branches in a GitHub repository
List code scanning alerts
List code scanning alerts in a GitHub repository.
List commits
Get list of commits of a branch in a GitHub repository. Returns at least 30 results per page by default, but can return more if specified using the perPage parameter (up to 100).
List dependabot alerts
List dependabot alerts in a GitHub repository.
List discussion categories
List discussion categories with their id and name, for a repository or organisation.
List discussions
List discussions for a repository or organisation.
List gists
List gists for a user
List global security advisories
List global security advisories from GitHub.
List issue types
List supported issue types for repository owner (organization).
List issues
List issues in a GitHub repository. For pagination, use the 'endCursor' from the previous response's 'pageInfo' in the 'after' parameter.
List notifications
Lists all GitHub notifications for the authenticated user, including unread notifications, mentions, review requests, assignments, and updates on issues or pull requests. Use this tool whenever the user asks what to work on next, requests a summary of their GitHub activity, wants to see pending reviews, or needs to check for new updates or tasks. This tool is the primary way to discover actionable items, reminders, and outstanding work on GitHub. Always call this tool when asked what to work on next, what is pending, or what needs attention in GitHub.
List org repository security advisories
List repository security advisories for a GitHub organization.
List pull requests
List pull requests in a GitHub repository. If the user specifies an author, then DO NOT use this tool and use the search_pull_requests tool instead.
List releases
List releases in a GitHub repository
List repository security advisories
List repository security advisories for a GitHub repository.
List secret scanning alerts
List secret scanning alerts in a GitHub repository.
List sub issues
List sub-issues for a specific issue in a GitHub repository.
List tags
List git tags in a GitHub repository
List workflow jobs
List jobs for a specific workflow run
List workflow run artifacts
List artifacts for a workflow run
List workflow runs
List workflow runs for a specific workflow
List workflows
List workflows in a repository
Manage notification subscription
Manage a notification subscription: ignore, watch, or delete a notification thread subscription.
Manage repository notification subscription
Manage a repository notification subscription: ignore, watch, or delete repository notifications subscription for the provided repository.
Mark all notifications read
Mark all notifications as read
Merge pull request
Merge a pull request in a GitHub repository.
Push files
Push multiple files to a GitHub repository in a single commit
Remove sub issue
Remove a sub-issue from a parent issue in a GitHub repository.
Reprioritize sub issue
Reprioritize a sub-issue to a different position in the parent issue's sub-issue list.
Request copilot review
Request a GitHub Copilot code review for a pull request. Use this for automated feedback on pull requests, usually before requesting a human reviewer.
Rerun failed jobs
Re-run only the failed jobs in a workflow run
Rerun workflow run
Re-run an entire workflow run
Run workflow
Run an Actions workflow by workflow ID or filename
Search code
Fast and precise code search across ALL GitHub repositories using GitHub's native search engine. Best for finding exact symbols, functions, classes, or specific code patterns.
Search issues
Search for issues in GitHub repositories using issues search syntax already scoped to is:issue
Search orgs
Find GitHub organizations by name, location, or other organization metadata. Ideal for discovering companies, open source foundations, or teams.
Search pull requests
Search for pull requests in GitHub repositories using issues search syntax already scoped to is:pr
Search repositories
Find GitHub repositories by name, description, readme, topics, or other metadata. Perfect for discovering projects, finding examples, or locating specific repositories across GitHub.
Search users
Find GitHub users by username, real name, or other profile information. Useful for locating developers, contributors, or team members.
Submit pending pull request review
Submit the requester's latest pending pull request review, normally this is a final step after creating a pending review, adding comments first, unless you know that the user already did the first two steps, you should check before calling this.
Update gist
Update an existing gist
Update issue
Update an existing issue in a GitHub repository.
Update pull request
Update an existing pull request in a GitHub repository.
Update pull request branch
Update the branch of a pull request with the latest changes from the base branch.
Jira Tools
20
Update issue
Updates an issue. A transition may be applied and issue properties updated as part of the edit, [See the docs](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issues/#api-rest-api-3-issue-issueidorkey-put)
Update comment
Updates a comment, [See the docs](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-comments/#api-rest-api-3-issue-issueidorkey-comment-id-put)
Transition issue
Performs an issue transition and, if the transition has a screen, updates the fields from the transition screen, [See the docs](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issues/#api-rest-api-3-issue-issueidorkey-transitions-post)
Search issues with jql
Search for issues using JQL (Jira Query Language). [See the documentation](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-search/#api-rest-api-3-search-jql-get) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - expand: Return JSON in this format: string[]
List issue comments
Lists all comments for an issue, [See the docs](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-comments/#api-rest-api-3-issue-issueidorkey-comment-get)
Get users
Gets details of a list of users. [See docs here](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-user-search/#api-rest-api-3-user-search-get)
Get user
Gets details of user, [See the docs](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-users/#api-rest-api-3-user-get)
Get transitions
Gets either all transitions or a transition that can be performed by the user on an issue, based on the issue's status, [See the docs](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issues/#api-rest-api-3-issue-issueidorkey-transitions-get)
Get task
Gets the status of a long-running asynchronous task, [See the docs](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-tasks/#api-rest-api-3-task-taskid-get)
Get issue
Gets the details for an issue. [See the docs](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issues/#api-rest-api-3-issue-issueidorkey-get)
Get all projects
Gets metadata on all projects, [See the docs](https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-project-get)
Delete project
Deletes a project, [See the docs](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-projects/#api-rest-api-3-project-projectidorkey-delete)
Create version
Creates a project version., [See the docs](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-project-versions/#api-rest-api-3-version-post)
Create issue
Creates an issue or, where the option to create subtasks is enabled in Jira, a subtask, [See the docs](https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-issue-post)
Create custom field options context
Create a context for custom field options. [See the documentation here](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-custom-field-options/#api-rest-api-3-field-fieldid-context-contextid-option-post). IMPORTANT: The arguments have specific formats. Please follow the instructions below: - options: Return JSON in this format: string[]
Assign issue
Assigns an issue to a user. [See the docs](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issues/#api-rest-api-3-issue-issueidorkey-assignee-put)
Add watcher to issue
Adds a user as a watcher of an issue by passing the account ID of the user, For example, `5b10ac8d82e05b22cc7d4ef5`, If no user is specified the calling user is added. [See the docs](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-watchers/#api-rest-api-3-issue-issueidorkey-watchers-post)
Add multiple attachments to issue
Adds multiple attachments to an issue, [See the docs](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-attachments/#api-rest-api-3-issue-issueidorkey-attachments-post) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - files: Return JSON in this format: string[]
Add comment to issue
Adds a new comment to an issue, [See the docs](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-comments/#api-rest-api-3-issue-issueidorkey-comment-post)
Add attachment to issue
Adds an attachment to an issue, [See the docs](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-attachments/#api-rest-api-3-issue-issueidorkey-attachments-post)
Linear Tools
24
List comments
List comments for a specific Linear issue
Create comment
Create a comment on a specific Linear issue
List cycles
Retrieve cycles for a specific Linear team
Get document
Retrieve a Linear document by ID or slug
List documents
List documents in the user's Linear workspace
Get issue
Retrieve detailed information about an issue by ID, including attachments and git branch name
List issues
List issues in the user's Linear workspace
Create issue
Create a new Linear issue
Update issue
Update an existing Linear issue
List issue statuses
List available issue statuses in a Linear team
Get issue status
Retrieve detailed information about an issue status in Linear by name or ID
List my issues
List issues assigned to the current user
List issue labels
List available issue labels in a Linear workspace or team
Create issue label
Create a new Linear issue label
List projects
List projects in the user's Linear workspace
Get project
Retrieve details of a specific project in Linear
Create project
Create a new project in Linear
Update project
Update an existing Linear project
List project labels
List available project labels in the Linear workspace
List teams
List teams in the user's Linear workspace
Get team
Retrieve details of a specific Linear team
List users
Retrieve users in the Linear workspace
Get user
Retrieve details of a specific Linear user
Search documentation
Search Linear's documentation to learn about features and usage
Asana Tools
42
Get attachment
Get detailed attachment data including name, resource type, download_url, view_url, and parent. Returns complete attachment information needed for accessing attached files.
Get attachments for object
List all attachments for a project, project brief, or task. Returns attachment names, IDs, and URLs (download_url, permanent_url, view_url). Use for accessing files attached to Asana objects. Supports pagination for objects with many attachments.
Get goals
List goals filtered by context (portfolio, project, task, workspace, or team). One context required. Returns goal names, IDs. Use for goal overview or reporting.
Get goal
Get detailed goal data including name, owner, current_status_update, and due_on. Use after finding goal ID via typeahead. Returns complete goal configuration needed for goal operations.
Create goal
Create a new goal. REQUIRES name, time_period, and either workspace or team. Use to establish objectives and key results. Returns created goal details with ID. Supports start/due dates and goal ownership assignment.
Get parent goals for goal
List all parent goals for a specific goal. Returns parent goal names, IDs, and metric.progress. Use to understand goal hierarchy and relationships. Important for managing nested OKRs and goal dependencies.
Update goal
Update goal properties like name, owner, dates, metrics, or status. Use for adjusting timelines, progress, or reassigning ownership. Returns updated goal data. Partial updates supported - only specified fields will change.
Get portfolio
Get detailed portfolio data by ID including name, owner, and projects. Use after finding portfolio ID via typeahead. Returns complete portfolio configuration. Essential for understanding portfolio context and content.
Get portfolios
List portfolios filtered by workspace and owner. REQUIRES workspace parameter. Owner defaults to "me" (current user) if not specified. Returns portfolio names and IDs. Use for portfolio discovery and management. Supports pagination for workspaces with many portfolios.
Get items for portfolio
List projects, goals, and other items in a portfolio. Returns item names, IDs, and types. Use for portfolio content exploration and management. Supports pagination for portfolios with many items.
Get project
Get detailed project data including name, description, owner, members, custom fields, and settings. Use after finding project ID via typeahead. Returns complete project configuration needed for task operations. Specify opt_fields for custom fields data.
Get project sections
List all sections in a project with their IDs. Essential for task placement and organization. Returns section names and IDs needed for creating/moving tasks. Use before creating tasks to find correct section ID.
Get projects
List projects filtered by workspace. Supports team, archived filters. Returns project names and IDs. Use for filtered project views and bulk operations.
Get project status
Get single status update by ID. Returns color (green/yellow/red), text, author, and timestamp. Use when you know specific status ID. For all statuses, use asana_get_project_statuses instead.
Get project statuses
List all status updates for a project chronologically. Returns status color, text, author for each update. Use to track project health over time. Supports pagination for projects with many updates.
Create project status
Create project status update with color (green/yellow/red) and text. Use for regular project health updates, milestone documentation, or blocker reporting. Supports HTML formatting. Returns created status ID.
Get project task counts
Get task statistics for a project. Returns counts of incomplete, completed, and milestone tasks. Use for quick project progress overview, capacity checks, or reporting dashboards.
Get projects for team
List all projects for a team. Returns both active and archived projects with IDs. Use after finding team ID via typeahead. Supports pagination for teams with many projects. Essential for team portfolio views.
Get projects for workspace
Get ALL projects in a workspace across all teams. Returns project names and IDs. Use for workspace-wide operations or when team is unknown. May return large result set - consider using typeahead search first.
Create project
Create new project in Asana. Every project requires a workspace, and this cannot be changed after creation. If workspace is an organization, a team must also be specified. Client agents should explicitly ask for team when creating a project rather than inferring it. Supports custom fields, templates, due dates, and privacy settings. Returns project ID for immediate task creation. Essential for project setup.
Search tasks
Advanced task search with multiple filters. Supports text search, all date filters, status filters, user filters, project/portfolio/section/tag filters, and custom fields. Returns matching tasks with IDs. Handles complex queries and bulk task operations. When the user asks about tasks assigned to them, use assignee_any="me" for best results. Note: If you specify projects_any and sections_any, you will receive tasks for the project and tasks for the section. If you're looking for only tasks in a section, omit the projects_any from the request.
Get task
Get full task details by ID. Returns name, description, assignee, due dates, custom fields, projects, dependencies. Essential before updating tasks. Use opt_fields for custom field values. Required for understanding task context.
Create task
Create task in Asana with context. REQUIRES one of: project_id, parent, or workspace+assignee together. For assignee-only tasks, both workspace and assignee must be provided. Returns task ID with confirmation. You can directly tag and mention people by using links in html_notes field
Update task
Update existing task properties. Change name, notes, assignee, completion status, due dates, custom fields. Requires task ID. Returns updated task data. Use asana_get_task first to understand current state.
Get stories for task
Get task activity history (comments, status changes, system events). Returns chronological stories with authors and timestamps. Use for audit trails, understanding task evolution, or retrieving comments.
Create task story
Add explicit comment to task. ONLY for discussion, feedback, questions, or context not captured by automatic activity logging. Task actions (assignments, status changes) are logged automatically. Returns story ID.
Set task dependencies
Set tasks this task depends on (prerequisites). Creates dependency relationship where this task is blocked until dependencies complete. Use for workflow sequencing and project planning. Requires list of task IDs.
Set task dependents
Set tasks blocked by this task (tasks waiting on this one). Creates dependency where other tasks cannot start until this completes. Use for blocking relationships in project schedules. Requires list of task IDs.
Set parent for task
Change task parent (convert to/from subtask). Set parent=null to make regular task. Supports insert positioning among siblings. Use for reorganizing task hierarchy. Returns updated task hierarchy data.
Get tasks
List tasks filtered by context (workspace/project/tag/section/user list). One context required. Supports assignee, date filters. Returns task names and IDs. Use for filtered task views and bulk operations.
Delete task
Delete task from Asana. Use with extreme caution as recovery is challenging. Deletes the task and any subtasks that are not also in another project. Returns success confirmation. Requires task ID. Essential for removing duplicate or obsolete tasks.
Add task followers
Add followers to task (team members to notify of updates). Automatically sends notifications for task changes. Returns updated followers list. Essential for task collaboration and visibility.
Remove task followers
Remove followers from task (stop notification subscriptions). Prevents future notifications while maintaining history. Returns updated followers list. Essential for reducing notification noise or when team members change.
Get teams for workspace
List all teams in workspace. Returns team names and IDs. Use to discover teams before searching team projects/users. Essential for workspace structure understanding. Supports pagination.
Get teams for user
Get teams user belongs to. Returns team names and IDs. Use to check user team access or find teams for specific user. Requires organization ID. "me" supported for current user.
Get time period
Get detailed information about a time period by ID. Returns name, start date, end date, and status. Use after finding time period ID from other tools. Essential for working with goals and time-based planning.
Get time periods
List available time periods in a workspace. Filterable by date range. Returns time period names, IDs, start/end dates. REQUIRES workspace parameter. Use for goal planning, reporting periods, or OKR cycles.
Typeahead search
Quick search across Asana objects. ALWAYS use this FIRST before specialized search. Returns most relevant items based on recency and usage. Faster than dedicated search tools for finding specific items. Works for: users, projects, tasks, teams, tags, portfolios, goals. Empty query returns recently accessed items. DO NOT guess the workspace GID. If no workspace GID is provided look it up.
Get user
Get user details by ID, email, or "me". Returns name, email, workspaces. Use to find user IDs for task assignment. "me" returns authenticated user info. Essential before assigning tasks. When no user_id is provided, defaults to "me" (authenticated user) - equivalent to the former asana_get_user_info tool.
Get team users
List all team members. Returns user names and IDs. Use team ID from typeahead search first. Supports pagination for large teams. Results are sorted alphabetically and limited to 2000 results.
Get workspace users
Get all users in workspace. Returns compact users with names and IDs. Results are sorted alphabetically and limited to 2000. Prefer searching more narrowly, like by typeahead or team first instead of this.
List workspaces
Get all accessible workspaces. Returns workspace IDs needed for most other operations. Always call this FIRST to discover valid workspace IDs before using workspace-specific tools. Results include workspace name, ID, and organization info.
Hubspot Tools
21
Get user details
🎯 Purpose 1. Authenticates and analyzes the current HubSpot access token, providing context about the user's permissions and account details. 🧭 Usage Guidance: 1. This tool must be used before performing any operations with Hubspot tools to determine the identity of the user, and permissions they have on their Hubspot account. 📦 Returns: 1. User ID, Hub ID, App ID, token type, a comprehensive list of authorized API scopes, and detailed owner information, and account information. 2. The uiDomain and hubId can be used to construct URLs to the HubSpot UI for the user. 3. If the user is an owner, the ownerId will help identify objects that are owned by the user.
List objects
🎯 Purpose: 1. Retrieves a paginated list of objects of a specified type from HubSpot. 📦 Returns: 1. Collection of objects with their properties and metadata, plus pagination information. 🧭 Usage Guidance: 1. Use for initial data exploration to understand the data structure of a HubSpot object type. 2. Helps list objects when the search criteria or filter criteria is not clear. 3. Use hubspot-search-objects for targeted queries when the data structure is known. 4. Use hubspot-batch-read-objects to retrieve specific objects by their IDs. 5. Use hubspot-list-associations to list associations between objects.
Search objects
🎯 Purpose: 1. Performs advanced filtered searches across HubSpot object types using complex criteria. 📋 Prerequisites: 1. Use the hubspot-list-objects tool to sample existing objects for the object type. 2. If hubspot-list-objects tool's response isn't helpful, use hubspot-list-properties tool. 📦 Returns: 1. Filtered collection matching specific criteria with pagination information. 🧭 Usage Guidance: 1. Preferred for targeted data retrieval when exact filtering criteria are known. Supports complex boolean logic through filter groups. 2. Use hubspot-list-objects when filter criteria is not specified or clear or when a search fails. 3. Use hubspot-batch-read-objects to retrieve specific objects by their IDs. 4. Use hubspot-list-associations to get the associations between objects. 🔍 Filtering Capabilities: 1. Think of "filterGroups" as separate search conditions that you want to combine with OR logic (meaning ANY of them can match). 2. If you want to find things that match ALL of several conditions (AND logic), put those conditions together in the same filters list. 3. If you want to find things that match AT LEAST ONE of several conditions (OR logic), put each condition in a separate filterGroup. 4. You can include a maximum of five filterGroups with up to 6 filters in each group, with a maximum of 18 filters in total.
Batch create associations
🛡️ Guardrails: 1. Data Modification Warning: This tool modifies HubSpot data. Only use when the user has explicitly requested to update their CRM. 🎯 Purpose: 1. Establishes relationships between HubSpot objects, linking records across different object types, by creating associations between objects in batch. 2. Uses a single set of association types for all associations in the batch. 📋 Prerequisites: 1. Use the hubspot-get-user-details tool to get the OwnerId and UserId if you don't have that already. 2. Use the hubspot-get-association-definitions tool to identify valid association types before creating associations.
Get association definitions
🎯 Purpose: 1. Retrieves valid association types between specific HubSpot object types. 📦 Returns: 1. Array of valid association definitions with type IDs, labels, and categories. 🧭 Usage Guidance: 1. Always use before creating associations to ensure valid relationship types or to help troubleshoot association creation errors.
List associations
🎯 Purpose: 1. Retrieves existing relationships between a specific object and other objects of a particular type. 2. For example, you can find all companies that a contact is associated with, all deals related to a company, or discover which customers have an open ticket. 📦 Returns: 1. Collection of associated object IDs and relationship metadata. 2. Use hubspot-batch-read-objects to get more information about the associated objects. 🧭 Usage Guidance: 1. Use this tool when mapping relationships between different HubSpot objects to understand your data's connections. 2. This tool is ideal when you already know a specific record's ID and need to discover its relationships with other object types. 3. Prefer this over hubspot-search-objects tool when exploring established connections rather than filtering by properties or criteria.
Batch create objects
🛡️ Guardrails: 1. Data Modification Warning: This tool modifies HubSpot data. Only use when the user has explicitly requested to update their CRM. 🎯 Purpose: 1. Creates multiple HubSpot objects of the same objectType in a single API call, optimizing for bulk operations. 📋 Prerequisites: 1. Use the hubspot-get-user-details tool to get the OwnerId and UserId if you don't have that already. 2. Use the hubspot-list-objects tool to sample existing objects for the object type. 3. Use the hubspot-get-association-definitions tool to identify valid association types before creating associations.
Batch update objects
🛡️ Guardrails: 1. Data Modification Warning: This tool modifies HubSpot data. Only use when the user has explicitly requested to update their CRM. 🎯 Purpose: 1. Updates multiple existing HubSpot objects of the same objectType in a single API call. 2. Use this tool when the user wants to update one or more existing CRM objects. 3. If you are unsure about the property type to update, identify existing properties of the object and ask the user. 📋 Prerequisites: 1. Use the hubspot-get-user-details tool to get the OwnerId and UserId if you don't have that already. 2. Use the hubspot-list-objects tool to sample existing objects for the object type. 3. If hubspot-list-objects tool's response isn't helpful, use hubspot-list-properties tool.
Batch read objects
🎯 Purpose: 1. Retrieves multiple HubSpot objects of the same object type by their IDs in a single batch operation. 🧭 Usage Guidance: 1. Use this tool to retrieve objects when the object IDs are known.
List properties
🎯 Purpose: 1. This tool retrieves a complete catalog of properties for any HubSpot object type. 🧭 Usage Guidance: 1. This API has a large response that can consume a lot of tokens. Use the hubspot-list-objects tool to sample existing objects for the object type first. 2. Try to use the hubspot-get-property tool to get a specific property. 3. Use at the beginning of workflows to understand available data structures.
Get property
🎯 Purpose: 1. This tool retrieves detailed information about a specific property for a HubSpot object type. 2. You can use this to get all metadata related to a property, including its type, options, and other configuration details.
Create property
🛡️ Guardrails: 1. Data Modification Warning: This tool modifies HubSpot data. Only use when the user has explicitly requested to update their CRM. 🎯 Purpose: 1. Creates new custom properties for HubSpot object types, enabling data structure customization. 📋 Prerequisites: 1. Use the hubspot-get-user-details tool to get the OwnerId and UserId if you don't have that already. 2. Use the hubspot-list-objects tool to sample existing objects for the object type. 3. If hubspot-list-objects tool's response isn't helpful, use hubspot-list-properties tool. 🧭 Usage Guidance: 1. Use this tool when you need to create a new custom property for a HubSpot object type. 2. Makes sure that the user is looking to create a new property, and not create an object of a specific object type. 3. Use list-properties to get a list of all properties for a given object type to be sure that the property does not already exist. 4. Use list-properties to to understand the data structure of object properties first.
Update property
🛡️ Guardrails: 1. Data Modification Warning: This tool modifies HubSpot data. Only use when the user has explicitly requested to update their CRM. 🎯 Purpose: 1. Updates existing custom properties for HubSpot object types, enabling data structure customization. 🧭 Usage Guidance: 1. Use hubspot-list-objects tool to sample existing objects for the object type. 2. If hubspot-list-objects tool's response isn't helpful, use hubspot-list-properties tool.
Create engagement
🛡️ Guardrails: 1. Data Modification Warning: This tool modifies HubSpot data. Only use when the user has explicitly requested to update their CRM. 🎯 Purpose: 1. Creates a HubSpot engagement (Note or Task) associated with contacts, companies, deals, or tickets. 2. This endpoint is useful for keeping your CRM records up-to-date on any interactions that take place outside of HubSpot. 3. Activity reporting in the CRM also feeds off of this data. 📋 Prerequisites: 1. Use the hubspot-get-user-details tool to get the OwnerId and UserId. 🧭 Usage Guidance: 1. Use NOTE type for adding notes to records 2. Use TASK type for creating tasks with subject, status, and assignment 3. Both require relevant associations to connect them to CRM records 4. Other types of engagements (EMAIL, CALL, MEETING) are NOT supported yet. 5. HubSpot notes and task descriptions support HTML formatting. However headings (<h1>, <h2>, etc.) look ugly in the CRM. So use them sparingly.
Get engagement
🎯 Purpose: 1. Retrieves a HubSpot engagement by ID.
Update engagement
🛡️ Guardrails: 1. Data Modification Warning: This tool modifies HubSpot data. Only use when the user has explicitly requested to update their CRM. 🎯 Purpose: 1. Updates an existing HubSpot engagement (Note or Task). 2. Allows modification of engagement attributes, content, and metadata. 📋 Prerequisites: 1. You need the engagement ID to update an existing engagement. 2. Use the hubspot-get-engagement tool to get the current engagement details if needed. 3. Use the hubspot-get-user-details tool to get the owner ID. 🧭 Usage Guidance: 1. Use for updating NOTE content or TASK details (subject, description, status). 2. Only include the fields you want to update - other fields will remain unchanged. 3. HubSpot notes and task descriptions support HTML formatting. However headings (<h1>, <h2>, etc.) look ugly in the CRM. So use them sparingly.
Generate feedback link
🎯 Purpose: 1. Use this tool when the user wants to submit feedback about HubSpot MCP tool. 2. Use this tool proactively when the other HubSpot MCP tools are unable to solve the user's tasks effectively. 3. Use this tool when you sense dissatisfaction from the user using HubSpot MCP tools. 4. Feedback will help us improve the HubSpot MCP tools in future iterations.
Get schemas
🎯 Purpose: 1. Retrieves all custom object schemas defined in the HubSpot account. 🧭 Usage Guidance: 1. Before working with custom objects to understand available object types, their properties, and associations. 📦 Returns: 1. Provides the objectTypeId and objectType for each schema. 2. These attributes should be used for this object type instead of "custom" in subsequent requests.
Get link
🎯 Purpose: 1. Generates HubSpot UI links for different pages based on object types and IDs. 2. Supports both index pages (lists of objects) and record pages (specific object details). 📋 Prerequisites: 1. Use the hubspot-get-user-details tool to get the PortalId and UiDomain. 🧭 Usage Guidance: 1. Use to generate links to HubSpot UI pages when users need to reference specific HubSpot records. 2. Validates that object type IDs exist in the HubSpot system.
List workflows
🎯 Purpose: 1. This tool retrieves a paginated list of workflows from the HubSpot account. 🧭 Usage Guidance: 1. Use the "limit" parameter to control the number of results returned per page. 2. For pagination, use the "after" parameter with the value from the previous response's paging.next.after. 3. This endpoint returns essential workflow information including ID, name, type, and status.
Get workflow
🎯 Purpose: 1. This tool retrieves detailed information about a specific workflow from the HubSpot account. 🧭 Usage Guidance: 1. Use the "flowId" parameter to specify which workflow to retrieve. 2. This endpoint returns complete workflow information including actions, enrollment criteria, and scheduling. 3. Use the hubspot-list-workflows tool first to identify the workflow ID you need.
Salesforce Rest Api Tools
38
Update email template
Updates an email template. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_update_fields.htm) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - fieldsToUpdate: Return JSON in this format: string[]
Send email
Sends an email. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.api_action.meta/api_action/actions_obj_email_simple.htm)
List knowledge articles
Lists all knowledge articles. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_knowledgearticle.htm)
List email templates
Lists all email templates. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_emailtemplate.htm)
List email messages
Lists all email messages for a case. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_get_field_values.htm)
List case comments
Lists all comments for a case. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_get_field_values.htm)
Get user
Retrieves a user by their ID. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_get_field_values.htm)
Get case
Retrieves a case by its ID. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_get_field_values.htm)
Create attachment
Creates an Attachment on a parent object. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_attachment.htm)
Upsert record
Create or update a record of a given object. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_upsert.htm)
Update record
Update fields of a record. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_update_fields.htm) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - fieldsToUpdate: Return JSON in this format: string[]
Update opportunity
Updates an opportunity. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_opportunity.htm)
Update contact
Updates a contact. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_contact.htm)
Update account
Updates a Salesforce account. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_account.htm)
Create user
Creates a Salesforce user. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_user.htm)
Create task
Creates a task. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_task.htm)
Create record
Create a record of a given object. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_sobject_create.htm)
Create opportunity
Creates an opportunity. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_opportunity.htm)
Create note
Creates a note. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_note.htm)
Create lead
Creates a lead. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_lead.htm)
Create event
Creates an event. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_event.htm) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - AcceptedEventInviteeIds: Return JSON in this format: string[]
Create content note
Creates a content note. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_contentnote.htm) and [Set Up Notes](https://help.salesforce.com/s/articleView?id=sales.notes_admin_setup.htm&type=5).
Create contact
Creates a contact. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_contact.htm)
Create casecomment
Creates a Case Comment on a selected Case. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_casecomment.htm)
Create case
Creates a Case, which represents a customer issue or problem. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_case.htm)
Create campaign
Creates a marketing campaign. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_campaign.htm)
Create account
Creates a Salesforce account. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_account.htm)
Sosl search
Executes a [Salesforce Object Search Language (SOSL)](https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_sosl_examples.htm) text-based search query.
Soql search
Executes a [Salesforce Object Query Language (SOQL)](https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql_select_examples.htm) query-based, SQL-like search.
Search string
Searches for records in an object using a parameterized search. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_search_parameterized_get.htm) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - fields: Return JSON in this format: string[]
Post feed to chatter
Post a feed item in Chatter. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.chatterapi.meta/chatterapi/quickreference_post_feed_item.htm) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - messageSegments: Return JSON in this format: string[]
Insert blob data
Inserts blob data in Salesforce standard objects. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.228.0.api_rest.meta/api_rest/dome_sobject_insert_update_blob.htm)
Find records
Retrieves selected fields for some or all records of a selected object. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_get_field_values.htm) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - fieldsToObtain: Return JSON in this format: string[] - recordIds: Return JSON in this format: string[]
Delete record
Deletes an existing record in an object. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_sobject_retrieve_delete.htm)
Delete opportunity
Deletes an opportunity. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.228.0.api_rest.meta/api_rest/dome_delete_record.htm)
Convert soap xml to json
Converts a SOAP XML Object received from Salesforce to JSON
Add lead to campaign
Adds an existing lead to an existing campaign. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.228.0.object_reference.meta/object_reference/sforce_api_objects_campaignmember.htm)
Add contact to campaign
Adds an existing contact to an existing campaign. [See the documentation](https://developer.salesforce.com/docs/atlas.en-us.228.0.object_reference.meta/object_reference/sforce_api_objects_campaignmember.htm)
Attio Tools
7
Update person
Update an existing person. [See the documentation](https://developers.attio.com/reference/patch_v2-objects-people-records-record-id).
Get record
Retrieves the record with the specified ID. [See the documentation](https://docs.attio.com/rest-api/endpoint-reference/records/get-a-record)
Delete list entry
Deletes an existing entry from a specific list. [See the documentation](https://developers.attio.com/reference/delete_v2-lists-list-entries-entry-id)
Create update record
Creates or updates a specific record such as a person or a deal. If the record already exists, it's updated. Otherwise, a new record is created. [See the documentation](https://developers.attio.com/reference/put_v2-objects-object-records)
Create task
Creates a new task. [See the documentation](https://docs.attio.com/rest-api/endpoint-reference/tasks/create-a-task) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - assigneeIds: Return JSON in this format: string[]
Create person
Creates a new person. [See the documentation](https://developers.attio.com/reference/post_v2-objects-people-records).
Create note
Creates a new note for a given record. The note will be linked to the specified record. [See the documentation](https://developers.attio.com/reference/post_v2-notes)
Pipedrive Tools
14
Update person
Updates an existing person in Pipedrive. [See the documentation](https://developers.pipedrive.com/docs/api/v1/Persons#updatePerson) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - emails: Return JSON in this format: string[] - phones: Return JSON in this format: string[]
Update deal
Updates the properties of a deal. See the Pipedrive API docs for Deals [here](https://developers.pipedrive.com/docs/api/v1/Deals#updateDeal)
Search persons
Searches all Persons by `name`, `email`, `phone`, `notes` and/or custom fields. This endpoint is a wrapper of `/v1/itemSearch` with a narrower OAuth scope. Found Persons can be filtered by Organization ID. See the Pipedrive API docs [here](https://developers.pipedrive.com/docs/api/v1/Persons#searchPersons) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - fields: Return JSON in this format: string[]
Search notes
Search for notes in Pipedrive. [See the documentation](https://developers.pipedrive.com/docs/api/v1/Notes#getNotes)
Search leads
Search for leads by name or email. [See the documentation](https://developers.pipedrive.com/docs/api/v1/Leads#searchLeads) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - fields: Return JSON in this format: string[]
Remove duplicate notes
Remove duplicate notes from an object in Pipedrive. See the documentation for [getting notes](https://developers.pipedrive.com/docs/api/v1/Notes#getNotes) and [deleting notes](https://developers.pipedrive.com/docs/api/v1/Notes#deleteNote)
Get person details
Get details of a person by their ID. [See the documentation](https://developers.pipedrive.com/docs/api/v1/Persons#getPerson)
Get lead by id
Get a lead by its ID. [See the documentation](https://developers.pipedrive.com/docs/api/v1/Leads#getLead)
Add person
Adds a new person. See the Pipedrive API docs for People [here](https://developers.pipedrive.com/docs/api/v1/Persons#addPerson) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - emails: Return JSON in this format: string[] - phones: Return JSON in this format: string[]
Add organization
Adds a new organization. See the Pipedrive API docs for Organizations [here](https://developers.pipedrive.com/docs/api/v1/Organizations#addOrganization)
Add note
Adds a new note. For info on [adding an note in Pipedrive](https://developers.pipedrive.com/docs/api/v1/Notes#addNote)
Add lead
Create a new lead in Pipedrive. [See the documentation](https://developers.pipedrive.com/docs/api/v1/Leads#addLead) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - leadLabelIds: Return JSON in this format: string[]
Add deal
Adds a new deal. See the Pipedrive API docs for Deals [here](https://developers.pipedrive.com/docs/api/v1/Deals#addDeal)
Add activity
Adds a new activity. Includes `more_activities_scheduled_in_context` property in response's `additional_data` which indicates whether there are more undone activities scheduled with the same deal, person or organization (depending on the supplied data). See the Pipedrive API docs for Activities [here](https://developers.pipedrive.com/docs/api/v1/#!/Activities). For info on [adding an activity in Pipedrive](https://developers.pipedrive.com/docs/api/v1/Activities#addActivity) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - participants: Return JSON in this format: string[] - attendees: Return JSON in this format: string[]
Microsoft Dynamics 365 Sales Tools
2
Find contact
Search for a contact by id, name, or using a custom filter. [See the documentation](https://learn.microsoft.com/en-us/power-apps/developer/data-platform/webapi/query/overview)
Create custom entity
Create a custom entity. [See the documentation](https://learn.microsoft.com/en-us/power-apps/developer/data-platform/webapi/create-update-entity-definitions-using-web-api)
Zoho Crm Tools
10
Upload attachment
Uploads an attachment file to Zoho CRM from a URL or file path. [See the documentation](https://www.zoho.com/crm/developer/docs/api/v3/upload-attachment.html)
Download attachment
Downloads an attachment file from Zoho CRM, saves it in the temporary file system and exports the file path for use in a future step.
Update object
Updates existing entities in the module. [See the documentation](https://www.zoho.com/crm/developer/docs/api/v2/update-records.html)
Create object
Create a new object/module entry. [See the documentation](https://www.zoho.com/crm/developer/docs/api/v2/insert-records.html)
Search objects
Retrieves the records that match your search criteria.
List objects
Gets the list of available records from a module.
List modules
Retrieves a list of all the modules available in your CRM account.
List fields
Gets the field metadata for the specified module
Get object
Gets record data given its id.
Convert lead
Converts a Lead into a Contact or an Account. [See the documentation](https://www.zoho.com/crm/developer/docs/api/v2/convert-lead.html)
Zendesk Tools
13
Search tickets
Searches for tickets using Zendesk's search API. [See the documentation](https://developer.zendesk.com/api-reference/ticketing/ticket-management/search/#search-tickets).
Update ticket
Updates a ticket and optionally manages tags. [See the documentation](https://developer.zendesk.com/api-reference/ticketing/tickets/tickets/#update-ticket). IMPORTANT: The arguments have specific formats. Please follow the instructions below: - ticketTags: Return JSON in this format: string[]
Set ticket tags
Set tags on a ticket (replaces all existing tags). [See the documentation](https://developer.zendesk.com/api-reference/ticketing/ticket-management/tags/#set-tags). IMPORTANT: The arguments have specific formats. Please follow the instructions below: - ticketTags: Return JSON in this format: string[]
Remove ticket tags
Remove specific tags from a ticket. [See the documentation](https://developer.zendesk.com/api-reference/ticketing/ticket-management/tags/#remove-tags). IMPORTANT: The arguments have specific formats. Please follow the instructions below: - ticketTags: Return JSON in this format: string[]
List tickets
Retrieves a list of tickets. [See the documentation](https://developer.zendesk.com/api-reference/ticketing/tickets/tickets/#list-tickets).
List ticket comments
Retrieves all comments for a specific ticket. [See the documentation](https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_comments/#list-comments).
List macros
Retrieves all macros. [See the documentation](https://developer.zendesk.com/api-reference/ticketing/business-rules/macros/#list-macros).
List locales
Retrieves all locales. [See the documentation](https://developer.zendesk.com/api-reference/ticketing/account-configuration/locales/).
Get user info
Retrieves information about a specific user. [See the documentation](https://developer.zendesk.com/api-reference/ticketing/users/users/#show-user).
Get ticket info
Retrieves information about a specific ticket. [See the documentation](https://developer.zendesk.com/api-reference/ticketing/tickets/tickets/#show-ticket).
Delete ticket
Deletes a ticket. [See the documentation](https://developer.zendesk.com/api-reference/ticketing/tickets/tickets/#delete-ticket).
Create ticket
Creates a ticket. [See the documentation](https://developer.zendesk.com/api-reference/ticketing/tickets/tickets/#create-ticket).
Add ticket tags
Add tags to a ticket (appends to existing tags). [See the documentation](https://developer.zendesk.com/api-reference/ticketing/ticket-management/tags/#add-tags). IMPORTANT: The arguments have specific formats. Please follow the instructions below: - ticketTags: Return JSON in this format: string[]
Intercom Tools
6
Search conversations
Search for Intercom conversations using multiple filter criteria. Supports filtering by: - IDs: Search for specific conversation IDs - Source: Filter by source type (email, chat, etc.), author name/email - State: Filter by conversation state (open, closed, snoozed) - Statistics: Filter by response times and assignment metrics Returns a list of matching conversations with basic details. Use get_conversation for full details.
Get conversation
Retrieve complete details for a specific Intercom conversation. Returns: - Full conversation metadata (state, priority, timestamps) - Complete message history with all conversation parts - Associated contacts and tags - Assignment and team information Use this after search_conversations to get full conversation content.
Search contacts
Search for Intercom contacts using multiple filter criteria. Supports filtering by: - IDs: Search for specific contact IDs - Email/Domain: Filter by email address or domain - Name/Phone: Search by contact name or phone number - Custom Attributes: Filter by any custom data fields Returns a list of matching contacts with their attributes. Use get_contact for additional details.
Get contact
Retrieve complete details for a specific Intercom contact. Returns: - Full contact profile (name, email, phone, location) - Role and signup information - Custom attributes and metadata - Last seen and activity timestamps Use this after search_contacts to get full contact information.
Search
Purpose: 1. Search for resources in Intercom (conversations and contacts) using a unified query approach. 2. Note that only a subset of properties will be returned in search results. 3. For complete details, use the Fetch tool with the returned IDs. Usage: 1. MUST specify object_type:conversations OR object_type:contacts to indicate which API to call. 2. Use specific field searches for precise filtering (e.g., email:john@example.com). 3. Use the starting_after parameter for pagination when more results exist. 4. Combine multiple search criteria with logical operators for complex queries. Search Tool Response: 1. Returns results with id, title, text, and url for each match. 2. IDs are prefixed with 'conversation_' or 'contact_' to indicate type. 3. Use these IDs with the Fetch tool to get complete resource details. Intercom Search Query DSL specification: • Tokens separated by spaces • Each token: key[:op]:value • op (optional; default "eq") ∈ { eq, neq, gt, lt, in, nin, contains } • value: unquoted (alphanumeric, no spaces) or quoted in single/double quotes (to include spaces) Common Parameters: – object_type (mandatory) → "conversations" or "contacts" (specifies which API to call) – q/query → free-text search across key fields – created_at/updated_at → timestamp filters (YYYY-MM-DD or Unix timestamp) – limit → max results (default 10, max 150) – starting_after → pagination cursor CONVERSATION SEARCH (object_type:conversations): Supported fields: – id → conversation ID – state → conversation state ("open", "closed", "snoozed") – priority → conversation priority ("priority", "not_priority") – source_type → conversation source type ("conversation", "email", "facebook", "twitter", etc.) – source_author_name → name of the message author – source_author_email → email of the message author – source_subject → subject line of the conversation – source_body → body content of the conversation – contact_ids → contact IDs associated with the conversation – statistics_time_to_assignment → time to assignment in seconds – statistics_time_to_admin_reply → time to admin reply in seconds – statistics_time_to_first_close → time to first close in seconds CONTACT SEARCH (object_type:contacts): Supported fields: – id → contact ID – name → contact name – email → contact email address – email_domain → email domain – phone → contact phone number – role → contact role ("user", "lead") – custom_attributes.* → any custom attribute field (e.g., custom_attributes.company) EXAMPLES: user: show me recent conversations query: object_type:conversations created_at:gt:1735689600 user: find open conversations from email query: object_type:conversations state:open source_type:email user: search for conversations from support emails query: object_type:conversations source_author_email:contains:"@support" user: find conversations with slow response times query: object_type:conversations statistics_time_to_admin_reply:gt:3600 user: find conversations about billing query: object_type:conversations source_subject:contains:"billing" user: find conversations mentioning refund query: object_type:conversations source_body:contains:"refund" user: find contacts named John query: object_type:contacts name:"John" user: find contacts from example.com domain query: object_type:contacts email_domain:"example.com" user: find contacts with specific custom attribute query: object_type:contacts custom_attributes.plan_status:"active" user: recent contact activity query: object_type:contacts updated_at:gt:1735689600 limit:50 user: find conversations for a specific contact query: object_type:conversations contact_ids:in:d2e3bde8-4fe4-4a74-9232-5f7458e7a4cb Unsupported features: • Complex boolean logic beyond simple AND/OR • Fuzzy matching or proximity searches • Aggregations or analytics queries • Direct conversation content search (use source fields instead) • Real-time or streaming results
Fetch
Retrieves detailed content for a specific resource identified by the given ID. Supports both conversation and contact IDs with 'conversation_' or 'contact_' prefixes.
Airtable Tools
13
List records
List records from a table
Search records
Search for records containing specific text
List bases
List all accessible Airtable bases
List tables
List all tables in a specific base
Describe table
Get detailed information about a specific table
Get record
Get a specific record by ID
Create record
Create a new record in a table
Update records
Update up to 10 records in a table
Delete records
Delete records from a table
Create table
Create a new table in a base
Update table
Update a table's name or description
Create field
Create a new field in a table
Update field
Update a field's name or description
Apollo Io Tools
15
Search accounts
Search for accounts in Apollo.io. [See the documentation](https://apolloio.github.io/apollo-api-docs/?shell#search-for-accounts) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - accountStageId: Return JSON in this format: string[]
Update opportunity
Updates a new opportunity in Apollo.io. [See the documentation](https://apolloio.github.io/apollo-api-docs/?shell#update-opportunity)
Update contact
Updates an existing contact in Apollo.io. [See the documentation](https://apolloio.github.io/apollo-api-docs/?shell#update-a-contact) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - labelNames: Return JSON in this format: string[]
Update contact stage
Updates the stage of one or more contacts in Apollo.io. [See the documentation](https://apolloio.github.io/apollo-api-docs/?shell#update-contact-stage) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - contactIds: Return JSON in this format: string[]
Update account
Updates an existing account in Apollo.io. [See the documentation](https://apolloio.github.io/apollo-api-docs/?shell#update-an-account)
Update account stage
Updates the stage of one or more accounts in Apollo.io. [See the documentation](https://apolloio.github.io/apollo-api-docs/?shell#update-account-stage) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - accountIds: Return JSON in this format: string[]
Search sequences
Search for sequences in Apollo.io. [See the documentation](https://apolloio.github.io/apollo-api-docs/?shell#search-for-sequences)
Search contacts
Search for contacts in Apollo.io. [See the documentation](https://apolloio.github.io/apollo-api-docs/?shell#search-for-contacts) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - contactStageId: Return JSON in this format: string[]
People enrichment
Enriches a person's information, the more information you pass in, the more likely we can find a match. [See the documentation](https://apolloio.github.io/apollo-api-docs/?shell#people-enrichment)
Get opportunity
Gets a specific opportunity in Apollo.io. [See the documentation](https://apolloio.github.io/apollo-api-docs/?shell#view-opportunity)
Create update contact
Creates or updates a specific contact. If the contact email already exists, it's updated. Otherwise, a new contact is created. [See the documentation](https://apolloio.github.io/apollo-api-docs/?shell#create-a-contact) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - labelNames: Return JSON in this format: string[]
Create opportunity
Creates a new opportunity in Apollo.io. [See the documentation](https://apolloio.github.io/apollo-api-docs/?shell#create-opportunity)
Create contact
Creates a new contact in Apollo.io. [See the documentation](https://apolloio.github.io/apollo-api-docs/?shell#create-a-contact) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - labelNames: Return JSON in this format: string[]
Create account
Creates a new account in Apollo.io. [See the documentation](https://apolloio.github.io/apollo-api-docs/?shell#create-an-account)
Add contacts to sequence
Adds one or more contacts to a sequence in Apollo.io. [See the documentation](https://apolloio.github.io/apollo-api-docs/?shell#add-contacts-to-sequence) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - contactIds: Return JSON in this format: string[]
Assemblyai Tools
3
Transcribe audio
Create a transcript from a media file that is accessible via a URL. [See the documentation](https://www.assemblyai.com/docs/api-reference/transcripts/submit)
Get transcription
Fetches a specific transcribed result from the AssemblyAI API. [See the documentation](https://www.assemblyai.com/docs/api-reference/transcripts/get)
Create captions
Export your completed transcripts in SRT (srt) or VTT (vtt) format, which can be used for subtitles and closed captions in videos. [See the documentation](https://www.assemblyai.com/docs/api-reference/transcripts/get-subtitles)
Docusign Tools
3
Download documents
Download the documents of an envelope to the /tmp directory. [See the documentation here](https://developers.docusign.com/docs/esign-rest-api/how-to/download-envelope-documents/)
Create signature request
Creates a signature request from a template [See the docs here](https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create)
Create draft
Create and send an envelope, or create a draft envelope. [See the documentation here](https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopes/create/)
Elevenlabs Tools
8
Text to speech
Retrieve an audio file. [See the documentation](https://docs.elevenlabs.io/api-reference/text-to-speech)
Get audio from history item
Returns the audio of an history item and converts it to a file. [See the documentation](https://docs.elevenlabs.io/api-reference/history-audio)
Download history items
Download one or more history items to your workflow's `tmp` directory. If one history item ID is provided, we will return a single audio file. If more than one history item IDs are provided, we will provide the history items packed into a .zip file. [See the documentation](https://docs.elevenlabs.io/api-reference/history-download) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - historyItemIds: Return JSON in this format: string[]
Add voice
Add a voice from one or more audio files. [See the documentation](https://elevenlabs.io/docs/api-reference/add-voice) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - files: Return JSON in this format: string[]
Make outbound call
Handle an outbound call via Twilio with Elevenlabs. [See the documentation](https://elevenlabs.io/docs/api-reference/conversations/twilio-outbound-call)
List models
Gets a list of available models. [See the documentation](https://docs.elevenlabs.io/api-reference/models-get)
Get voices with descriptions
Fetches all available voices from ElevenLabs, including metadata like name, gender, accent, and category. [See the documentation](https://elevenlabs.io/docs/api-reference/voices/search)
Create agent
Create an agent in Eleventlabs. [See the documentation](https://elevenlabs.io/docs/api-reference/agents/create-agent)
Fireflies Tools
8
Get transcript
Fetches detailed meeting transcript by ID, with optional field filtering. Returns transcript content (sentences, speakers) and metadata, but excludes summary data. If you need summary data, use fireflies_get_summary instead.
Get summary
Fetches meeting summary by ID, with optional field filtering. Returns summary data (keywords, action items, overview, etc.) and basic metadata, but excludes transcript content. If you need transcript content, use fireflies_get_transcript instead.
Get transcripts
Queries multiple meeting transcripts using filter properties (date, keyword, email, etc.). Returns basic metadata and transcript summary. Does NOT accept transcriptId as input - use fireflies_get_transcript() multiple times to get detailed transcript content.
Get user
Fetches user account details. Returns profile info, transcript counts, meeting activity, and admin status. If no user ID provided, returns current authenticated user data.
Get usergroups
Fetches user groups for the authenticated user or their team. Returns group details including name, handle, and members. Use mine=true to get only groups the user belongs to, or mine=false (default) to get all groups in the team.
Get user contacts
Fetches contact list for the authenticated user. Returns contacts with their names, emails, profile pictures, and last meeting dates sorted by most recent interaction.
Search
Advanced search for meeting transcripts using a mini grammar. Supports complex queries with multiple filters. GRAMMAR SYNTAX: - keyword:"search term" - Search for keywords in the content. If no scope is specified, the default scope is 'all'. - scope:title|sentences|all - Define the search scope. Options are 'title', 'sentences', or 'all'. The default is 'all'. - from:YYYY-MM-DD - Filter meetings from this date (ISO format) - to:YYYY-MM-DD - Filter meetings until this date (ISO format) - limit:N - Limit results (max 50) - skip:N - Skip N results for pagination - organizers:email1@x.com,email2@x.com - Filter by organizer emails (comma-separated) - participants:email1@x.com,email2@x.com - Filter by participant emails (comma-separated) - mine:true|false - Filter to only include user's own meetings EXAMPLES: - "engineering standup" (simple keyword search) - "keyword:\"performance\" scope:sentences limit:20"
Fetch
Retrieve complete meeting transcript with full conversation, metadata, and insights for a specific meeting ID. Use this after search to get detailed content.
Google Docs Tools
8
Get document
Get the contents of the latest version of a document. [See the documentation](https://developers.google.com/docs/api/reference/rest/v1/documents/get) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - tabIds: Return JSON in this format: string[]
Replace text
Replace all instances of matched text in an existing document. [See the documentation](https://developers.google.com/docs/api/reference/rest/v1/documents/request#ReplaceAllTextRequest)
Replace image
Replace image in a existing document. [See the documentation](https://developers.google.com/docs/api/reference/rest/v1/documents/request#ReplaceImageRequest)
Find document
Search for a specific file by name. [See the documentation](https://developers.google.com/drive/api/v3/search-files) for more information
Create document
Create a new document. [See the documentation](https://developers.google.com/docs/api/reference/rest/v1/documents/create)
Create document from template
Create a new Google Docs file from a template. Optionally include placeholders in the template document that will get replaced from this action. [See documentation](https://www.npmjs.com/package/google-docs-mustaches) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - mode: Return JSON in this format: string[]
Append text
Append text to an existing document. [See the documentation](https://developers.google.com/docs/api/reference/rest/v1/documents/request#InsertTextRequest)
Append image
Appends an image to the end of a document. [See the documentation](https://developers.google.com/docs/api/reference/rest/v1/documents/request#InsertInlineImageRequest)
Google Forms Tools
6
Get form response
Get a response from a form. [See the documentation](https://developers.google.com/forms/api/reference/rest/v1/forms.responses/get)
Update form title
Updates the title of a Google Form. [See the documentation](https://developers.google.com/forms/api/reference/rest/v1/forms/batchUpdate)
List form responses
List a form's responses. [See the documentation](https://developers.google.com/forms/api/reference/rest/v1/forms.responses/list)
Get form
Get information about a Google Form. [See the documentation](https://developers.google.com/forms/api/reference/rest/v1/forms/get)
Create text question
Creates a new text question in a Google Form. [See the documentation](https://developers.google.com/forms/api/reference/rest/v1/forms/batchUpdate)
Create form
Creates a new Google Form. [See the documentation](https://developers.google.com/forms/api/reference/rest/v1/forms/create)
Google Sheets Tools
21
Upsert row
Upsert a row of data in a Google Sheet. [See the documentation](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/append) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - insert: Return JSON in this format: string[]
Update row
Update a row in a spreadsheet. [See the documentation](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/update)
Update multiple rows
Update multiple rows in a spreadsheet defined by a range. [See the documentation](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/update)
Update cell
Update a cell in a spreadsheet. [See the documentation](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/update)
List worksheets
Get a list of all worksheets in a spreadsheet. [See the documentation](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/get)
Insert comment
Insert a comment into a spreadsheet. [See the documentation](https://developers.google.com/drive/api/v3/reference/comments/create)
Insert anchored note
Insert a note on a spreadsheet cell. [See the documentation](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/batchUpdate)
Get values in range
Get all values or values from a range of cells using A1 notation. [See the documentation](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/get)
Get spreadsheet by id
Returns the spreadsheet at the given ID. [See the documentation](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/get) for more information
Get cell
Fetch the contents of a specific cell in a spreadsheet. [See the documentation](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/get)
Find row
Find one or more rows by a column and value. [See the documentation](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/get)
Delete worksheet
Delete a specific worksheet. [See the documentation](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/batchUpdate)
Delete rows
Deletes the specified rows from a spreadsheet. [See the documentation](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/request#deletedimensionrequest)
Create worksheet
Create a blank worksheet with a title. [See the documentation](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/batchUpdate)
Create spreadsheet
Create a blank spreadsheet or duplicate an existing spreadsheet. [See the documentation](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/create)
Copy worksheet
Copy an existing worksheet to another Google Sheets file. [See the documentation](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.sheets/copyTo)
Clear rows
Delete the content of a row or rows in a spreadsheet. Deleted rows will appear as blank rows. [See the documentation](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/clear)
Clear cell
Delete the content of a specific cell in a spreadsheet. [See the documentation](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/clear)
Add single row
Add a single row of data to Google Sheets. [See the documentation](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/append)
Add multiple rows
Add multiple rows of data to a Google Sheet. [See the documentation](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/append)
Add column
Create a new column in a spreadsheet. [See the documentation](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/batchUpdate)
Hunter Tools
13
Update lead
Update an existing lead in your Hunter account. [See the documentation](https://hunter.io/api-documentation/v2#update-lead).
List leads
List all your leads with comprehensive filtering options. The leads are returned in sorted order, with the most recent leads appearing first. [See the documentation](https://hunter.io/api-documentation/v2#leads). IMPORTANT: The arguments have specific formats. Please follow the instructions below: - sendingStatus: Return JSON in this format: string[] - verificationStatus: Return JSON in this format: string[]
List leads lists
List all your leads lists. The leads lists are returned in sorted order, with the most recent leads lists appearing first. [See the documentation](https://hunter.io/api-documentation/v2#list-leads-lists).
Get leads list
Retrieves all the fields of a leads list, including its leads. [See the documentation](https://hunter.io/api-documentation/v2#get-leads-list).
Get lead
Retrieve one of your leads by ID. [See the documentation](https://hunter.io/api-documentation/v2#leads).
Email verifier
Check the deliverability of a given email address, verify if it has been found in Hunter's database, and return their sources. [See the documentation](https://hunter.io/api-documentation/v2#email-verifier).
Email finder
Find the most likely email address from a domain name, a first name and a last name. [See the documentation](https://hunter.io/api-documentation/v2#email-finder).
Email count
Get the number of email addresses Hunter has for one domain or company. [See the documentation](https://hunter.io/api-documentation/v2#email-count).
Domain search
Search all the email addresses corresponding to one website or company. [See the documentation](https://hunter.io/api-documentation/v2#domain-search). IMPORTANT: The arguments have specific formats. Please follow the instructions below: - seniority: Return JSON in this format: string[] - department: Return JSON in this format: string[]
Delete lead
Delete an existing lead from your Hunter account. [See the documentation](https://hunter.io/api-documentation/v2#delete-lead).
Create lead
Create a new lead in your Hunter account. [See the documentation](https://hunter.io/api-documentation/v2#create-lead).
Combined enrichment
Returns all the information associated with an email address and its domain name. [See the documentation](https://hunter.io/api-documentation/v2#combined-enrichment).
Account information
Get information about your Hunter account. [See the documentation](https://hunter.io/api-documentation/v2#account).
Linkedin Tools
19
Get org member access
Gets the organization access control information of the current authenticated member. [See the documentation](https://learn.microsoft.com/en-us/linkedin/marketing/community-management/organizations/organization-access-control-by-role?view=li-lms-2025-01&tabs=http#find-a-members-organization-access-control-information)
Search organization
Searches for an organization by vanity name or email domain. [See the docs here](https://docs.microsoft.com/en-us/linkedin/marketing/integrations/community-management/organizations/organization-lookup-api)
Retrieve comments shares
Retrieve comments on shares given the share urn. [See the docs here](https://docs.microsoft.com/en-us/linkedin/marketing/integrations/community-management/shares/network-update-social-actions#retrieve-comments-on-shares)
Retrieve comments on comments
Retrieves comments on comments, given the parent comment urn. [See the docs here](https://docs.microsoft.com/en-us/linkedin/marketing/integrations/community-management/shares/network-update-social-actions#retrieve-comments-on-comments)
Get profile picture fields
Gets the authenticated user's profile picture data including display image and metadata. [See the documentation](https://learn.microsoft.com/en-us/linkedin/shared/references/v2/profile/profile-picture)
Get organization administrators
Gets the administrator members of a selected organization. [See the documentation](https://learn.microsoft.com/en-us/linkedin/marketing/community-management/organizations/organization-access-control-by-role?view=li-lms-2025-01&tabs=http#find-organization-administrators)
Get organization access control
Gets a selected organization's access control information. [See the documentation](https://learn.microsoft.com/en-us/linkedin/marketing/community-management/organizations/organization-access-control-by-role?view=li-lms-2025-01&tabs=http#find-organization-access-control)
Get multiple member profiles
Gets multiple member profiles at once. [See the docs here](https://docs.microsoft.com/en-us/linkedin/shared/integrations/people/profile-api#retrieve-other-members-profile) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - peopleIds: Return JSON in this format: string[]
Get member profile
Gets another member's profile, given its person id. [See the docs here](https://docs.microsoft.com/en-us/linkedin/shared/integrations/people/profile-api#retrieve-other-members-profile)
Get member organization access control
Gets the organization access control information of the current authenticated member. [See the documentation](https://learn.microsoft.com/en-us/linkedin/marketing/community-management/organizations/organization-access-control-by-role?view=li-lms-2025-01&tabs=http#find-a-members-organization-access-control-information)
Get current member profile
Gets the profile of the current authenticated member. [See the docs here](https://docs.microsoft.com/en-us/linkedin/shared/integrations/people/profile-api#retrieve-current-members-profile)
Fetch ad account
Fetches an individual adAccount given its id. [See the docs here](https://docs.microsoft.com/en-us/linkedin/marketing/integrations/ads/account-structure/create-and-manage-accounts#fetch-ad-account)
Delete post
Removes a post from user's wall. [See the docs](https://docs.microsoft.com/en-us/linkedin/marketing/integrations/community-management/shares/share-api?tabs=http#delete-shares) for more information
Create text post user
Create post on LinkedIn using text, URL or article. [See the documentation](https://learn.microsoft.com/en-us/linkedin/marketing/integrations/community-management/shares/posts-api?view=li-lms-2022-11&tabs=http#create-organic-posts) for more information
Create text post organization
Create post on LinkedIn using text, URL or article. [See the documentation](https://learn.microsoft.com/en-us/linkedin/marketing/integrations/community-management/shares/posts-api?view=li-lms-2022-11&tabs=http#create-organic-posts) for more information
Create like on share
Creates a like on a share. [See the docs here](https://docs.microsoft.com/en-us/linkedin/marketing/integrations/community-management/shares/network-update-social-actions#create-a-like-on-a-share)
Create image post user
Create an image post on LinkedIn. [See the documentation](https://learn.microsoft.com/en-us/linkedin/marketing/integrations/community-management/shares/images-api?view=li-lms-2023-09&tabs=http#uploading-an-image)
Create image post organization
Create an image post on LinkedIn. [See the documentation](https://learn.microsoft.com/en-us/linkedin/marketing/integrations/community-management/shares/images-api?view=li-lms-2023-09&tabs=http#uploading-an-image)
Create comment
Create a comment on a share or user generated content post. [See the docs here](https://docs.microsoft.com/en-us/linkedin/marketing/integrations/community-management/shares/network-update-social-actions#create-comment)
Microsoft Excel Tools
8
Update worksheet tablerow
Update the properties of tablerow object. `(Only for work or school account)` [See the documentation](https://learn.microsoft.com/en-us/graph/api/tablerow-update?view=graph-rest-1.0&tabs=http)
Update cell
Update the value of a specific cell in an Excel worksheet. [See the documentation](https://learn.microsoft.com/en-us/graph/api/range-update?view=graph-rest-1.0&tabs=http)
Get table rows
Retrieve rows from a specified table in an Excel worksheet. [See the documentation](https://learn.microsoft.com/en-us/graph/api/tablerow-list?view=graph-rest-1.0&tabs=http)
Get spreadsheet
Get the values of a specified Excel worksheet. [See the documentation](https://learn.microsoft.com/en-us/graph/api/range-get?view=graph-rest-1.0&tabs=http)
Get columns
Get the values of the specified columns in an Excel worksheet. [See the documentation](https://learn.microsoft.com/en-us/graph/api/range-get?view=graph-rest-1.0&tabs=http) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - columns: Return JSON in this format: string[]
Find row
Find a row by column and value in an Excel worksheet. [See the documentation](https://learn.microsoft.com/en-us/graph/api/range-get?view=graph-rest-1.0&tabs=http)
Add row
Insert a new row into a specified Excel worksheet. [See the documentation](https://learn.microsoft.com/en-us/graph/api/range-insert?view=graph-rest-1.0&tabs=http) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - values: Return JSON in this format: string[]
Add a worksheet tablerow
Adds rows to the end of specific table. [See the documentation](https://learn.microsoft.com/en-us/graph/api/tablerowcollection-add?view=graph-rest-1.0&tabs=http)
Monday Tools
16
Get board items by name
Get items by board id and term
Create item
Create a new item in a monday.com board
Create update
Create a new update in a monday.com board
Get board activity
Get board activity logs for a specified time range (defaults to last 30 days)
Get board info
Get comprehensive board information including metadata, structure, owners, and configuration
Get users by name
Get users, can be filtered by name or partial name
Create board
Create a monday.com board
Create column
Create a new column in a monday.com board
All monday api
Execute any Monday.com API operation by generating GraphQL queries and mutations dynamically. Make sure you ask only for the fields you need and nothing more. When providing the query/mutation - use get_graphql_schema and get_type_details tools first to understand the schema before crafting your query.
Get graphql schema
Fetch the Monday.com GraphQL schema structure including query and mutation definitions. This tool returns available query fields, mutation fields, and a list of GraphQL types in the schema. You can filter results by operation type (read/write) to focus on either queries or mutations.
Get column type info
Retrieves comprehensive information about a specific column type, including JSON schema definition and other metadata. Use this before creating columns with the create_column tool to understand the structure, validation rules, and available properties for column settings.
Get type details
Get detailed information about a specific GraphQL type from the Monday.com API schema
Read docs
Get a collection of monday.com documents with their content as markdown. PAGINATION: - Default limit is 25 documents per page - Use 'page' parameter to get additional pages (starts at 1) - Check response for 'has_more_pages' to know if you should continue paginating - If user asks for "all documents" and you get exactly 25 results, continue with page 2, 3, etc. FILTERING: Provide an ID filter object with: - type: 'ids' for specific document IDs - type: 'object_ids' for specific document object IDs - type: 'workspace_ids' for all docs in specific workspaces - values: array of ID strings (at least 1 required) Examples: - { type: 'ids', values: ['123', '456'] } - { type: 'object_ids', values: ['123'] } - { type: 'workspace_ids', values: ['ws_101'] } USAGE PATTERNS: - For specific documents: use type 'ids' or 'object_ids' (A monday doc has two unique identifiers) - For workspace exploration: use type 'workspace_ids' with pagination - For large searches: start with page 1, then paginate if has_more_pages=true
Workspace info
This tool returns the boards, docs and folders in a workspace and which folder they are in. It returns up to 100 of each object type, if you receive 100 assume there are additional objects of that type in the workspace.
List workspaces
List all workspaces available to the user. Returns up to 500 workspaces with their ID, name, and description.
Create doc
Create a new monday.com doc either inside a workspace or attached to an item (via a doc column). After creation, the provided markdown will be appended to the document. LOCATION TYPES: - workspace: Creates a document in a workspace (requires workspace_id, optional doc_kind, optional folder_id) - item: Creates a document attached to an item (requires item_id, optional column_id) USAGE EXAMPLES: - Workspace doc: { location: { type: "workspace", workspace_id: 123, doc_kind: "private" }, markdown: "..." } - Workspace doc in folder: { location: { type: "workspace", workspace_id: 123, folder_id: 17264196 }, markdown: "..." } - Item doc: { location: { type: "item", item_id: 456, column_id: "doc_col_1" }, markdown: "..." }
Neon Tools
21
List projects
Lists the first 10 Neon projects in your account. If you can't find the project, increase the limit by passing a higher value to the `limit` parameter.
Create project
Create a new Neon project. If someone is trying to create a database, use this tool.
Delete project
Delete a Neon project
Describe project
Describes a Neon project
Run sql
<use_case> Use this tool to execute a single SQL statement against a Neon database. </use_case> <important_notes> If you have a temporary branch from a prior step, you MUST: 1. Pass the branch ID to this tool unless explicitly told otherwise 2. Tell the user that you are using the temporary branch with ID [branch_id] </important_notes>
Run sql transaction
<use_case> Use this tool to execute a SQL transaction against a Neon database, should be used for multiple SQL statements. </use_case> <important_notes> If you have a temporary branch from a prior step, you MUST: 1. Pass the branch ID to this tool unless explicitly told otherwise 2. Tell the user that you are using the temporary branch with ID [branch_id] </important_notes>
Describe table schema
Describe the schema of a table in a Neon database
Get database tables
Get all tables in a Neon database
Create branch
Create a branch in a Neon project
Prepare database migration
<use_case> This tool performs database schema migrations by automatically generating and executing DDL statements. Supported operations: CREATE operations: - Add new columns (e.g., "Add email column to users table") - Create new tables (e.g., "Create posts table with title and content columns") - Add constraints (e.g., "Add unique constraint on `users.email`") ALTER operations: - Modify column types (e.g., "Change posts.views to bigint") - Rename columns (e.g., "Rename user_name to username in users table") - Add/modify indexes (e.g., "Add index on `posts.title`") - Add/modify foreign keys (e.g., "Add foreign key from `posts.user_id` to `users.id`") DROP operations: - Remove columns (e.g., "Drop temporary_field from users table") - Drop tables (e.g., "Drop the old_logs table") - Remove constraints (e.g., "Remove unique constraint from posts.slug") The tool will: 1. Parse your natural language request 2. Generate appropriate SQL 3. Execute in a temporary branch for safety 4. Verify the changes before applying to main branch Project ID and database name will be automatically extracted from your request. If the database name is not provided, the default neondb or first available database is used. </use_case> <workflow> 1. Creates a temporary branch 2. Applies the migration SQL in that branch 3. Returns migration details for verification </workflow> <important_notes> After executing this tool, you MUST: 1. Test the migration in the temporary branch using the `run_sql` tool 2. Ask for confirmation before proceeding 3. Use `complete_database_migration` tool to apply changes to main branch </important_notes> <example> For a migration like: ```sql ALTER TABLE users ADD COLUMN last_login TIMESTAMP; ``` You should test it with: ```sql SELECT column_name, data_type FROM information_schema.columns WHERE table_name = 'users' AND column_name = 'last_login'; ``` You can use `run_sql` to test the migration in the temporary branch that this tool creates. </example> <next_steps> After executing this tool, you MUST follow these steps: 1. Use `run_sql` to verify changes on temporary branch 2. Follow these instructions to respond to the client: <response_instructions> <instructions> Provide a brief confirmation of the requested change and ask for migration commit approval. You MUST include ALL of the following fields in your response: - Migration ID (this is required for commit and must be shown first) - Temporary Branch Name (always include exact branch name) - Temporary Branch ID (always include exact ID) - Migration Result (include brief success/failure status) Even if some fields are missing from the tool's response, use placeholders like "not provided" rather than omitting fields. </instructions> <do_not_include> IMPORTANT: Your response MUST NOT contain ANY technical implementation details such as: - Data types (e.g., DO NOT mention if a column is boolean, varchar, timestamp, etc.) - Column specifications or properties - SQL syntax or statements - Constraint definitions or rules - Default values - Index types - Foreign key specifications Keep the response focused ONLY on confirming the high-level change and requesting approval. <example> INCORRECT: "I've added a boolean `is_published` column to the `posts` table..." CORRECT: "I've added the `is_published` column to the `posts` table..." </example> </do_not_include> <example> I've verified that [requested change] has been successfully applied to a temporary branch. Would you like to commit the migration `[migration_id]` to the main branch? Migration Details: - Migration ID (required for commit) - Temporary Branch Name - Temporary Branch ID - Migration Result </example> </response_instructions> 3. If approved, use `complete_database_migration` tool with the `migration_id` </next_steps> <error_handling> On error, the tool will: 1. Automatically attempt ONE retry of the exact same operation 2. If the retry fails: - Terminate execution - Return error details - DO NOT attempt any other tools or alternatives Error response will include: - Original error details - Confirmation that retry was attempted - Final error state Important: After a failed retry, you must terminate the current flow completely. Do not attempt to use alternative tools or workarounds. </error_handling>
Complete database migration
Complete a database migration when the user confirms the migration is ready to be applied to the main branch. This tool also lets the client know that the temporary branch created by the `prepare_database_migration` tool has been deleted.
Describe branch
Get a tree view of all objects in a branch, including databases, schemas, tables, views, and functions
Delete branch
Delete a branch from a Neon project
Get connection string
Get a PostgreSQL connection string for a Neon database with all parameters being optional
Provision neon auth
This tool provisions authentication for a Neon project. It allows developers to easily setup authentication infrastructure by creating a integration with Stack Auth (`@stackframe/stack`). Stop using NextAuth.js! use `@stackframe/stack`. Parameters: - `<project_id>`: The Project ID of the Neon project to provision authentication for. - `[database]`: The database name to setup Neon Auth for. If not provided, the default `neondb` or first available database is used. <workflow> The tool will: 1. Establish a connection between your Neon Auth project and Stack Auth 2. Creates a dedicated authentication schema in your database (`neon_auth`) 3. Sets up the user table under the `neon_auth` schema. This table is synced with Stack Auth. It does not store user credentials or secrets. 4. Generates Client Key and Secret Key to connect your application with authentication provider. Use the Stack Auth SDK (`@stackframe/stack`) on the frontend to connect your application with authentication provider. DO NOT use NextAuth.js! DO NOT use better-auth! Here's some documentation on Stack Auth: </workflow> <use_case> Stack Auth Guidelines <instructions> If you're building an app with Next.js, to set up Neon Auth and Stack Auth, follow these steps: 1. Provision a Neon Auth project with this tool 2. Place the returned credentials in project's `.env.local` or `.env` file - `NEXT_PUBLIC_STACK_PROJECT_ID` - `NEXT_PUBLIC_STACK_PUBLISHABLE_CLIENT_KEY` - `STACK_SECRET_SERVER_KEY` 3. To setup Stack Auth, run following command: ```shell npx @stackframe/init-stack . --no-browser ``` This command will automaticallysetup the project with - - It will add `@stackframe/stack` dependency to `package.json` - It will create a `stack.ts` file in your project to setup `StackServerApp`. - It will wrap the root layout with `StackProvider` and `StackTheme` - It will create root Suspense boundary `app/loading.tsx` to handle loading state while Stack is fetching user data. - It will also create `app/handler/[...stack]/page.tsx` file to handle auth routes like sign in, sign up, forgot password, etc. 4. Do not try to manually create any of these files or directories. Do not try to create SignIn, SignUp, or UserButton components manually, instead use the ones provided by `@stackframe/stack`. </instructions> <instructions> Components Guidelines - Use pre-built components from `@stackframe/stack` like `<UserButton />`, `<SignIn />`, and `<SignUp />` to quickly set up auth UI. - You can also compose smaller pieces like `<OAuthButtonGroup />`, `<MagicLinkSignIn />`, and `<CredentialSignIn />` for custom flows. <example> ```tsx import { SignIn } from '@stackframe/stack'; export default function Page() { return <SignIn />; } ``` </example> </instructions> <instructions> User Management Guidelines - In Client Components, use the `useUser()` hook to retrieve the current user (it returns `null` when not signed in). - Update user details using `user.update({...})` and sign out via `user.signOut()`. - For pages that require a user, call `useUser({ or: "redirect" })` so unauthorized visitors are automatically redirected. </instructions> <instructions> Client Component Guidelines - Client Components rely on hooks like `useUser()` and `useStackApp()`. <example> ```tsx "use client"; import { useUser } from "@stackframe/stack"; export function MyComponent() { const user = useUser(); return <div>{user ? `Hello, ${user.displayName}` : "Not logged in"}</div>; } ``` </example> </instructions> <instructions> Server Component Guidelines - For Server Components, use `stackServerApp.getUser()` from your `stack.ts` file. <example> ```tsx import { stackServerApp } from "@/stack"; export default async function ServerComponent() { const user = await stackServerApp.getUser(); return <div>{user ? `Hello, ${user.displayName}` : "Not logged in"}</div>; } ``` </example> </instructions> <instructions> Page Protection Guidelines - Protect pages by: - Using `useUser({ or: "redirect" })` in Client Components. - Using `await stackServerApp.getUser({ or: "redirect" })` in Server Components. - Implementing middleware that checks for a user and redirects to `/handler/sign-in` if not found. <example> Example middleware: ```tsx export async function middleware(request: NextRequest) { const user = await stackServerApp.getUser(); if (!user) { return NextResponse.redirect(new URL('/handler/sign-in', request.url)); } return NextResponse.next(); } export const config = { matcher: '/protected/:path*' }; ``` </example> </instructions> <workflow> Example: custom-profile-page <instructions> Create a custom profile page that: - Displays the user's avatar, display name, and email. - Provides options to sign out. - Uses Stack Auth components and hooks. </instructions> <example> File: `app/profile/page.tsx` ```tsx 'use client'; import { useUser, useStackApp, UserButton } from '@stackframe/stack'; export default function ProfilePage() { const user = useUser({ or: "redirect" }); const app = useStackApp(); return ( <div> <UserButton /> <h1>Welcome, {user.displayName || "User"}</h1> <p>Email: {user.primaryEmail}</p> <button onClick={() => user.signOut()}>Sign Out</button> </div> ); } ``` </example> </workflow> </use_case>
Explain sql statement
Describe the PostgreSQL query execution plan for a query of SQL statement by running EXPLAIN (ANAYLZE...) in the database
Prepare query tuning
<use_case> This tool helps developers improve PostgreSQL query performance for slow queries or DML statements by analyzing execution plans and suggesting optimizations. The tool will: 1. Create a temporary branch for testing optimizations and remember the branch ID 2. Extract and analyze the current query execution plan 3. Extract all fully qualified table names (`schema.table`) referenced in the plan 4. Gather detailed schema information for each referenced table using `describe_table_schema` 5. Suggest and implement improvements like: - Adding or modifying indexes based on table schemas and query patterns - Query structure modifications - Identifying potential performance bottlenecks 6. Apply the changes to the temporary branch using `run_sql` 7. Compare performance before and after changes (but ONLY on the temporary branch passing branch ID to all tools) 8. Continue with next steps using `complete_query_tuning` tool (on `main` branch) Project ID and database name will be automatically extracted from your request. The temporary branch ID will be added when invoking other tools. Default database is `neondb` if not specified. <important_notes> This tool is part of the query tuning workflow. Any suggested changes (like creating indexes) must first be applied to the temporary branch using the `run_sql` tool. And then to the main branch using the `complete_query_tuning` tool, NOT the `prepare_database_migration` tool. To apply using the `complete_query_tuning` tool, you must pass the `tuning_id`, NOT the temporary branch ID to it. </important_notes> </use_case> <workflow> 1. Creates a temporary branch 2. Analyzes current query performance and extracts table information 3. Implements and tests improvements (using tool `run_sql` for schema modifications and `explain_sql_statement` for performance analysis, but ONLY on the temporary branch created in step 1 passing the same branch ID to all tools) 4. Returns tuning details for verification </workflow> <important_notes> After executing this tool, you MUST: 1. Review the suggested changes 2. Verify the performance improvements on temporary branch - by applying the changes with `run_sql` and running `explain_sql_statement` again) 3. Decide whether to keep or discard the changes 4. Use `complete_query_tuning` tool to apply or discard changes to the main branch DO NOT use `prepare_database_migration` tool for applying query tuning changes. Always use `complete_query_tuning` to ensure changes are properly tracked and applied. Note: - Some operations like creating indexes can take significant time on large tables - Table statistics updates (ANALYZE) are NOT automatically performed as they can be long-running - Table statistics maintenance should be handled by PostgreSQL auto-analyze or scheduled maintenance jobs - If statistics are suspected to be stale, suggest running ANALYZE as a separate maintenance task </important_notes> <example> For a query like: ```sql SELECT o.*, c.name FROM orders o JOIN customers c ON c.id = o.customer_id WHERE o.status = 'pending' AND o.created_at > '2024-01-01'; ``` The tool will: 1. Extract referenced tables: `public.orders`, `public.customers` 2. Gather schema information for both tables 3. Analyze the execution plan 4. Suggest improvements like: - Creating a composite index on orders(status, created_at) - Optimizing the join conditions 5. If confirmed, apply the suggested changes to the temporary branch using `run_sql` 6. Compare execution plans and performance before and after changes (but ONLY on the temporary branch passing branch ID to all tools) </example> <next_steps> After executing this tool, you MUST follow these steps: 1. Review the execution plans and suggested changes 2. Follow these instructions to respond to the client: <response_instructions> <instructions> Provide a brief summary of the performance analysis and ask for approval to apply changes on the temporary branch. You MUST include ALL of the following fields in your response: - Tuning ID (this is required for completion) - Temporary Branch Name - Temporary Branch ID - Original Query Cost - Improved Query Cost - Referenced Tables (list all tables found in the plan) - Suggested Changes Even if some fields are missing from the tool's response, use placeholders like "not provided" rather than omitting fields. </instructions> <do_not_include> IMPORTANT: Your response MUST NOT contain ANY technical implementation details such as: - Exact index definitions - Internal PostgreSQL settings - Complex query rewrites - Table partitioning details Keep the response focused on high-level changes and performance metrics. </do_not_include> <example> I've analyzed your query and found potential improvements that could reduce execution time by [X]%. Would you like to apply these changes to improve performance? Analysis Details: - Tuning ID: [id] - Temporary Branch: [name] - Branch ID: [id] - Original Cost: [cost] - Improved Cost: [cost] - Referenced Tables: * public.orders * public.customers - Suggested Changes: * Add index for frequently filtered columns * Optimize join conditions To apply these changes, I will use the `complete_query_tuning` tool after your approval and pass the `tuning_id`, NOT the temporary branch ID to it. </example> </response_instructions> 3. If approved, use ONLY the `complete_query_tuning` tool with the `tuning_id` </next_steps> <error_handling> On error, the tool will: 1. Automatically attempt ONE retry of the exact same operation 2. If the retry fails: - Terminate execution - Return error details - Clean up temporary branch - DO NOT attempt any other tools or alternatives Error response will include: - Original error details - Confirmation that retry was attempted - Final error state Important: After a failed retry, you must terminate the current flow completely. </error_handling>
Complete query tuning
Complete a query tuning session by either applying the changes to the main branch or discarding them. <important_notes> BEFORE RUNNING THIS TOOL: test out the changes in the temporary branch first by running - `run_sql` with the suggested DDL statements. - `explain_sql_statement` with the original query and the temporary branch. This tool is the ONLY way to finally apply changes after the `prepare_query_tuning` tool to the main branch. You MUST NOT use `prepare_database_migration` or other tools to apply query tuning changes. You MUST pass the `tuning_id` obtained from the `prepare_query_tuning` tool, NOT the temporary branch ID as `tuning_id` to this tool. You MUST pass the temporary branch ID used in the `prepare_query_tuning` tool as TEMPORARY branchId to this tool. The tool OPTIONALLY receives a second branch ID or name which can be used instead of the main branch to apply the changes. This tool MUST be called after tool `prepare_query_tuning` even when the user rejects the changes, to ensure proper cleanup of temporary branches. </important_notes> This tool: 1. Applies suggested changes (like creating indexes) to the main branch (or specified branch) if approved 2. Handles cleanup of temporary branch 3. Must be called even when changes are rejected to ensure proper cleanup Workflow: 1. After `prepare_query_tuning` suggests changes 2. User reviews and approves/rejects changes 3. This tool is called to either: - Apply approved changes to main branch and cleanup - OR just cleanup if changes are rejected
List slow queries
<use_case> Use this tool to list slow queries from your Neon database. </use_case> <important_notes> This tool queries the pg_stat_statements extension to find queries that are taking longer than expected. The tool will return queries sorted by execution time, with the slowest queries first. </important_notes>
List branch computes
Lists compute endpoints for a project or specific branch
List organizations
Lists all organizations that the current user has access to. Optionally filter by organization name or ID using the search parameter.
Paypal Tools
2
Postgresql Tools
7
Upsert row
Adds a new row or updates an existing row. [See the documentation](https://node-postgres.com/features/queries)
Update row
Updates an existing row. [See the documentation](https://node-postgres.com/features/queries)
Insert row
Adds a new row. [See the documentation](https://node-postgres.com/features/queries)
Find row
Finds a row in a table via a lookup column. [See the documentation](https://node-postgres.com/features/queries)
Find row custom query
Finds a row in a table via a custom query. [See the documentation](https://node-postgres.com/features/queries) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - values: Return JSON in this format: string[]
Execute custom query
Execute a custom PostgreSQL query. See [our docs](https://pipedream.com/docs/databases/working-with-sql) to learn more about working with SQL in Pipedream.
Delete rows
Deletes a row or rows from a table. [See the documentation](https://node-postgres.com/features/queries)
Posthog Tools
52
Add insight to dashboard
Add an existing insight to a dashboard. Requires insight ID and dashboard ID. Optionally supports layout and color customization.
Dashboard create
Create a new dashboard in the project. Requires name and optional description, tags, and other properties.
Dashboard delete
Delete a dashboard by ID (soft delete - marks as deleted).
Dashboard get
Get a specific dashboard by ID. The response will include insights / tiles that are on the dashboard.
Dashboards get all
Get all dashboards in the project with optional filtering. Can filter by pinned status, search term, or pagination.
Dashboard update
Update an existing dashboard by ID. Can update name, description, pinned status or tags.
Dashboard reorder tiles
Reorder tiles (insights) on a dashboard. Provide an array of tile IDs in the desired order from top to bottom. First, use dashboard-get to retrieve the dashboard and see the current tile IDs, then provide the tile IDs in your desired order.
Docs search
Use this tool to search the PostHog documentation for information that can help the user with their request. Use it as a fallback when you cannot answer the user's request using other tools in this MCP. Only use this tool for PostHog related questions.
Error details
Use this tool to get the details of an error in the project.
List errors
Use this tool to list errors in the project.
Create feature flag
Creates a new feature flag in the project. Once you have created a feature flag, you should: Ask the user if they want to add it to their codebase, Use the "search-docs" tool to find documentation on how to add feature flags to the codebase (search for the right language / framework), Clarify where it should be added and then add it.
Delete feature flag
Delete a feature flag in the project.
Feature flag get all
Get all feature flags in the project.
Feature flag get definition
Get the definition of a feature flag. You can provide either the flagId or the flagKey. If you provide both, the flagId will be used.
Update feature flag
Update a new feature flag in the project. To enable a feature flag, you should make sure it is active and the rollout percentage is set to 100 for the group you want to target. To disable a feature flag, you should make sure it is inactive, you can keep the rollout percentage as it is.
Experiment get all
Get all experiments in the project.
Experiment create
Create a comprehensive A/B test experiment. PROCESS: 1) Understand experiment goal and hypothesis 2) Search existing feature flags with 'feature-flags-get-all' tool first and suggest reuse or new key 3) Help user define success metrics by asking what they want to optimize 4) MOST IMPORTANT: Use 'event-definitions-list' tool to find available events in their project 5) For funnel metrics, ask for specific event sequence (e.g., ['product_view', 'add_to_cart', 'purchase']) and use funnel_steps parameter 6) Configure variants (default 50/50 control/test unless they specify otherwise) 7) Set targeting criteria if needed.
Experiment delete
Delete an experiment by ID.
Experiment update
Update an existing experiment by ID. Can update name, description, lifecycle state, variants, metrics, and other properties. RESTART WORKFLOW: To restart a concluded experiment, set end_date=null, conclusion=null, conclusion_comment=null, and optionally set a new start_date. To make it draft again, also set start_date=null. COMMON PATTERNS: Launch draft (set start_date), stop running (set end_date + conclusion), archive (set archived=true), modify variants (update parameters.feature_flag_variants). NOTE: feature_flag_key cannot be changed after creation.
Experiment get
Get details of a specific experiment by ID.
Experiment results get
Get comprehensive experiment results including all metrics data (primary and secondary) and exposure data. This tool fetches the experiment details and executes the necessary queries to get complete experiment results. Only works with new experiments (not legacy experiments).
Insight create from query
Create an insight from a query that you have previously tested with 'query-run'. You should check the query runs, before creating an insight. Do not create an insight before running the query, unless you know already that it is correct (e.g. you are making a minor modification to an existing query you have seen).
Insight delete
Delete an insight by ID (soft delete - marks as deleted).
Insight get
Get a specific insight by ID.
Insight query
Execute a query on an existing insight to get its results/data. Provide the insight ID to retrieve the current query results.
Insights get all
Get all insights in the project with optional filtering. Can filter by saved status, favorited status, or search term.
Insight update
Update an existing insight by ID. Can update name, description, filters, and other properties. You should get the insight before update it to see it's current query structure, and only modify the parts needed to answer the user's request.
Query run
You should use this to answer questions that a user has about their data and for when you want to create a new insight. You can use 'event-definitions-list' to get events to use in the query, and 'event-properties-list' to get properties for those events. It can run a trend, funnel or HogQL query. Where possible, use a trend or funnel rather than a HogQL query, unless you know the HogQL is correct (e.g. it came from a previous insight.).
Query generate hogql from question
This is a slow tool, and you should only use it once you have tried to create a query using the 'query-run' tool, or the query is too complicated to create a trend / funnel. Queries project's PostHog data based on a provided natural language question - don't provide SQL query as input but describe the output you want. When giving the results back to the user, first show the SQL query that was used, then provide results in reasily readable format. You should also offer to save the query as an insight if the user wants to.
Get llm total costs for project
Fetches the total LLM daily costs for each model for a project over a given number of days. If no number of days is provided, it defaults to 7. The results are sorted by model name. The total cost is rounded to 4 decimal places. The query is executed against the project's data warehouse. Show the results as a Markdown formatted table with the following information for each model: Model name, Total cost in USD, Each day's date, Each day's cost in USD. Write in bold the model name with the highest total cost. Properly render the markdown table in the response.
Organization details get
Get the details of the active organization.
Organizations get
Get the organizations the user has access to.
Switch organization
Change the active organization from the default organization. You should only use this tool if the user asks you to change the organization - otherwise, the default organization will be used.
Projects get
Fetches projects that the user has access to in the current organization.
Event definitions list
List all event definitions in the project with optional filtering. Can filter by search term.
Event definition update
Update event definition metadata. Can update description, tags, mark status as verified or hidden. Use exact event name like '$pageview' or 'user_signed_up'.
Properties list
List properties for events or persons. If fetching event properties, you must provide an event name.
Switch project
Change the active project from the default project. You should only use this tool if the user asks you to change the project - otherwise, the default project will be used.
Survey create
Creates a new survey in the project. Surveys can be popover or API-based and support various question types including open-ended, multiple choice, rating, and link questions. Once created, you should ask the user if they want to add the survey to their application code.
Survey get
Get a specific survey by ID. Returns the survey configuration including questions, targeting, and scheduling details.
Surveys get all
Get all surveys in the project with optional filtering. Can filter by search term or use pagination.
Survey update
Update an existing survey by ID. Can update name, description, questions, scheduling, and other survey properties.
Survey delete
Delete a survey by ID (soft delete - marks as archived).
Surveys global stats
Get aggregated response statistics across all surveys in the project. Includes event counts (shown, dismissed, sent), unique respondents, conversion rates, and timing data. Supports optional date filtering.
Survey stats
Get response statistics for a specific survey. Includes detailed event counts (shown, dismissed, sent), unique respondents, conversion rates, and timing data. Supports optional date filtering.
Logs query
Search and query logs in the project. Supports filtering by severity levels (trace, debug, info, warn, error, fatal), service names, date range, and free text search. Returns log entries with their attributes, timestamps, and trace information. Supports pagination via cursor.
Logs list attributes
List available log attributes in the project. Use this to discover what attributes you can filter on when querying logs. Supports filtering by attribute type (log or resource) and searching by attribute name.
Logs list attribute values
Get possible values for a specific log attribute. Use this to discover what values exist for a given attribute key, which helps when building log queries with filters.
Actions get all
Get all actions in the project. Actions are reusable event definitions that can combine multiple trigger conditions (page views, clicks, form submissions) into a single trackable event for use in insights and funnels. Supports pagination with limit and offset parameters. Note: Search/filtering by name is not supported on this endpoint.
Action get
Get a specific action by ID. Returns the action configuration including all steps and their trigger conditions.
Entity search
Search for PostHog entities by name or description. Can search across multiple entity types including insights, dashboards, experiments, feature flags, notebooks, actions, cohorts, event definitions, and surveys. Use this to find entities when you know part of their name. Returns matching entities with their IDs and URLs.
Demo mcp ui apps
Demo tool for testing MCP Apps SDK integration. Returns sample data that is displayed in an interactive UI app. Use this to verify that MCP Apps are working correctly.
Postproxy Tools
7
Auth status
Check authentication status, API configuration, and workspace information
Profiles list
List all available social media profiles (targets) for posting
Post publish
Publish a post to specified targets
Post status
Get status of a published post by job ID
Post publish draft
Publish a draft post
Post delete
Delete a post by job ID
History list
List recent post jobs
Reddit Tools
5
Submit a post
Create a post to a subreddit. [See the docs here](https://www.reddit.com/dev/api/#POST_api_submit)
Submit a comment
Submit a new comment or reply to a message. [See the docs here](https://www.reddit.com/dev/api/#POST_api_comment)
Search post
Search posts by title. [See the docs here](https://www.reddit.com/dev/api/#GET_search)
List subreddits by query
List subreddits based on a search criteria. [See the docs here](https://www.reddit.com/dev/api/#GET_subreddits_search)
List comments in a post
List comments for a specific post. [See the docs here](https://www.reddit.com/dev/api/#GET_comments_{article})
Square Tools
3
Make api request
Unified tool for all Square API operations. Be sure to get types before calling. Available services: applepay, bankaccounts, bookingcustomattributes, bookings, cards, cashdrawers, catalog, checkout, customercustomattributes, customergroups, customersegments, customers, devices, disputes, events, giftcardactivities, giftcards, inventory, invoices, labor, locationcustomattributes, locations, loyalty, merchantcustomattributes, merchants, ordercustomattributes, orders, payments, payouts, refunds, sites, snippets, subscriptions, team, terminal, vendors, webhooksubscriptions.
Get type info
Get type information for a Square API method. You must call this before calling the make_api_request tool.
Get service info
Get information about a Square API service. Call me FIRST before trying to get type info
Telegram Bot Api Tools
26
Unpin message
Unpins a message. [See the docs](https://core.telegram.org/bots/api#unpinchatmessage) for more information
Set chat permissions
Set default chat permissions for all members. [See the docs](https://core.telegram.org/bots/api#setchatpermissions) for more information
Send voice message
Sends a voice message. [See the docs](https://core.telegram.org/bots/api#sendvoice) for more information
Send video
Sends a video file to your Telegram Desktop application. [See the docs](https://core.telegram.org/bots/api#sendvideo) for more information
Send video note
As of v.4.0, Telegram clients support rounded square mp4 videos of up to 1 minute long. Use this method to send video messages. [See the docs](https://core.telegram.org/bots/api#sendvideonote) for more information
Send text message or reply
Sends a text message or a reply to your Telegram Desktop application. [See the docs](https://core.telegram.org/bots/api#sendmessage) for more information
Send sticker
Sends a .webp sticker to you Telegram Desktop application. [See the docs](https://core.telegram.org/bots/api#sendsticker) for more information
Send photo
Sends a photo to your Telegram Desktop application. [See the docs](https://core.telegram.org/bots/api#sendphoto) for more information
Send media by url or id
Sends a file (document, photo, video, audio, ...) by HTTP URL or by ID that exists on the Telegram servers. [See the docs](https://core.telegram.org/bots/api#inputmedia) for more information
Send document or image
Sends a document or an image to your Telegram Desktop application. [See the docs](https://core.telegram.org/bots/api#senddocument) for more information
Send audio file
Sends an audio file to your Telegram Desktop application. [See the docs](https://core.telegram.org/bots/api#sendaudio) for more information
Send album
Sends a group of photos or videos as an album. [See the docs](https://core.telegram.org/bots/api#sendmediagroup) for more information
Restrict chat member
Use this method to restrict a user in a supergroup. [See the docs](https://core.telegram.org/bots/api#restrictchatmember) for more information
Promote chat member
Use this method to promote or demote a user in a supergroup or a channel. [See the docs](https://core.telegram.org/bots/api#promotechatmember) for more information
Pin message
Pins a message. [See the docs](https://core.telegram.org/bots/api#pinchatmessage) for more information
List updates
Retrieves a list of updates from the Telegram server. [See the docs](https://core.telegram.org/bots/api#getupdates) for more information
List chats
List available Telegram chats. [See the docs](https://core.telegram.org/bots/api#getupdates) for more information
List administrators in chat
Use this module to get a list of administrators in a chat. [See the docs](https://core.telegram.org/bots/api#getchatadministrators) for more information
Kick chat member
Use this method to kick a user from a group, a supergroup or channel. [See the docs](https://core.telegram.org/bots/api#banchatmember) for more information
Get num members in chat
Use this module to get the number of members in a chat. [See the docs](https://core.telegram.org/bots/api#getchatmembercount) for more information
Forward message
Forwards messages of any kind. [See the docs](https://core.telegram.org/bots/api#forwardmessage) for more information
Export chat invite link
Generate a new primary invite link for a chat, [See the docs](https://core.telegram.org/bots/api#createchatinvitelink) for more information
Edit text message
Edits text or game messages. [See the docs](https://core.telegram.org/bots/api#editmessagetext) for more information
Edit media message
Edits photo or video messages. [See the docs](https://core.telegram.org/bots/api#editmessagemedia) for more information
Delete message
Deletes a message. [See the docs](https://core.telegram.org/bots/api#deletemessage) for more information
Create chat invite link
Create an additional invite link for a chat, [See the docs](https://core.telegram.org/bots/api#createchatinvitelink) for more information
Twitter Tools
19
Upload media
Upload new media. [See the documentation](https://developer.twitter.com/en/docs/twitter-api/v1/media/upload-media/api-reference/post-media-upload)
Unlike tweet
Unlike a tweet specified by its ID. [See the documentation](https://developer.twitter.com/en/docs/twitter-api/tweets/likes/api-reference/delete-users-id-likes-tweet_id)
Unfollow user
Unfollow a user. [See the documentation](https://developer.twitter.com/en/docs/twitter-api/users/follows/api-reference/delete-users-source_id-following)
Simple search
Retrieve Tweets from the last seven days that match a query. [See the documentation](https://developer.twitter.com/en/docs/twitter-api/tweets/search/api-reference/get-tweets-search-recent)
Simple search in list
Search Tweets by text in a list. [See the documentation](https://developer.twitter.com/en/docs/twitter-api/lists/list-tweets/api-reference/get-lists-id-tweets) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - searchTerms: Return JSON in this format: string[]
Send dm
Send a message to a user. [See the documentation](https://developer.twitter.com/en/docs/twitter-api/direct-messages/manage/api-reference/post-dm_conversations-with-participant_id-messages)
Retweet
Retweet a tweet specified by ID. [See the documentation](https://developer.twitter.com/en/docs/twitter-api/tweets/retweets/api-reference/post-users-id-retweets)
List user tweets
Return a collection of the most recent tweets posted by a user. [See the documentation](https://developer.twitter.com/en/docs/twitter-api/tweets/timelines/api-reference/get-users-id-tweets)
List mentions
Return the most recent mentions for the specified user. [See the documentation](https://developer.twitter.com/en/docs/twitter-api/tweets/timelines/api-reference/get-users-id-mentions)
List lists
Get all lists owned by a user. [See the documentation](https://developer.twitter.com/en/docs/twitter-api/lists/list-lookup/api-reference/get-users-id-owned_lists)
List followers
Return a collection of user objects for users following the specified user. [See the documentation](https://developer.twitter.com/en/docs/twitter-api/users/follows/api-reference/get-users-id-followers)
List favorites
Return the most recent tweets liked by you or the specified user. [See the documentation](https://developer.twitter.com/en/docs/twitter-api/tweets/likes/api-reference/get-users-id-liked_tweets)
Like tweet
Like a tweet specified by its ID. [See the documentation](https://developer.twitter.com/en/docs/twitter-api/tweets/likes/api-reference/post-users-id-likes)
Get user
Get information about a user. [See the documentation](https://developer.twitter.com/en/docs/twitter-api/users/lookup/api-reference/get-users-id)
Get tweet
Return a single tweet specified by ID. [See the documentation](https://developer.twitter.com/en/docs/twitter-api/tweets/lookup/api-reference/get-tweets-id)
Follow user
Follow a user. [See the documentation](https://developer.twitter.com/en/docs/twitter-api/users/follows/api-reference/post-users-source_user_id-following)
Delete tweet
Remove a posted tweet. [See the documentation](https://developer.twitter.com/en/docs/twitter-api/tweets/manage-tweets/api-reference/delete-tweets-id)
Create tweet
Create a new tweet. [See the documentation](https://developer.twitter.com/en/docs/twitter-api/tweets/manage-tweets/api-reference/post-tweets) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - excludeReplyUserIds: Return JSON in this format: string[] - mediaIds: Return JSON in this format: string[] - taggedUserIds: Return JSON in this format: string[]
Add user to list
Add a member to a list owned by the user. [See the documentation](https://developer.twitter.com/en/docs/twitter-api/lists/list-members/api-reference/post-lists-id-members)
Typeform Tools
12
Update form title
Updates an existing form's title. [See the docs here](https://developer.typeform.com/create/reference/update-form-patch/)
Update dropdown multiple choice ranking
Update a dropdown, multiple choice, or ranking field's choices. [See the docs here](https://developer.typeform.com/create/reference/update-form/)
Lookup responses
Search for responses with the `query` property. [See the docs here](https://developer.typeform.com/responses/reference/retrieve-responses/)
List responses
Returns form responses and date and time of form landing and submission. [See the docs here](https://developer.typeform.com/responses/reference/retrieve-responses/) IMPORTANT: The arguments have specific formats. Please follow the instructions below: - includedResponseIds: Return JSON in this format: string[] - excludedResponseIds: Return JSON in this format: string[] - fields: Return JSON in this format: string[] - answeredFields: Return JSON in this format: string[]
List images
Retrieves a list of JSON descriptions for all images in your Typeform account. [See the docs here](https://developer.typeform.com/create/reference/retrieve-images-collection/)
List forms
Retrieves a list of forms. [See the docs here](https://developer.typeform.com/create/reference/retrieve-forms/)
Get form
Select a specific form to get the data. [See the docs here](https://developer.typeform.com/create/reference/retrieve-form/)
Duplicate form
Duplicates an existing form in your Typeform account and adds "(copy)" to the end of the title. [See the docs here](https://developer.typeform.com/create/reference/create-form/)
Delete image
Deletes an image from your Typeform account. [See the docs here](https://developer.typeform.com/create/reference/delete-image/)
Delete form
Select a form to be deleted. [See the docs here](https://developer.typeform.com/create/reference/delete-form/).
Create image
Adds an image in your Typeform account. [See the docs here](https://developer.typeform.com/create/reference/create-image/)
Create form
Creates a form with its corresponing fields. [See the docs here](https://developer.typeform.com/create/reference/create-form/)
Webflow Tools
32
Ask webflow ai
Ask Webflow AI about anything related to Webflow API.
Collections list
List all CMS collections in a site. Returns collection metadata including IDs, names, and schemas.
Collections get
Get detailed information about a specific CMS collection including its schema and field definitions.
Collections create
Create a new CMS collection in a site with specified name and schema.
Collection fields create static
Create a new static field in a CMS collection (e.g., text, number, date, etc.).
Collection fields create option
Create a new option field in a CMS collection with predefined choices.
Collection fields create reference
Create a new reference field in a CMS collection that links to items in another collection.
Collection fields update
Update properties of an existing field in a CMS collection.
Collections items create item live
Create and publish new items in a CMS collection directly to the live site.
Collections items update items live
Update and publish existing items in a CMS collection directly to the live site.
Collections items list items
List items in a CMS collection with optional filtering and sorting.
Collections items create item
Create new items in a CMS collection as drafts.
Collections items update items
Update existing items in a CMS collection as drafts.
Collections items publish items
Publish draft items in a CMS collection to make them live.
Collections items delete item
Delete an item in a CMS collection. Items will only be deleted in the primary locale unless a cmsLocaleId is included in the request.
Components list
List all components in a site. Returns component metadata including IDs, names, and versions.
Components get content
Get the content structure and data for a specific component including text, images, and nested components.
Components update content
Update content on a component in secondary locales by modifying text nodes and property overrides.
Components get properties
Get component properties including default values and configuration for a specific component.
Components update properties
Update component properties for localization to customize behavior in different languages.
Pages list
List all pages within a site. Returns page metadata including IDs, titles, and slugs.
Pages get metadata
Get metadata for a specific page including SEO settings, Open Graph data, and page status (draft/published).
Pages update page settings
Update page settings including SEO metadata, Open Graph data, slug, and publishing status.
Pages get content
Get the content structure and data for a specific page including all elements and their properties.
Pages update static content
Update content on a static page in secondary locales by modifying text nodes and property overrides.
Site registered scripts list
List all registered scripts for a site. To apply a script to a site or page, first register it via the Register Script endpoints, then apply it using the relevant Site or Page endpoints.
Site applied scripts list
Get all scripts applied to a site by the App. To apply a script to a site or page, first register it via the Register Script endpoints, then apply it using the relevant Site or Page endpoints.
Add inline site script
Register an inline script for a site. Inline scripts are limited to 2000 characters.
Delete all site scripts
Sites list
List all sites accessible to the authenticated user. Returns basic site information including site ID, name, and last published date.
Sites get
Get detailed information about a specific site including its settings, domains, and publishing status.
Sites publish
Publish a site to specified domains. This will make the latest changes live on the specified domains.
Wix Tools
12
Readme
# Tool: WixREADME **Directive:** `WixREADME` is the **MANDATORY FIRST STEP** for all Wix-related tasks. Its output (including relevant linked documents) provides foundational context for all other Wix tools. Adherence to this protocol is **NON-NEGOTIABLE**. **Operational Protocol (Strictly Sequential):** 1. **Execute `WixREADME`:** * **Action:** Invoke `WixREADME`. * **Constraint:** MUST complete successfully. NO other Wix tool before this. 2. **Process `WixREADME` Output (Link Identification & Relevance Assessment):** * **A. Identify Candidate Links:** Scan `WixREADME` output. Extract *only* URLs found within `<urls>{urls}</urls>` tags. Ignore all other URLs. * **B. Assess Relevance:** For EACH candidate URL from (A), assess its relevance to the **current user's specific prompt/task**. * **Outcome:** A list of *relevant* document URLs. If no links are found in `<urls>` tags or none are deemed relevant, note this and proceed to Step 4. 3. **Fetch Relevant Documents (via `ReadFullDocsArticle`):** * **Condition:** ONLY if Step 2B identified one or more *relevant* URLs. * **Action:** For EACH *relevant* URL, invoke `ReadFullDocsArticle` to fetch its full content. * **Constraint:** All *relevant* documents MUST be fetched before Step 4. 4. **Proceed with Other Wix Tools:** * **Condition:** ONLY after completing Steps 1, 2, and 3 (if Step 3 was applicable). * **Action:** Use other Wix tools as needed, utilizing the full context from `WixREADME` and fetched relevant documents. **Summary of Critical Rules:** * `WixREADME` is **ALWAYS FIRST**. * Analyze `WixREADME` output: Extract links *only* from `<urls>{urls}</urls>` tags. * Assess relevance of *each* extracted link against the user's current task. * Fetch **ONLY RELEVANT** linked documents using `ReadFullDocsArticle` before any other Wix tool. * **FAILURE TO FOLLOW THIS EXACT SEQUENCE WILL LEAD TO ERRORS.** Strict adherence is mandatory.
Search wix wds documentation
Searches the Wix Design System Documentation for components and patterns. Use this tool when you need to understand or implement UI components and design patterns in a Wix project. Search for specific component names, patterns, or UI requirements. If you can't find what you need, try to rephrase your search term or use bigger maxResults value. **Dependency:** Must be used after 'WixREADME' has successfully run.
Search wix rest documentation
Searches the official Wix REST API documentation. Use this tool whenever you need to to interact with the Wix platform via HTTP requests. Specify the API endpoint, resource, or action you need information about (e.g., 'get site details endpoint', 'create data collection', 'update product API', 'REST authentication'). If you can't find what you need, try to rephrase your search term or use bigger maxResults value. **Dependency:** Must be used after 'WixREADME' has successfully run.
Search wix sdk documentation
Searches the official Wix javascript SDK documentation. Use this tool whenever you need to write or modify Wix related SDK code. Specify the SDK module, function, or feature you need information about (e.g., 'how to query all items from a data collection?', 'how to use wix-stores-backend', 'authentication methods in the SDK'). If you can't find what you need, try to rephrase your search term or use bigger maxResults value. **Dependency:** Must be used after 'WixREADME' has successfully run.
Search build apps documentation
Searches the official Build Apps documentation. Use this tool when you need to understand or implement Wix CLI applications related code. The search term should be a specific Wix CLI command or specific topic related to Wix CLI applications or its ecosystem (e.g. deployment, creating new extensions etc). If you can't find what you need, try to rephrase your search term or use bigger maxResults value. **Dependency:** Must be used after 'WixREADME' has successfully run.
Search wix headless documentation
Searches the official Wix Headless Documentation. Use this tool when you need to understand or implement Headless related code. The search term should be a specific Wix Headless topic or feature you need information about. If you can't find what you need, try to rephrase your search term or use bigger maxResults value. **Dependency:** Must be used after 'WixREADME' has successfully run.
Read full docs article
Fetches the full Wix docs article or method article. Use this tool when you read a summary of a docs article or method article, you have the docs url and want to read the full article. **Dependency:** Must be used after 'WixREADME' has successfully run.
Read full docs method schema
Fetches the full method schema for a given method. Always use it before calling the method. This will give you the entire request/response schema with all the fields and their descriptions.
Call wix site api
Call Wix apis on a business or site. Use this to create, read, update, and delete data and other Wix entities in your Wix site, You should ALWAYS check the rest docs - "SearchWixRESTDocumentation" for the specific API you want to call, don't just call it without knowing what it does, CHECK THE DOCS Error Handling: If the error is related to missing installed app or "WDE0110: Wix Code not enabled", you should install the missing app by using ReadFullDocsArticle tool to fetch the article - https://dev.wix.com/docs/kb-only/MCP_REST_RECIPES_KB_ID/TRAIN_wix.devcenter.apps.installer.v1.AppsInstallerService.InstallApp **Note:** there is no need to check if an app is installed/ Wix Code enabled in advance, just call the API and handle the error if it occurs, the API error message will state it clearly. For any other error, use your default error handling mechanism
List wix sites
List Wix sites for the current user, by default it will return all sites, but you can filter by name
Manage wix site
Use account level API in order to create a site, update a site and publish site. ALWAYS use "SearchWixRESTDocumentation" to search for the API you should invoke, NEVER GUESS THE SITE API URL You should ALWAYS check the rest docs - "SearchWixRESTDocumentation" for the specific API you want to call, don't just call it without knowing what it does, CHECK THE DOCS
Support and feedback
If the user would like to provide Wix with some feedback (good or bad), about the tools in Wix MCP, for example they used the tools provided, and they reflected satisfaction or dissatisfaction with the tools. Also, if you encounter too many errors tyring to call the Wix API, you can also suggest the user to provide feedback to Wix using this tool. **IMPORTANT NOTE** This tool is not sending the message, but formats it in order to another tool to actually send it
Wordpress Com Tools
3
Upload media
Uploads a media file from a URL to the specified WordPress.com site. [See the documentation](https://developer.wordpress.com/docs/api/1.1/post/sites/%24site/media/new/)
Delete post
Deletes a post. [See the documentation](https://developer.wordpress.com/docs/api/1.1/post/sites/%24site/posts/%24post_ID/delete/)
Create post
Creates a new post on a WordPress.com site. [See the documentation](https://developer.wordpress.com/docs/api/1.1/post/sites/%24site/posts/new/)
Calendly V2 Tools
7
List user availability schedules
List the availability schedules of the given user. [See the documentation](https://developer.calendly.com/api-docs/8098de44af94c-list-user-availability-schedules)
List events
List events for an user. [See the documentation](https://calendly.stoplight.io/docs/api-docs/b3A6NTkxNDEy-list-events)
List event invitees
List invitees for an event. [See the documentation](https://calendly.stoplight.io/docs/api-docs/b3A6NTkxNDEx-list-event-invitees)
Get event
Gets information about an Event associated with a URI. [See the documentation](https://developer.calendly.com/api-docs/e2f95ebd44914-get-event).
Create scheduling link
Creates a single-use scheduling link. [See the documentation](https://calendly.stoplight.io/docs/api-docs/b3A6MzQyNTM0OQ-create-single-use-scheduling-link)
Create invitee no show
Marks an Invitee as a No Show in Calendly. [See the documentation](https://calendly.stoplight.io/docs/api-docs/cebd8c3170790-create-invitee-no-show).
List webhook subscriptions
Get a list of Webhook Subscriptions for an Organization or User with a UUID.