Using Tools

List, inspect, and call tools on connected MCP servers from the CLI.


List Tools

See all tools available on a connected server:

bash
1belt mcp tools linear2belt mcp tools linear --json   # array of {name, description, inputSchema}34# Same output — `mcp run` with a bare slug lists tools instead of erroring5belt mcp run linear
code
1linear  24 tools23tool                  description4list_issues           List issues with filtering and pagination5create_issue          Create a new issue6update_issue          Update an existing issue7get_issue             Get issue details by ID8list_projects         List all projects in the workspace9...

Inspect a Tool

View a tool's input schema before calling it:

bash
1belt mcp tools linear:list_issues2belt mcp tools linear:list_issues --json   # single tool object with inputSchema
code
1linear:list_issues23List issues with filtering and pagination45  input schema:6  {7    "type": "object",8    "properties": {9      "project": {10        "type": "string",11        "description": "Project key to filter by"12      },13      "status": {14        "type": "string",15        "description": "Filter by status (backlog, todo, in_progress, done)"16      },17      "limit": {18        "type": "integer",19        "description": "Max results to return"20      }21    }22  }2324  run: belt mcp run linear:list_issues --input '{}'

Call a Tool

Run a tool and get the result:

bash
1# Inline JSON input (--input flag)2belt mcp run linear:list_issues --input '{"project": "INF", "limit": 5}'34# Positional JSON (same priority as --input when flag is omitted)5belt mcp run linear:list_issues '{"project": "INF", "limit": 5}'67# Input from file (@filename or path)8belt mcp run linear:create_issue --input @issue.json910# Piped stdin11echo '{"project": "INF"}' | belt mcp run linear:list_issues1213# No input required14belt mcp run slack:list_channels1516# Filter output with built-in jq (no external jq binary)17belt mcp run linear:list_issues --jq '.issues[] | .id'18belt mcp run linear:list_issues --jq '.issues[] | {id, title}'

Input resolves from --input, a positional argument, or piped stdin (in that order). See CLI setup — JSON input.

Use --jq to print only the fields you need. String values are unquoted (like jq -r); other values are compact JSON.

Results are printed as formatted JSON (or filtered lines when --jq is set):

json
1{2  "issues": [3    {4      "id": "INF-123",5      "title": "Fix auth middleware",6      "status": "in_progress",7      "assignee": "okaris"8    }9  ]10}

Interactive elicitation (MRTR)

Some MCP tools cannot finish in a single round trip. The server returns an interim result with input_required: true and one or more input_requests (Multi Round-Trip Request / MRTR). Each request uses method elicitation/create with either:

ModeCLI behavior (interactive)
formRenders a terminal form from requestedSchema (string, number, boolean, enum fields)
urlShows the authorization URL, optionally opens your browser, then asks you to confirm when done

belt mcp run handles this automatically in interactive terminals: it collects your answers or browser confirmation, retries the tool call with inputResponses and requestState, and repeats if the server asks for more input.

Non-interactive shells (CI set, no TTY, or BELT_NON_INTERACTIVE=1) cannot prompt. The CLI prints the MRTR envelope as JSON on stdout and exits with code 2:

json
1{2  "input_required": true,3  "input_requests": { "...": { "method": "elicitation/create", "params": { ... } } },4  "request_state": "..."5}

Parse input_requests, complete each elicitation step out of band (open URLs, collect form values), then retry via POST /mcps/{slug}/tools/{tool} with the original arguments, inputResponses, and requestState. See Integrations API — MCP tool proxy.


Tool Reference Format

Tools are referenced as slug:tool_name:

code
1belt mcp tools <slug>              # list all tools2belt mcp run <slug>                # same as mcp tools <slug>3belt mcp tools <slug>:<tool>       # inspect one tool4belt mcp run <slug>:<tool>         # call a tool

Next

  • Agent Tools — give your agents access to connector tools
  • MCP Server — access these tools from Claude Code or Cursor

we use cookies

we use cookies to ensure you get the best experience on our website. for more information on how we use cookies, please see our cookie policy.

by clicking "accept", you agree to our use of cookies.
learn more.