ToolTrust
A4/100
ComposioHQ

composio

mcp0.11.1

@ComposioHQ

Composio powers 1000+ toolkits, tool search, context management, authentication, and a sandboxed workbench to help you build AI agents that turn intent into action.

By ComposioHQ | 191 findings | Scanned 6/15/2026 | tooltrust-scanner/v0.3.17 | 28.8k

45 Low146 Info

Risk Summary

Safe With Normal Controls

Dep Visibility is the main signal, but overall risk remains within an acceptable range.

Potential impact: This finding indicates the tool should be reviewed before it is trusted.

Recommended action: No high-risk findings were detected in this scan, but you should still apply least-privilege defaults and rescan after changes.

Suggested policy: keep this tool behind manual approval, do not allow unattended runs, and re-scan after narrowing risky permissions.

Security Findings (191)

  • LowAS-011

    ℹ️Missing Rate-Limit / Timeout ×41

    tool performs network or execution operations but declares no rate-limit, timeout, or retry configuration

    auth_configs.by_nanoid.updateconnected_accounts.createconnected_accounts.deleteconnected_accounts.status.updateconnected_accounts.refreshconnected_accounts.link.createorg.project.config.updateorg.owner.project.new.createorg.owner.project.getorg.owner.project.deleteorg.owner.project.regenerate_api_key.createwebhook_subscriptions.listwebhook_subscriptions.createwebhook_subscriptions.getwebhook_subscriptions.updatewebhook_subscriptions.deletewebhook_subscriptions.rotate_secret.createwebhook_subscriptions.event_types.listwebhook_endpoints.listwebhook_endpoints.self.createwebhook_endpoints.getwebhook_endpoints.createtools.enum.listtoolkits.multi.createtools.execute.createtools.execute.input.createtools.execute.proxy.createtrigger_instances.upsert.createtrigger_instances.active.listtrigger_instances.manage.updatemcp.servers.generate.createfiles.upload.request.createtool_router.session.execute.createtool_router.session.execute_meta.createtool_router.session.gettool_router.session.link.createtool_router.session.proxy_execute.createtool_router.session.search.createtool_router.session.mounts.items.listtool_router.session.mounts.download_url.createtool_router.session.mounts.upload_url.create

    Fix: Declare explicit rate-limit, timeout, and retry configuration for all network and execution tools. Implement exponential back-off and surface resource state to the calling agent.

  • LowAS-002

    ⚠️Excessive Permissions ×4

    input schema exposes 12 properties (threshold: 10)

    tools.list

    input schema exposes 15 properties (threshold: 10)

    trigger_instances.active.list

    input schema exposes 11 properties (threshold: 10)

    tool_router.session.createtool_router.session.update

    Fix: Tool requests broad permissions (exec/fs/network). Validate input parameters using Enums where possible, and restrict file system operations to explicit allowed directories.

  • InfoAS-014

    ℹ️Dependency Inventory Unavailable ×79

    Tool did not expose metadata.dependencies or repo_url, so supply-chain coverage is limited.

    auth.session.info.listauth_configs.listauth_configs.createauth_configs.getauth_configs.by_nanoid.updateauth_configs.deleteauth_configs.updateconnected_accounts.listconnected_accounts.createconnected_accounts.getconnected_accounts.updateconnected_accounts.deleteconnected_accounts.status.updateconnected_accounts.refreshconnected_accounts.link.createorg.project.config.listorg.project.config.updateorg.owner.project.new.createorg.owner.project.list.listorg.owner.project.getorg.owner.project.deleteorg.owner.project.regenerate_api_key.createwebhook_subscriptions.listwebhook_subscriptions.createwebhook_subscriptions.getwebhook_subscriptions.updatewebhook_subscriptions.deletewebhook_subscriptions.rotate_secret.createwebhook_subscriptions.event_types.listwebhook_endpoints.listwebhook_endpoints.self.createwebhook_endpoints.getwebhook_endpoints.createwebhook_endpoints.updatetoolkits.listtoolkits.categories.listtoolkits.gettools.listtools.enum.listtools.gettoolkits.multi.createtools.execute.createtools.execute.input.createtools.execute.proxy.createtrigger_instances.upsert.createtrigger_instances.active.listtrigger_instances.manage.updatetrigger_instances.manage.deletetriggers_types.list.enum.listtriggers_types.gettriggers_types.listmcp.servers.listmcp.servers.createmcp.servers.custom.createmcp.servers.generate.createmcp.getmcp.updatemcp.deletemcp.app.getmcp.servers.instances.listmcp.servers.instances.createmcp.servers.instances.deletefiles.list.listfiles.upload.request.createtool_router.session.createtool_router.session.execute.createtool_router.session.execute_meta.createtool_router.session.gettool_router.session.updatetool_router.session.link.createtool_router.session.proxy_execute.createtool_router.session.toolkits.listtool_router.session.tools.listtool_router.session.search.createtool_router.session.mounts.items.listtool_router.session.mounts.download_url.createtool_router.session.mounts.upload_url.createtool_router.session.mounts.delete.createtoolkits.changelog.list

    Fix: Review and remediate the identified issue.

  • InfoAS-002

    ⚠️Excessive Permissions ×62

    declared capabilities: filesystem access

    auth_configs.createauth_configs.updateconnected_accounts.listconnected_accounts.updatewebhook_endpoints.updatetrigger_instances.manage.deletemcp.servers.listmcp.servers.createmcp.servers.custom.createmcp.updatemcp.app.getmcp.servers.instances.listmcp.servers.instances.createmcp.servers.instances.deletefiles.list.listtool_router.session.createtool_router.session.updatetool_router.session.mounts.delete.create

    declared capabilities: filesystem access, HTTP requests

    auth_configs.by_nanoid.updateorg.owner.project.new.createwebhook_subscriptions.deletewebhook_subscriptions.rotate_secret.createwebhook_endpoints.createtrigger_instances.upsert.create

    declared capabilities: filesystem access, database access

    auth_configs.deletemcp.delete

    declared capabilities: network access, filesystem access

    connected_accounts.createconnected_accounts.link.createorg.project.config.updateorg.owner.project.regenerate_api_key.createtoolkits.multi.createfiles.upload.request.createtool_router.session.link.createtool_router.session.mounts.items.listtool_router.session.mounts.download_url.createtool_router.session.mounts.upload_url.create

    declared capabilities: filesystem access, database access, HTTP requests

    connected_accounts.deleteconnected_accounts.status.updateorg.owner.project.delete

    declared capabilities: network access, filesystem access, HTTP requests

    connected_accounts.refreshwebhook_subscriptions.createwebhook_subscriptions.updatewebhook_endpoints.self.createtools.execute.proxy.create

    declared capabilities: network access, HTTP requests

    org.owner.project.get

    declared capabilities: HTTP requests

    webhook_subscriptions.listwebhook_subscriptions.getwebhook_subscriptions.event_types.listwebhook_endpoints.listwebhook_endpoints.gettools.enum.listtrigger_instances.active.list

    declared capabilities: database access

    tools.list

    declared capabilities: code/command execution, filesystem access

    tools.execute.createtools.execute.input.createtool_router.session.execute.createtool_router.session.execute_meta.create

    declared capabilities: code/command execution, filesystem access, HTTP requests

    trigger_instances.manage.update

    declared capabilities: network access, filesystem access, database access

    mcp.servers.generate.createtool_router.session.search.create

    declared capabilities: network access

    tool_router.session.get

    declared capabilities: code/command execution, network access, filesystem access, database access, HTTP requests

    tool_router.session.proxy_execute.create

    Fix: Tool requests broad permissions (exec/fs/network). Validate input parameters using Enums where possible, and restrict file system operations to explicit allowed directories.

  • InfoAS-010

    🔑Insecure Secret Handling ×5

    input parameter "validate_credentials" accepts a credential (informational; not evidence of insecure handling)

    connected_accounts.createconnected_accounts.refresh

    input parameter "require_mcp_api_key" accepts a credential (informational; not evidence of insecure handling)

    org.project.config.update

    input parameter "mask_secret_keys_in_connected_account" accepts a credential (informational; not evidence of insecure handling)

    org.project.config.update

    input parameter "should_create_api_key" accepts a credential (informational; not evidence of insecure handling)

    org.owner.project.new.create

    Fix: Avoid accepting raw credentials as input parameters. Use secret managers (e.g. 1Password CLI, AWS Secrets Manager) and ensure credentials are never logged or stored in agent traces.

Scan this tool yourself

Reproduce this audit locally, integrate into CI, or let your agent audit its own tools.

Install once, then scan any MCP server:

$ curl -sfL https://raw.githubusercontent.com/AgentSafe-AI/tooltrust-scanner/main/install.sh | bash
$ tooltrust-scanner scan --server "npx -y composio"

Adjust the package name if your npm registry name differs from the tool ID. View source

Add badge to your README

Copy this Markdown to show your ToolTrust grade on GitHub.

[![ToolTrust Grade A](https://raw.githubusercontent.com/AgentSafe-AI/tooltrust-directory/main/docs/badges/grade-a.svg)](https://github.com/AgentSafe-AI/tooltrust-directory)