The MCP tool directory.
Each row is one tool from one provider. Tools sharing a name across providers (e.g. search) are listed separately because they aren't interchangeable.
[ 3174 tools indexed ]
[ all tools ]
30 / 3174
attachments.upload
[ remote ]Upload an attachment by providing either a file or a valid URL. Maximum request body size: 100MB.
audit_logs.actions.list
[ remote ]Get a list of all Audit Log actions in the current environment.
audit_logs.actions.schemas.create
[ remote ]Creates a new Audit Log schema used to validate the payload of incoming Audit Log Events. If the `action` does not exist, it will also be created.
audit_logs.actions.schemas.list
[ remote ]Get a list of all schemas for the Audit Logs action identified by `:name`.
audit_logs.events.create
[ remote ]Create an Audit Log Event. This API supports idempotency which guarantees that performing the same operation multiple times will have the same result as if the operation were performed only once. This is handy in situations where you may need to retry a request due to a failure or prevent accidental duplicate requests from creating more than one resource. To achieve idempotency, you can add `Idempotency-Key` request header to a Create Event request with a unique string as the value. Each subsequent request matching this unique string will return the same response. We suggest using [v4 UUIDs](https://en.wikipedia.org/wiki/Universally_unique_identifier) for idempotency keys to avoid collisions. Idempotency keys expire after 24 hours. The API will generate a new response if you submit a request with an expired key.
audit_logs.exports.create
[ remote ]Create an Audit Log Export. Exports are scoped to a single organization within a specified date range.
audit_logs.exports.get
[ remote ]Get an Audit Log Export. The URL will expire after 10 minutes. If the export is needed again at a later time, refetching the export will regenerate the URL.
auth.factors.delete
[ remote ]Permanently deletes an Authentication Factor. It cannot be undone.
auth.factors.get
[ remote ]Gets an Authentication Factor.
auth.session.info.list
[ remote ]Retrieves detailed information about the current authenticated user session, including project details, organization membership, and API key information if applicable. This endpoint is useful for verifying authentication status and retrieving contextual information about the authenticated user and their access privileges.
auth_configs.by_nanoid.update
[ remote ]Modifies an existing authentication configuration with new credentials or other settings. Only specified fields will be updated.
auth_configs.create
[ remote ]Creates a new auth config for a toolkit, allowing you to use your own OAuth credentials or API keys instead of Composio-managed authentication. This is required when you want to use custom OAuth apps (bring your own client ID/secret) or configure specific authentication parameters for a toolkit.
auth_configs.delete
[ remote ]Soft-deletes an authentication configuration by marking it as deleted in the database. This operation cannot be undone.
auth_configs.get
[ remote ]Retrieves detailed information about a specific authentication configuration using its unique identifier.
auth_configs.list
[ remote ]Retrieves all auth configs for your project. Auth configs define how users authenticate with external services (OAuth, API keys, etc.). Use filters to find configs for specific toolkits or to distinguish between Composio-managed and custom configurations.
auth_configs.update
[ remote ]Updates the status of an authentication configuration to either enabled or disabled. Disabled configurations cannot be used for new connections.
auth_test_assist
[ remote ]Start here for website login, sign-up, and verification testing. This is the shared auth entrypoint for MCP and CLI workflows. It reuses your saved inbox/password, checks remembered auth state for the site's normalized origin, and returns reusable auth strategy plus site-specific signals such as recommended auth path, account-exists confidence, likely auth method, expected follow-up, and known-site history. Call it again with action='record' after auth attempts to save what worked.
authorization.organization_memberships.check.create
[ remote ]Check if an organization membership has a specific permission on a resource. Supports identification by resource_id OR by resource_external_id + resource_type_slug.
authorization.organization_memberships.resources.list
[ remote ]Returns all child resources of a parent resource where the organization membership has a specific permission. This is useful for resource discovery—answering "What projects can this user access in this workspace?" You must provide either `parent_resource_id` or both `parent_resource_external_id` and `parent_resource_type_slug` to identify the parent resource.
authorization.organization_memberships.role_assignments.by_organization_membership_id.delete
[ remote ]Remove a role assignment by role slug and resource.
authorization.organization_memberships.role_assignments.create
[ remote ]Assign a role to an organization membership on a specific resource.
authorization.organization_memberships.role_assignments.delete
[ remote ]Remove a role assignment using its ID.
authorization.organization_memberships.role_assignments.list
[ remote ]List all role assignments for an organization membership. This returns all roles that have been assigned to the user on resources, including organization-level and sub-resource roles.
authorization.organizations.resources.delete
[ remote ]Delete an authorization resource by organization, resource type, and external ID. This also deletes all descendant resources.
authorization.organizations.resources.get
[ remote ]Retrieve the details of an authorization resource by its external ID, organization, and resource type. This is useful when you only have the external ID from your system and need to fetch the full resource details.
authorization.organizations.resources.organization_memberships.list
[ remote ]Returns all organization memberships that have a specific permission on a resource, using the resource's external ID. This is useful for answering "Who can access this resource?" when you only have the external ID.
authorization.organizations.resources.update
[ remote ]Update an existing authorization resource using its external ID.
authorization.organizations.roles.create
[ remote ]Create a new custom organization role. When slug is omitted, it is auto-generated from the role name.
authorization.organizations.roles.delete
[ remote ]Delete an existing custom organization role.
authorization.organizations.roles.get
[ remote ]Retrieve a role that applies to an organization by its slug. This can return either an environment role or an organization-specific role.