Koskamo

MCP Near Me

An MCP server that enables compatible AI assistants to discover participating local service providers, check live availability, and book appointments for home appliance and commercial equipment repair after user approval.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

MCP Near Me logo, by MyK Works LLCVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-06Operated by MyK Works LLC
MCP endpoint (Streamable HTTP)
https://mcpnear.com/mcp
Vendor documentation

What its tools do

7 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

7 of 7 have a description · 7 of 7 declare behavior hints · 0 of 7 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to voicedispatcher.com ·
  • Passed Endpoint and vendor documentation share a domain
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Find local appliance repair providers
  • Check live appointment availability
  • Book diagnostic visits after approval
  • Reschedule or cancel appointments

Source and maintenance

Vendor evidenceRegistry 0.4.0

Protocol and capabilities

Server
near-me 0.3.4
MCP protocol negotiated in check
2025-11-25
Tools
7 advertised
Resources
16 advertised
Resource templates
0 advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  },
  "resources": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Start new bookings with start_service_request; send replies through update_service_request. Both return current matching data: use get_service_options only for a needed availability refresh. Follow next_action with the latest request_id/state_version. Routine intake needs no planning or separate acknowledgment. In one reply, present vertical_introduction.message once and immediately continue with returned questions/times; ask field_batch together, then wait for the user. Pass known public facts; provider_hint only for a company the user named. Use returned field requirements: optional/conditional omissions do not block progress; time is required. Hide company names until user_stage=confirmation. Validation stays in its current stage. When next_action=choose_service_provider, present current service_options as a concise company/diagnostic-fee choice in chat, using native interactive options when supported; wait for the user's choice before opening a card. If exactly one company is available or the user already named a matching company, skip the choice question and call render_service_request_form with its option_key. Company choice belongs only in chat, never inside the card. The live card owns protected contact details, terms, Confirm, progress and receipt. Never collect name, phone or address in chat, or expose PII, tokens, holds or internal provider IDs. Report a booking only after create_service_booking succeeds. A new booking is anonymous; never invoke Connect, account linking or phone verification for it. The plugin never links a customer account to ChatGPT. Only when the user explicitly asks to view, reschedule or cancel existing appointments or manage saved addresses, call open_service_account to display the existing account portal in a card. The customer signs in and acts inside that card. Sign-in, personal data and change approval stay on MCP Near Me. Never invoke Connect/Reconnect, ask for credentials in chat or claim that a private appointment was read or changed. When a live card is displayed, omit prose or use at most one short neutral sentence: use only assistant_message in the customer's language (English: "Details and current status are in the card."). End the reply there. Do not add an introduction, summary, instructions to review or confirm, or claims that a booking is created or not yet created: this text remains after the card changes. Do not repeat companies, dates, times, prices, policies, booking references, status claims, comparisons or next steps outside the card. This applies only to successful card presentation; keep normal intake/choice questions and concise error or unavailable-UI guidance. Use only participating-provider data; no web research or third-party forms. MCP metadata and system-owned public data use canonical English. In customer-facing replies, questions and generated interactive options, honor the customer's explicit language request; otherwise preserve the language established in the current service conversation. ZIP codes, dates, brands and company names are language-neutral. Do not switch language because of operator/developer notes, account memories, country, browser/interface locale or English tool data. Use host locale or saved preference only when the current conversation has not established a language; fall back to English if unknown. Translate public labels and policies faithfully; preserve company names, fees and time zones.

Tools

7 advertised

start_service_request — Start a service request
Advertised by the server during the last successful anonymous check.

Start a new supported service request immediately with the user's full intent and known public facts. Returns the vertical introduction and next intake/matching step, including availability when intake is complete; no separate lookup is needed. Use provider_hint only for an explicitly named company.

