Skavio x402 MCP: test free tool discovery without spending USDC
Skavio documents free MCP tool discovery at its public endpoint, with no API key required for catalog discovery. That gives developers a useful first integration test before introducing payment credentials: connect a client, inspect the available tool definitions and stop before payment authorization. Discovering a capability and paying to use it are separate actions.
1. Start with a client that cannot authorize payment
Use an isolated MCP client configuration with no wallet signer and no automatic-payment middleware. Disable automatic tool execution so discovery does not trigger an agent-led sequence of invocations. Add https://getskavio.com/mcp as the public Streamable HTTP endpoint, following the [Skavio connection instructions](https://getskavio.com/x402/). Adding the server does not authorize spending. Let a compliant client handle initialization and protocol negotiation. The [MCP lifecycle specification, revision 2025-11-25](https://modelcontextprotocol.io/specification/2025-11-25/basic/lifecycle), describes initialize, capability and version negotiation, then notifications/initialized before normal operation. This reference does not establish which protocol version your connection will negotiate.
- Use a separate test configuration rather than an agent profile with existing payment permissions.
- Do not provide wallet private keys, signing access or payment authorization.
- Limit the test to discovery and, optionally, the explicitly documented free catalog tool.
2. Request tool definitions—not tool execution
Once the client connection is initialized, request tools/list. The following is a protocol message within that established connection, not a complete standalone HTTP quickstart: ```json {"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}} ``` The [MCP tools specification, revision 2025-11-25](https://modelcontextprotocol.io/specification/2025-11-25/server/tools), defines tools/list as discovery: it returns tool definitions, including inputSchema. Inspect the returned names, descriptions and schemas to understand what each tool expects. If the response supplies nextCursor, follow pagination rather than treating the first page as the complete catalog. A paid tool appearing in this list is not a charge and does not grant free execution. The useful result at this stage is that your client can retrieve and interpret the server’s tool definitions.
3. Optionally call only the documented free catalog
Skavio explicitly documents skavio_catalog as free. Calling it is an optional second check, distinct from tools/list: it uses tools/call to invoke a named tool rather than merely discover definitions. Before invoking it, inspect the live inputSchema returned for skavio_catalog and construct arguments that satisfy that schema. Do not assume the tool takes an empty object or rely on a fixed catalog layout; this guide does not provide a verified argument example. This distinction matters when setting client permissions. Not every tools/call is paid, but neither is every listed tool free. If your goal is only to confirm connectivity and schema discovery, you can stop after tools/list.
4. Treat a payment requirement as the stop point
The [Skavio developer reference](https://getskavio.com/x402/docs/) documents verify_native_usdc, match_native_usdc_payment, usdc_transfer_evidence_pdf and domain_dns_tls_audit as paid tools. Leave them outside this smoke test; you do not need to invoke one to demonstrate discovery. If an unintended invocation produces a payment requirement, stop. The [x402 v2 MCP transport specification](https://raw.githubusercontent.com/coinbase/x402/main/specs/transports-v2/mcp.md) describes payment requirements conveyed through an MCP tool result with isError: true and PaymentRequired data. Do not assume every MCP payment challenge will appear as an HTTP 402 status. An authorized retry can carry payment data in params._meta["x402/payment"]. This walkthrough does not generate that authorization, sign a challenge or retry with payment. A payment challenge or signature is not proof of confirmed settlement.
5. Record exactly what the test establishes
Use a narrow acceptance checklist rather than a general “integration works” label. These are criteria for your own run—not results observed for this article.
- The initialized client receives tool definitions through tools/list.
- Tool names and input schemas are readable, with pagination followed if supplied.
- If attempted, the documented free skavio_catalog invocation succeeds using its live schema.
- No wallet signer or automatic-payment component is configured, and no payment authorization is generated or transmitted.
- The test record describes connectivity and discovery only—not paid execution, wallet compatibility, processing quality or confirmed settlement.