call_tool_read
Execute read-only tools from upstream MCP servers. Provide the tool name in 'server:tool' format and arguments as a JSON object. Use after retrieving available tools for exact names.
Instructions
Execute a READ-ONLY tool. WORKFLOW: 1) Call retrieve_tools first to find tools, 2) Use the exact 'name' field from results. DECISION RULE: Use this when the tool name contains: search, query, list, get, fetch, find, check, view, read, show, describe, lookup, retrieve, browse, explore, discover, scan, inspect, analyze, examine, validate, verify. Examples: search_files, get_user, list_repositories, query_database, find_issues, check_status. This is the DEFAULT choice when unsure - most tools are read-only.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | Arguments to pass to the upstream tool as a native JSON object. Refer to the tool's inputSchema from retrieve_tools for required parameters. Example: {"path": "src/index.ts", "limit": 20}. This is the preferred parameter — it eliminates JSON escaping overhead. Use 'args_json' only if your client cannot produce nested JSON objects. | |
| args_json | No | Legacy: arguments as a pre-serialized JSON string. Prefer the 'args' parameter instead — it accepts a native JSON object and eliminates escaping overhead. If both are provided, 'args_json' wins for backward compatibility. | |
| intent_data_sensitivity | No | Classify data being accessed: public, internal, private, or unknown. Helps track sensitive data access patterns. | |
| intent_reason | No | Why is this tool being called? Provide context like 'User asked to check status' or 'Gathering data for report'. | |
| name | Yes | Tool name in format 'server:tool' (e.g., 'github:get_user'). CRITICAL: You MUST use exact names from retrieve_tools results - do NOT guess or invent server names. Unknown servers will fail. |