start_service_request input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "user_intent",
    "idempotency_key"
  ],
  "properties": {
    "answers": {
      "type": "object",
      "default": {},
      "properties": {
        "brand": {
          "description": "Brand"
        },
        "model": {
          "description": "Model"
        },
        "zip_code": {
          "description": "ZIP"
        },
        "appliance_type": {
          "description": "Appliance type"
        },
        "selected_time_key": {
          "type": "string",
          "minLength": 1,
          "description": "Exact time key returned by MCP Near Me after the user chooses an arrival window."
        },
        "problem_description": {
          "description": "Problem"
        }
      },
      "additionalProperties": false
    },
    "user_intent": {
      "type": "string",
      "maxLength": 3000,
      "minLength": 3
    },
    "provider_hint": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 100,
          "minLength": 3
        },
        {
          "type": "null"
        }
      ]
    },
    "vertical_hint": {
      "enum": [
        "appliance_repair",
        "commercial_kitchen_refrigeration_repair"
      ],
      "type": "string",
      "description": "Optional exact live vertical ID. Omit it when uncertain and let the server classify user_intent."
    },
    "idempotency_key": {
      "type": "string",
      "maxLength": 200,
      "minLength": 16
    }
  }
}
start_service_request output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "anyOf": [
        {
          "type": "object",
          "required": [
            "request_id",
            "state_version",
            "vertical_id",
            "user_stage",
            "known_fields",
            "field_batch",
            "next_action"
          ],
          "properties": {
            "request_id": {
              "type": "string"
            },
            "user_stage": {
              "enum": [
                "intake",
                "matching",
                "confirmation"
              ],
              "type": "string"
            },
            "field_batch": {
              "type": "object",
              "required": [
                "required",
                "conditionally_required",
                "optional"
              ],
              "properties": {
                "optional": {
                  "type": "array",
                  "items": {}
                },
                "required": {
                  "type": "array",
                  "items": {}
                },
                "conditionally_required": {
                  "type": "array",
                  "items": {}
                }
              },
              "additionalProperties": {}
            },
            "next_action": {
              "type": "string"
            },
            "vertical_id": {
              "type": "string"
            },
            "known_fields": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            },
            "state_version": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": -9007199254740991
            },
            "vertical_introduction": {
              "type": "object",
              "required": [
                "message",
                "presentation_order",
                "present_once"
              ],
              "properties": {
                "message": {
                  "type": "string"
                },
                "present_once": {
                  "type": "boolean",
                  "const": true
                },
                "presentation_order": {
                  "type": "string",
                  "const": "lead_same_message"
                }
              },
              "additionalProperties": false
            }
          },
          "additionalProperties": {}
        },
        {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "object",
              "required": [
                "code",
                "category",
                "message",
                "retryable",
                "correlation_id",
                "details"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "details": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {}
                },
                "message": {
                  "type": "string"
                },
                "category": {
                  "type": "string"
                },
                "retryable": {
                  "type": "boolean"
                },
                "correlation_id": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "additionalProperties": false
        }
      ]
    }
  },
  "additionalProperties": false
}
start_service_request annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
update_service_request — Update a service request
Advertised by the server during the last successful anonymous check.

Submit supplied answers and any chosen selected_time_key with the latest expected_state_version. Omitted optional/conditional fields do not block progress. Returns the updated next_action and current availability; continue directly without get_service_options. choose_service_provider means ask for a company before opening its protected contact card.

