ToolTrust
B15/100
callstack

agent-device

mcp0.21.31

@callstack

Mobile app automation and verification for AI coding agents. CLI, MCP server, and typed Node.js API for iOS, Android, HarmonyOS, TV, web, macOS, and Linux.

By callstack | 134 findings | Scanned 10/26/2026 | tooltrust-scanner/v0.3.20 | 5.1k

Repository health

Popularity and maintenance signals alongside the security grade.

View repository
Stars

5.1k

current snapshot

Forks

Not collected

GitHub metadata pending

Contributors

Not collected

GitHub metadata pending

Last commit

Not collected

GitHub metadata pending

Last release

Not collected

GitHub metadata pending

Release version

Not collected

Latest GitHub release

Stars trend

Daily star additions · githubarchive_bq · observed through Oct 26, 2026 · export updated Oct 26, 2026

32d
2026-07-072026-10-25

Pull request activity

Weekly PR events · githubarchive_bq · observed through Oct 26, 2026 · export updated Oct 26, 2026

2026-07-132026-10-19

Data quality: observed_events. Charts show observed events, not a reconstructed historical total.

TypeScriptMITDeveloper Tools1.0M/mo npm downloadsLast scan Oct 26, 2026
1 High39 Low94 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 (134)

  • HighAS-012

    🔄Tool Drift

    Tool set changed silently at v0.21.31: 46 tool(s) added, 1 tool(s) removed without a version bump.

    + 46 added

    fetchonchain_agent_build_planonchain_agent_check_installonchain_agent_compare_listingsonchain_agent_create_agentonchain_agent_explain_numberonchain_agent_find_x402_serviceonchain_agent_get_agent_economyonchain_agent_get_agent_passportonchain_agent_get_chain_cardonchain_agent_get_changesonchain_agent_get_contract_factsonchain_agent_get_data_freshnessonchain_agent_get_deploy_speconchain_agent_get_listing_historyonchain_agent_get_metricsonchain_agent_get_newsonchain_agent_get_resourceonchain_agent_get_score_methodologyonchain_agent_get_sdk_lineageonchain_agent_get_trendonchain_agent_get_wiki_pageonchain_agent_get_x402_facilitatorsonchain_agent_inspect_listingonchain_agent_list_categoriesonchain_agent_list_chainsonchain_agent_list_wiki_pagesonchain_agent_preflightonchain_agent_recent_changesonchain_agent_recommend_stackonchain_agent_register_agentonchain_agent_resolve_tokenonchain_agent_route_agentonchain_agent_route_launchonchain_agent_route_lponchain_agent_route_swaponchain_agent_scaffold_planonchain_agent_scan_recipientonchain_agent_search_agentsonchain_agent_search_listingsonchain_agent_search_resourcesonchain_agent_search_skillsonchain_agent_submit_projectonchain_agent_swaponchain_agent_watchsearch

    − 1 removed

    utility_parse_user_agent

    Fix: The set of tools exposed by this server changed between scans of the same version — a sign the package was silently updated without a version bump. Audit the changelog and all tool definitions before trusting this server. Pin to a specific commit hash rather than a floating version tag.

  • LowAS-002

    ⚠️Excessive Permissions ×4

    input schema exposes 26 properties (threshold: 10)

    onchain_agent_search_resources

    input schema exposes 13 properties (threshold: 10)

    onchain_agent_preflight

    input schema exposes 14 properties (threshold: 10)

    onchain_agent_register_agentonchain_agent_swap

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

  • LowAS-011

    ℹ️Missing Rate-Limit / Timeout ×35

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

    onchain_agent_search_resourcessearchfetchonchain_agent_get_deploy_speconchain_agent_get_newsonchain_agent_get_metricsonchain_agent_search_agentsonchain_agent_recommend_stackonchain_agent_get_changesonchain_agent_get_agent_economyonchain_agent_search_skillsonchain_agent_compare_listingsonchain_agent_explain_numberonchain_agent_get_score_methodologyonchain_agent_get_data_freshnessonchain_agent_search_listingsonchain_agent_inspect_listingonchain_agent_get_listing_historyonchain_agent_preflightonchain_agent_check_installonchain_agent_scan_recipientonchain_agent_route_swaponchain_agent_route_launchonchain_agent_build_planonchain_agent_create_agentonchain_agent_scaffold_planonchain_agent_submit_projectonchain_agent_register_agentonchain_agent_swaponchain_agent_resolve_tokenonchain_agent_find_x402_serviceonchain_agent_get_sdk_lineageonchain_agent_get_contract_factsonchain_agent_get_chain_cardonchain_agent_get_x402_facilitators

    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.

  • InfoAS-002

    ⚠️Excessive Permissions ×39

    declared capabilities: network access, filesystem access, database access

    onchain_agent_search_resourcessearchonchain_agent_search_agentsonchain_agent_search_listingsonchain_agent_get_sdk_lineage

    declared capabilities: filesystem access

    onchain_agent_get_resourceonchain_agent_list_chainsonchain_agent_get_wiki_pageonchain_agent_get_agent_passport

    declared capabilities: network access, filesystem access

    fetchonchain_agent_get_newsonchain_agent_get_metricsonchain_agent_recommend_stackonchain_agent_get_changesonchain_agent_compare_listingsonchain_agent_get_data_freshnessonchain_agent_inspect_listing

    declared capabilities: network access

    onchain_agent_get_deploy_speconchain_agent_get_agent_economyonchain_agent_get_score_methodologyonchain_agent_get_listing_historyonchain_agent_scan_recipientonchain_agent_route_swaponchain_agent_route_launchonchain_agent_swaponchain_agent_find_x402_serviceonchain_agent_get_chain_card

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

    onchain_agent_search_skills

    declared capabilities: network access, database access

    onchain_agent_explain_numberonchain_agent_get_contract_factsonchain_agent_get_x402_facilitators

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

    onchain_agent_preflightonchain_agent_check_installonchain_agent_build_plan

    declared capabilities: network access, filesystem access, HTTP requests

    onchain_agent_create_agent

    declared capabilities: code/command execution, network access, filesystem access

    onchain_agent_scaffold_planonchain_agent_submit_projectonchain_agent_register_agentonchain_agent_resolve_token

    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 ×46

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

    onchain_agent_search_resourcesonchain_agent_get_resourcesearchfetchonchain_agent_get_deploy_speconchain_agent_recent_changesonchain_agent_list_categoriesonchain_agent_list_chainsonchain_agent_get_newsonchain_agent_get_metricsonchain_agent_get_wiki_pageonchain_agent_search_agentsonchain_agent_get_agent_passportonchain_agent_recommend_stackonchain_agent_list_wiki_pagesonchain_agent_get_changesonchain_agent_get_agent_economyonchain_agent_search_skillsonchain_agent_get_trendonchain_agent_compare_listingsonchain_agent_explain_numberonchain_agent_get_score_methodologyonchain_agent_get_data_freshnessonchain_agent_search_listingsonchain_agent_inspect_listingonchain_agent_get_listing_historyonchain_agent_preflightonchain_agent_check_installonchain_agent_scan_recipientonchain_agent_route_swaponchain_agent_route_agentonchain_agent_route_launchonchain_agent_build_planonchain_agent_route_lponchain_agent_create_agentonchain_agent_scaffold_planonchain_agent_watchonchain_agent_submit_projectonchain_agent_register_agentonchain_agent_swaponchain_agent_resolve_tokenonchain_agent_find_x402_serviceonchain_agent_get_sdk_lineageonchain_agent_get_contract_factsonchain_agent_get_chain_cardonchain_agent_get_x402_facilitators

    Fix: Review and remediate the identified issue.

  • InfoAS-010

    🔑Insecure Secret Handling ×9

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

    onchain_agent_get_metrics

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

    onchain_agent_preflightonchain_agent_scan_recipientonchain_agent_resolve_tokenonchain_agent_get_contract_facts

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

    onchain_agent_route_swaponchain_agent_swap

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

    onchain_agent_route_swaponchain_agent_swap

    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 agent-device"

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 B](https://raw.githubusercontent.com/AgentSafe-AI/tooltrust-directory/main/docs/badges/grade-b.svg)](https://github.com/AgentSafe-AI/tooltrust-directory)