{"serverId":"mcp-registry/city.close/close-api","tools":[{"name":"find_place","fixed":{"name":"find_place","description":"Look up a US city or town by name (free, no key). Returns matches with their census place GEOID and centre point (lon/lat). The entry point: feed a GEOID to blocks_in_area, or a centre to walkability_summary.","inputSchema":{"type":"object","required":["query"],"properties":{"limit":{"type":"integer","default":5,"description":"Max matches (1-20)."},"query":{"type":"string","description":"City or town name, e.g. 'Providence'."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":131,"tokensAfter":131},{"name":"get_catalog","fixed":{"name":"get_catalog","description":"List the travel modes and the destination-type taxonomy (free, no key). Use it to resolve type names to the numeric ids the other tools take. Modes are walk, bike, transit — there is no drive mode.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":79,"tokensAfter":79},{"name":"get_token_balance","fixed":{"name":"get_token_balance","description":"Check the token balance of the API key in use, without spending any tokens. Works even at a zero balance. Requires the Authorization bearer key.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":66,"tokensAfter":66},{"name":"join_close_plus","fixed":{"name":"join_close_plus","description":"Get a Stripe Checkout URL for the Close+ membership ($10/month: 5,000 API tokens granted monthly plus member features on the close.city map). The user pays in their own browser: give them the returned URL and stop. Needs a fresh six-digit code from request_sign_in, read by the user from their own inbox.","inputSchema":{"type":"object","required":["email","code"],"properties":{"code":{"type":"string","description":"The six-digit code from the email."},"email":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":146,"tokensAfter":146}],"toolsChanged":4,"tokensSaved":0,"todo":[{"tool":"isochrone","params":["lat","lon","block_geoid"]},{"tool":"join_close_plus","params":["email"]},{"tool":"nearby_pois","params":["lat","lon","block_geoid"]},{"tool":"redeem_code","params":["email"]},{"tool":"walkability_summary","params":["lat","lon"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}