{"serverId":"mcp-registry/io.github.frankbongo/discgolfapi","tools":[{"name":"find_courses_near","fixed":{"name":"find_courses_near","description":"Find disc golf courses within a specified radius (km) of given coordinates.","inputSchema":{"type":"object","required":["latitude","longitude"],"properties":{"limit":{"type":"integer","default":10,"maximum":25,"minimum":1,"description":"Maximum number of nearby courses to return (1-25, default: 10)."},"latitude":{"type":"number","maximum":90,"minimum":-90,"description":"Latitude in decimal degrees (-90.0 to 90.0)."},"longitude":{"type":"number","maximum":180,"minimum":-180,"description":"Longitude in decimal degrees (-180.0 to 180.0)."},"radius_km":{"type":"number","default":25,"maximum":100,"minimum":0.1,"description":"Search radius in kilometers (0.1 to 100.0 km, default: 25.0)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":213,"tokensAfter":213},{"name":"get_course","fixed":{"name":"get_course","description":"Retrieve detailed information for a specific disc golf course by its unique ID or alias.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","maxLength":256,"minLength":1,"description":"Stable canonical course identifier or alias (1-256 characters)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":99,"tokensAfter":99},{"name":"get_recent_updates","fixed":{"name":"get_recent_updates","description":"Discover recently added or updated disc golf courses with change type and timestamps.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":20,"maximum":50,"minimum":1,"description":"Maximum number of recent updates to return (1-50, default: 20)."},"change_type":{"enum":["added","updated"],"type":"string","description":"Filter by update type ('added' for new courses, 'updated' for modified courses)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":142,"tokensAfter":142},{"name":"search_courses","fixed":{"name":"search_courses","description":"Search for disc golf courses by name, city, country, region, hole count, or features.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":10,"maximum":25,"minimum":1,"description":"Maximum number of results to return (1-25, default: 10)."},"query":{"type":"string","maxLength":200,"minLength":1,"description":"Text search query for course name, city, or keywords (1-200 characters)."},"offset":{"type":"integer","default":0,"maximum":1000,"minimum":0,"description":"Pagination offset (0-1000, default: 0)."},"region":{"type":"string","maxLength":64,"minLength":1,"description":"State, province, or region code/name (e.g. 'FL', 'OR', 'England')."},"country":{"type":"string","maxLength":64,"minLength":2,"description":"ISO 3166-1 alpha-2 country code (e.g. 'US', 'GB', 'FI') or country name."},"is_free":{"type":"boolean","description":"Filter to free-to-play public courses."},"is_18_holes":{"type":"boolean","description":"Filter to courses with 18 or more holes."},"is_pay_to_play":{"type":"boolean","description":"Filter to pay-to-play or commercial courses."},"is_dog_friendly":{"type":"boolean","description":"Filter to dog-friendly courses."},"has_multiple_pins":{"type":"boolean","description":"Filter to courses with multiple basket/pin positions."},"has_multiple_tees":{"type":"boolean","description":"Filter to courses with multiple tee pads per hole."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":407,"tokensAfter":407}],"toolsChanged":4,"tokensSaved":0,"todo":[],"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."}