TPP documentation
Quickstart
Make a public, read-only county lookup with a sample ZIP code.
1. Connect
Use a client that supports Streamable HTTP, with the endpoint https://tools.thepocketprotector.com/mcp. Public tools do not need an account or API key.
Send Content-Type: application/json and Accept: application/json, text/event-stream. This example requests a protocol version currently supported by TPP:
curl https://tools.thepocketprotector.com/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"tpp-example","version":"1.0.0"}}}'
Follow the MCP initialization lifecycle in your client, including notifications/initialized. TPP uses stateless JSON responses.
2. Discover tools
{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}
Use the returned names and schemas. A documentation build describes a release; tools/list identifies what the deployed connection currently exposes.
3. Run a lookup
curl https://tools.thepocketprotector.com/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"get_medicare_zip_counties","arguments":{"zip":"60614"},"_meta":{"tpp/source":"developer-quickstart"}}}'
The example includes an optional source tag that counts aggregate success, clarification and error outcomes. It records no ZIP, request body or client identity. Omit _meta to opt out. Repeated example calls count separately.
Read result.content and result.structuredContent. A successful lookup can return a confirmed location or a question requiring a selection. Do not guess a county when the tool asks for one.
4. Handle incomplete results
An HTTP success alone does not establish a completed lookup. Check JSON-RPC errors, result.isError, the structured status, and any next action. Wait for Retry-After after HTTP 429. Retain confirmed inputs when a service is unavailable.
For published content, continue with content search and citation.
Read this page as Markdown