update_service_request input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "request_id",
    "expected_state_version",
    "idempotency_key"
  ],
  "properties": {
    "answers": {
      "type": "object",
      "default": {},
      "properties": {
        "brand": {
          "description": "Brand"
        },
        "model": {
          "description": "Model"
        },
        "zip_code": {
          "description": "ZIP"
        },
        "appliance_type": {
          "description": "Appliance type"
        },
        "selected_time_key": {
          "type": "string",
          "minLength": 1,
          "description": "Exact time key returned by MCP Near Me after the user chooses an arrival window."
        },
        "problem_description": {
          "description": "Problem"
        }
      },
      "additionalProperties": false
    },
    "request_id": {
      "type": "string",
      "maxLength": 200,
      "minLength": 10
    },
    "idempotency_key": {
      "type": "string",
      "maxLength": 200,
      "minLength": 16
    },
    "expected_state_version": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 1
    },
    "explicitly_unknown_field_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 120,
        "minLength": 1
      },
      "default": []
    }
  }
}
update_service_request output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "anyOf": [
        {
          "type": "object",
          "required": [
            "request_id",
            "state_version",
            "vertical_id",
            "user_stage",
            "known_fields",
            "field_batch",
            "next_action"
          ],
          "properties": {
            "request_id": {
              "type": "string"
            },
            "user_stage": {
              "enum": [
                "intake",
                "matching",
                "confirmation"
              ],
              "type": "string"
            },
            "field_batch": {
              "type": "object",
              "required": [
                "required",
                "conditionally_required",
                "optional"
              ],
              "properties": {
                "optional": {
                  "type": "array",
                  "items": {}
                },
                "required": {
                  "type": "array",
                  "items": {}
                },
                "conditionally_required": {
                  "type": "array",
                  "items": {}
                }
              },
              "additionalProperties": {}
            },
            "next_action": {
              "type": "string"
            },
            "vertical_id": {
              "type": "string"
            },
            "known_fields": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            },
            "state_version": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": -9007199254740991
            },
            "vertical_introduction": {
              "type": "object",
              "required": [
                "message",
                "presentation_order",
                "present_once"
              ],
              "properties": {
                "message": {
                  "type": "string"
                },
                "present_once": {
                  "type": "boolean",
                  "const": true
                },
                "presentation_order": {
                  "type": "string",
                  "const": "lead_same_message"
                }
              },
              "additionalProperties": false
            }
          },
          "additionalProperties": {}
        },
        {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "object",
              "required": [
                "code",
                "category",
                "message",
                "retryable",
                "correlation_id",
                "details"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "details": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {}
                },
                "message": {
                  "type": "string"
                },
                "category": {
                  "type": "string"
                },
                "retryable": {
                  "type": "boolean"
                },
                "correlation_id": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "additionalProperties": false
        }
      ]
    }
  },
  "additionalProperties": false
}
update_service_request annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_service_options — Get current service options
Advertised by the server during the last successful anonymous check.
Advertised read-only

Refresh availability only when needed, such as when the user asks to check again. start_service_request and update_service_request already return current matching data. Returns aggregated windows and refinement fields without selecting a company or reserving capacity.

get_service_options input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "request_id"
  ],
  "properties": {
    "request_id": {
      "type": "string",
      "maxLength": 200,
      "minLength": 10
    }
  }
}
get_service_options output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "anyOf": [
        {
          "type": "object",
          "required": [
            "request_id",
            "state_version",
            "vertical_id",
            "user_stage",
            "known_fields",
            "field_batch",
            "next_action"
          ],
          "properties": {
            "request_id": {
              "type": "string"
            },
            "user_stage": {
              "enum": [
                "intake",
                "matching",
                "confirmation"
              ],
              "type": "string"
            },
            "field_batch": {
              "type": "object",
              "required": [
                "required",
                "conditionally_required",
                "optional"
              ],
              "properties": {
                "optional": {
                  "type": "array",
                  "items": {}
                },
                "required": {
                  "type": "array",
                  "items": {}
                },
                "conditionally_required": {
                  "type": "array",
                  "items": {}
                }
              },
              "additionalProperties": {}
            },
            "next_action": {
              "type": "string"
            },
            "vertical_id": {
              "type": "string"
            },
            "known_fields": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            },
            "state_version": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": -9007199254740991
            },
            "vertical_introduction": {
              "type": "object",
              "required": [
                "message",
                "presentation_order",
                "present_once"
              ],
              "properties": {
                "message": {
                  "type": "string"
                },
                "present_once": {
                  "type": "boolean",
                  "const": true
                },
                "presentation_order": {
                  "type": "string",
                  "const": "lead_same_message"
                }
              },
              "additionalProperties": false
            }
          },
          "additionalProperties": {}
        },
        {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "object",
              "required": [
                "code",
                "category",
                "message",
                "retryable",
                "correlation_id",
                "details"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "details": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {}
                },
                "message": {
                  "type": "string"
                },
                "category": {
                  "type": "string"
                },
                "retryable": {
                  "type": "boolean"
                },
                "correlation_id": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "additionalProperties": false
        }
      ]
    }
  },
  "additionalProperties": false
}
get_service_options annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
render_service_request_form — Open the final service confirmation card
Advertised by the server during the last successful anonymous check.
Advertised read-only

