volleyMCP

MCP tool surface

The tool API the agent sees. Design principles: a few powerful tools rather than many narrow ones, summary-first output, and handles over payloads.

Principles

  • Few, powerful tools- keeps the agent's tool list small and the schema token cost low.
  • Summary-first output - every tool defaults toverbosity: "summary"; the agent escalates withinspect_response when it needs more.
  • Handles over payloads - large results are referenced by id, not inlined into the response.

Tools by category

Filter the surface by category. Each card shows the tool name, signature, and a short description.

http_requestRequest

http_request(url, method?, body?, auth?, assert?, extract?)

REST/HTTP request with auth, inline assertions, and {{var}} extraction. Returns a token-efficient summary.

graphql_requestRequest

graphql_request(url, query, variables?, auth?, extract?)

GraphQL query/mutation over HTTP. Separates GraphQL errors from HTTP status. Supports {{var}} extraction.

graphql_introspectRequest

graphql_introspect(url)

Returns an enriched schema: field signatures, 1-level nested fields, inline input types, and enum values.

ws_sessionRequest

ws_session(url, send?, collect?, assert?)

Bounded WebSocket session: connect, send messages, collect frames until a stop condition, return summarized batch.

ws_open / ws_send / ws_recv / ws_closeRequest

ws_open(url) → handle; ws_send(handle, msg); ws_recv(handle); ws_close(handle)

Persistent WebSocket handles for long-lived interactive sessions buffered on the Rust side.

sse_sessionRequest

sse_session(url, headers?, collect?, assert?)

Bounded SSE collector with event assertions and summarized batch output.

inspect_responseInspect

inspect_response(handle, jsonpath?, maxItems?)

RFC 9535 JSONPath with filters, maxItems truncation, and parse-error surfacing. Reads the enriched schema field for introspection results.

set_env / list_envsEnv

set_env(name, vars); list_envs()

Manage environments and variables. Secret values are masked in summaries.

run_collection / list_collectionsCollection

run_collection(path, only?, tags?); list_collections()

Run declarative YAML/JSON collections: ordered steps, variable threading, only/tags filters.

import_curl / import_openapi / import_harImport

import_curl(cmd); import_openapi(spec); import_har(file)

Import existing request definitions from cURL commands, OpenAPI specs, and HAR archives.

save_request / set_policyPolicy

save_request(name, def); set_policy(rules)

Persist ad-hoc requests and configure safety policies (allowed hosts, timeouts, redaction).

Verbosity & token optimization

  • verbosity: full is auto-downgraded to summary whenextract is set - extracted values already contain the needed data.
  • WS/SSE frame and event arrays are capped at 10 items in full verbosity with truncation markers.
  • graphql_introspect returns enriched schemas: field signatures (name(args): Type), 1-level nested fields, inline input types, and enum values.
  • inspect_response supports RFC 9535 JSONPath with filters ($.items[?@.id==1]), maxItems truncation, and surfaces parse errors. For introspection results it reads the enriched schemafield, so $.queries, $.mutations, and$.inputTypes work directly.
  • Tool descriptions are kept short to minimize tools/list token weight.