Local Gym Finder directory
Gyms in all 50 states and DC: search by city, type and hours; book with partner gyms.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"directory": {
"url": "https://localgymfinder.com/mcp"
}
}
}Remote endpoints
https://localgymfinder.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (7)
🟢search_businesses(query, category, place, near_lat, near_lng, ...)
Search Local Gym Finder (213005 listings). All filters optional. place = town, city, neighbourhood or state as written ('Point Pleasant Beach', 'Austin, TX'). category = a name from list_categories. near_lat/near_lng sort by distance within radius_km.
Input Schema
{
"type": "object",
"properties": {
"query": {
"default": "",
"title": "Query",
"type": "string"
},
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Category"
},
"place": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Place"
},
"near_lat": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Near Lat"
},
"near_lng": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Near Lng"
},
"radius_km": {
"default": 15,
"title": "Radius Km",
"type": "number"
},
"open_now": {
"default": false,
"title": "Open Now",
"type": "boolean"
},
"open_24_hours": {
"default": false,
"title": "Open 24 Hours",
"type": "boolean"
},
"open_sunday": {
"default": false,
"title": "Open Sunday",
"type": "boolean"
},
"has_free_trial": {
"default": false,
"title": "Has Free Trial",
"type": "boolean"
},
"max_monthly_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Max Monthly Price"
},
"amenity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Amenity"
},
"bookable_only": {
"default": false,
"title": "Bookable Only",
"type": "boolean"
},
"contactable_only": {
"default": false,
"title": "Contactable Only",
"type": "boolean"
},
"limit": {
"default": 10,
"title": "Limit",
"type": "integer"
}
},
"title": "search_businessesArguments"
}🟢get_business(id)
Full listing for one business by the id search_businesses returned: hours, phone, address, prices, classes, amenities, offers, the business's own services and prices when it publishes them here, and what can be done through this directory (book, message).
Input Schema
{
"type": "object",
"properties": {
"id": {
"title": "Id",
"type": "string"
}
},
"required": [
"id"
],
"title": "get_businessArguments"
}🟢list_categories
Every category in this directory with how many listings each has.
Input Schema
{
"type": "object",
"properties": {},
"title": "list_categoriesArguments"
}🟢list_places(state, name_contains, limit)
Towns, areas, cities or states covered, with listing counts. Filter by state or by part of a name.
Input Schema
{
"type": "object",
"properties": {
"state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "State"
},
"name_contains": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Name Contains"
},
"limit": {
"default": 50,
"title": "Limit",
"type": "integer"
}
},
"title": "list_placesArguments"
}🟢check_availability(business_id, start_date, days)
Open times for a business that has can_book, read live from its calendar. start_date (YYYY-MM-DD) and days (1-30) narrow the range. Times are ISO 8601 in the business's time zone; pass one back unchanged to book_appointment.
Input Schema
{
"type": "object",
"properties": {
"business_id": {
"title": "Business Id",
"type": "string"
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Start Date"
},
"days": {
"default": 14,
"title": "Days",
"type": "integer"
}
},
"required": [
"business_id"
],
"title": "check_availabilityArguments"
}🔴contact_business(business_id, message, first_name, email, kind, ...)
Send a question, quote request or callback request to a business that has can_contact (kinds it takes are in get_business). The business gets the message and the person's name, email and phone (phone required for callbacks) and replies to them directly. Confirm the message and details with the person first, then call with confirmed=true.
Input Schema
{
"type": "object",
"properties": {
"business_id": {
"title": "Business Id",
"type": "string"
},
"message": {
"title": "Message",
"type": "string"
},
"first_name": {
"title": "First Name",
"type": "string"
},
"email": {
"title": "Email",
"type": "string"
},
"kind": {
"default": "question",
"title": "Kind",
"type": "string"
},
"phone": {
"default": "",
"title": "Phone",
"type": "string"
},
"last_name": {
"default": "",
"title": "Last Name",
"type": "string"
},
"confirmed": {
"default": false,
"title": "Confirmed",
"type": "boolean"
}
},
"required": [
"business_id",
"message",
"first_name",
"email"
],
"title": "contact_businessArguments"
}🔴book_appointment(business_id, start, first_name, email, phone, ...)
Book a time from check_availability for the person you are helping. First confirm the business, the time, their name, email and mobile number with them, then call with confirmed=true. The business receives the booking on its calendar and the person's contact details for this booking only.
Input Schema
{
"type": "object",
"properties": {
"business_id": {
"title": "Business Id",
"type": "string"
},
"start": {
"title": "Start",
"type": "string"
},
"first_name": {
"title": "First Name",
"type": "string"
},
"email": {
"title": "Email",
"type": "string"
},
"phone": {
"title": "Phone",
"type": "string"
},
"last_name": {
"default": "",
"title": "Last Name",
"type": "string"
},
"note": {
"default": "",
"title": "Note",
"type": "string"
},
"confirmed": {
"default": false,
"title": "Confirmed",
"type": "boolean"
}
},
"required": [
"business_id",
"start",
"first_name",
"email",
"phone"
],
"title": "book_appointmentArguments"
}Community
Evidence