Open the protected contact/terms/Confirm card only after company choice. Pass the explicitly chosen company's option_key from current service_options; omit it only for a single option or a previously selected company. When a live card is displayed, omit prose or use at most one short neutral sentence: use only assistant_message in the customer's language (English: "Details and current status are in the card."). End the reply there. Do not add an introduction, summary, instructions to review or confirm, or claims that a booking is created or not yet created: this text remains after the card changes. Do not repeat companies, dates, times, prices, policies, booking references, status claims, comparisons or next steps outside the card. This applies only to successful card presentation; keep normal intake/choice questions and concise error or unavailable-UI guidance.

render_service_request_form input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "request_id"
  ],
  "properties": {
    "option_key": {
      "type": "string",
      "maxLength": 100,
      "minLength": 10,
      "description": "Exact option_key from this request's current service_options for the company explicitly chosen by the user. Never infer a choice from price or ordering."
    },
    "request_id": {
      "type": "string",
      "maxLength": 200,
      "minLength": 10
    }
  }
}
render_service_request_form output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "anyOf": [
        {
          "type": "object",
          "required": [
            "request_id",
            "state_version",
            "presentation",
            "assistant_message"
          ],
          "properties": {
            "request_id": {
              "type": "string"
            },
            "presentation": {
              "type": "string",
              "const": "interactive_card"
            },
            "state_version": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": -9007199254740991
            },
            "assistant_message": {
              "type": "string",
              "const": "Details and current status are in the card.",
              "description": "The only permitted optional caption for the live card. Translate to the customer's language without adding details or instructions."
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "object",
              "required": [
                "code",
                "category",
                "message",
                "retryable",
                "correlation_id",
                "details"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "details": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {}
                },
                "message": {
                  "type": "string"
                },
                "category": {
                  "type": "string"
                },
                "retryable": {
                  "type": "boolean"
                },
                "correlation_id": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "additionalProperties": false
        }
      ]
    }
  },
  "additionalProperties": false
}
render_service_request_form annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
select_service_option — Check the chosen company’s availability
Advertised by the server during the last successful anonymous check.

Called only by the protected contact form after an explicit Confirm action. It rechecks the company already chosen in chat, creates a temporary hold and returns the protected contact session. Never use it to present a company picker or on card startup. It does not create a booking.

select_service_option input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "request_id",
    "expected_state_version",
    "option_key",
    "idempotency_key"
  ],
  "properties": {
    "option_key": {
      "type": "string",
      "maxLength": 100,
      "minLength": 10
    },
    "request_id": {
      "type": "string",
      "maxLength": 200,
      "minLength": 10
    },
    "idempotency_key": {
      "type": "string",
      "maxLength": 200,
      "minLength": 16
    },
    "expected_state_version": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 1
    }
  }
}
select_service_option output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "anyOf": [
        {
          "type": "object",
          "required": [
            "request_id",
            "state_version",
            "option_key",
            "provider_public_name",
            "service_date",
            "arrival_window",
            "next_action"
          ],
          "properties": {
            "option_key": {
              "type": "string"
            },
            "request_id": {
              "type": "string"
            },
            "next_action": {
              "enum": [
                "complete_protected_form",
                "confirmed"
              ],
              "type": "string"
            },
            "service_date": {
              "type": "string"
            },
            "state_version": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": -9007199254740991
            },
            "arrival_window": {
              "type": "string"
            },
            "provider_public_name": {
              "type": "string"
            }
          },
          "additionalProperties": {}
        },
        {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "object",
              "required": [
                "code",
                "category",
                "message",
                "retryable",
                "correlation_id",
                "details"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "details": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {}
                },
                "message": {
                  "type": "string"
                },
                "category": {
                  "type": "string"
                },
                "retryable": {
                  "type": "boolean"
                },
                "correlation_id": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "additionalProperties": false
        }
      ]
    }
  },
  "additionalProperties": false
}
select_service_option annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
create_service_booking — Create the confirmed service booking
Advertised by the server during the last successful anonymous check.
Advertised destructiveOpen-world

Use only from the protected final card with its one-time authorization after the user presses Confirm. Provider, request, hold, time and protected answers come from server context; do not pass or reconstruct them. This anonymous action completes the booking and must not trigger Connect or phone verification. Safe retries must reuse the same idempotency key.

create_service_booking input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "booking_authorization_token",
    "idempotency_key",
    "source",
    "anonymous_session_id",
    "correlation_id"
  ],
  "properties": {
    "source": {
      "enum": [
        "chatgpt_plugin",
        "chatgpt_ads",
        "ai_search",
        "organic_search",
        "paid_search",
        "manual_referral",
        "provider_referral",
        "direct",
        "test"
      ],
      "type": "string"
    },
    "campaign_id": {
      "type": "string",
      "maxLength": 200
    },
    "correlation_id": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1
    },
    "idempotency_key": {
      "type": "string",
      "maxLength": 200,
      "minLength": 16
    },
    "anonymous_session_id": {
      "type": "string",
      "maxLength": 200,
      "minLength": 8
    },
    "booking_authorization_token": {
      "type": "string",
      "minLength": 32
    }
  }
}
create_service_booking output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "anyOf": [
        {
          "type": "object",
          "required": [
            "booking_id",
            "provider_public_name",
            "service_date",
            "arrival_window",
            "timezone",
            "status"
          ],
          "properties": {
            "status": {
              "type": "string"
            },
            "timezone": {
              "type": "string"
            },
            "booking_id": {
              "type": "string"
            },
            "service_date": {
              "type": "string"
            },
            "arrival_window": {
              "type": "string"
            },
            "account_linking": {
              "anyOf": [
                {
                  "type": "object",
                  "required": [
                    "status"
                  ],
                  "properties": {
                    "status": {
                      "type": "string",
                      "const": "already_linked"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "status"
                  ],
                  "properties": {
                    "status": {
                      "type": "string",
                      "const": "unavailable"
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "status",
                    "linking_session_id",
                    "expires_at",
                    "next_action"
                  ],
                  "properties": {
                    "status": {
                      "type": "string",
                      "const": "required"
                    },
                    "expires_at": {
                      "type": "string"
                    },
                    "next_action": {
                      "type": "string",
                      "const": "complete_account_link"
                    },
                    "linking_session_id": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                }
              ]
            },
            "public_booking_ref": {
              "type": "string"
            },
            "provider_public_name": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "object",
              "required": [
                "code",
                "category",
                "message",
                "retryable",
                "correlation_id",
                "details"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "details": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {}
                },
                "message": {
                  "type": "string"
                },
                "category": {
                  "type": "string"
                },
                "retryable": {
                  "type": "boolean"
                },
                "correlation_id": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "additionalProperties": false
        }
      ]
    }
  },
  "additionalProperties": false
}
create_service_booking annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": true
}
open_service_account — Open secure appointment management
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use only when the user explicitly asks to view, reschedule or cancel existing appointments or manage saved addresses. Opens the existing first-party account portal inside a card, never returns customer data. Never call for general questions or new bookings. The customer signs in and makes changes inside the card on MCP Near Me; never ask to connect or reconnect a ChatGPT account, and never request a phone or code in chat. When a live card is displayed, omit prose or use at most one short neutral sentence: use only assistant_message in the customer's language (English: "Details and current status are in the card."). End the reply there. Do not add an introduction, summary, instructions to review or confirm, or claims that a booking is created or not yet created: this text remains after the card changes. Do not repeat companies, dates, times, prices, policies, booking references, status claims, comparisons or next steps outside the card. This applies only to successful card presentation; keep normal intake/choice questions and concise error or unavailable-UI guidance.

open_service_account input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "intent": {
      "enum": [
        "view",
        "reschedule",
        "cancel"
      ],
      "type": "string",
      "default": "view"
    }
  }
}
open_service_account output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "anyOf": [
        {
          "type": "object",
          "required": [
            "account_url",
            "intent",
            "authentication",
            "presentation",
            "assistant_message"
          ],
          "properties": {
            "intent": {
              "type": "string"
            },
            "account_url": {
              "type": "string"
            },
            "presentation": {
              "type": "string",
              "const": "interactive_card"
            },
            "authentication": {
              "type": "string",
              "const": "first_party_only"
            },
            "assistant_message": {
              "type": "string",
              "const": "Details and current status are in the card.",
              "description": "The only permitted optional caption for the live card. Translate to the customer's language without adding details or instructions."
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "required": [
            "error"
          ],
          "properties": {
            "error": {
              "type": "object",
              "required": [
                "code",
                "category",
                "message",
                "retryable",
                "correlation_id",
                "details"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "details": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {}
                },
                "message": {
                  "type": "string"
                },
                "category": {
                  "type": "string"
                },
                "retryable": {
                  "type": "boolean"
                },
                "correlation_id": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "additionalProperties": false
        }
      ]
    }
  },
  "additionalProperties": false
}
open_service_account annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

16 advertised

near-me-service-request

Advertised by the server during the last successful anonymous check.

near-me-service-request URI
ui://near-me/service-request-v15.html
near-me-service-request-compatibility-1

Advertised by the server during the last successful anonymous check.

near-me-service-request-compatibility-1 URI
ui://near-me/service-request-v14.html
near-me-service-request-compatibility-2

Advertised by the server during the last successful anonymous check.

near-me-service-request-compatibility-2 URI
ui://near-me/service-request-v13.html
near-me-service-request-compatibility-3

Advertised by the server during the last successful anonymous check.

near-me-service-request-compatibility-3 URI
ui://near-me/service-request-v12.html
near-me-service-request-compatibility-4

Advertised by the server during the last successful anonymous check.

near-me-service-request-compatibility-4 URI
ui://near-me/service-request-v11.html
near-me-service-request-compatibility-5

Advertised by the server during the last successful anonymous check.

near-me-service-request-compatibility-5 URI
ui://near-me/service-request-v10.html
near-me-service-request-compatibility-6

Advertised by the server during the last successful anonymous check.

near-me-service-request-compatibility-6 URI
ui://near-me/service-request-v9.html
near-me-service-request-compatibility-7

Advertised by the server during the last successful anonymous check.

near-me-service-request-compatibility-7 URI
ui://near-me/service-request-v8.html
near-me-service-request-compatibility-8

Advertised by the server during the last successful anonymous check.

near-me-service-request-compatibility-8 URI
ui://near-me/service-request-v7.html
near-me-service-request-compatibility-9

Advertised by the server during the last successful anonymous check.

near-me-service-request-compatibility-9 URI
ui://near-me/service-request-v6.html
near-me-service-request-compatibility-10

Advertised by the server during the last successful anonymous check.

near-me-service-request-compatibility-10 URI
ui://near-me/service-request-v5.html
near-me-service-request-compatibility-11

Advertised by the server during the last successful anonymous check.

near-me-service-request-compatibility-11 URI
ui://near-me/service-request-v4.html
near-me-management

Advertised by the server during the last successful anonymous check.

near-me-management URI
ui://near-me/management-v5.html
near-me-management-compatibility-1

Advertised by the server during the last successful anonymous check.

near-me-management-compatibility-1 URI
ui://near-me/management-v4.html
near-me-management-compatibility-2

Advertised by the server during the last successful anonymous check.

near-me-management-compatibility-2 URI
ui://near-me/management-v3.html
near-me-account

Advertised by the server during the last successful anonymous check.

near-me-account URI
ui://near-me/account-v1.html

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (2 of 2 answered).

  1. 2026-11-07: 2 of 2 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
552 ms
95th percentile latency
552 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 552 ms · metadata changed · 7 tool(s), 16 resource(s), 0 resource template(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http mcp-near-me https://mcpnear.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add mcp-near-me --url https://mcpnear.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable mcp-near-me in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "mcp-near-me": {
      "url": "https://mcpnear.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "mcp-near-me": {
      "type": "streamableHttp",
      "url": "https://mcpnear.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start mcp-near-me and inspect its tools.
VS Code configuration
{
  "servers": {
    "mcp-near-me": {
      "type": "http",
      "url": "https://mcpnear.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http mcp-near-me https://mcpnear.com/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://mcpnear.com/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "mcp-near-me": {
      "serverUrl": "https://mcpnear.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like MCP Near Me from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run MCP Near Me?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing