CourtlyGo

Tennis, pickleball and padel courts from OpenStreetMap: surface, lighting, access, fee. Read-only.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
73%
命名质量
100%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~867token 数(工具定义)
~2.2 KB典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 0.68%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "courts": {
      "url": "https://courtlygo.com/mcp"
    }
  }
}

远程端点

https://courtlygo.com/mcpstreamable-http

它能做什么

工具清单

工具(3)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢search_courts(sport, city, country, lat, lon, ...)

Search tennis, padel and pickleball courts in a covered city, metro area or around a point. Use 'city' (e.g. 'Austin, TX', 'Long Beach', 'Tbilisi' or 'Los Angeles area'; 'country' if the name is ambiguous) or 'lat'+'lon'+'radius_km'. Results are venues (courts within 70 m are merged) with number of courts, surface, lighting, access, fee, address or the park/street nearby, and the source of each record. Filters are strict: a court passes only if the property is explicitly mapped; set match_unknown=true to also include courts where it is unknown. Data comes from OpenStreetMap (ODbL) and is often incomplete; every answer carries the data date and attribution.

输入模式

{
  "type": "object",
  "properties": {
    "sport": {
      "type": "string",
      "enum": [
        "tennis",
        "padel",
        "pickleball"
      ],
      "description": "Sport: tennis, padel or pickleball. Omit for any."
    },
    "city": {
      "type": "string",
      "description": "A covered city, e.g. 'Austin, TX', 'Long Beach' or 'Tbilisi', or a whole metro area, e.g. 'Los Angeles area' (all of Los Angeles and Orange counties) or 'New York area'. See list_coverage."
    },
    "country": {
      "type": "string",
      "description": "Country name or ISO code, e.g. 'Georgia', 'GE', 'US'. Use it when the same city name exists in several countries; with lat/lon it limits the search to that country. Distances are in miles for the US and metres/kilometres elsewhere (distance_km is always given)."
    },
    "lat": {
      "type": "number",
      "description": "Latitude of the search point (use with lon)."
    },
    "lon": {
      "type": "number",
      "description": "Longitude of the search point (use with lat)."
    },
    "radius_km": {
      "type": "number",
      "default": 5,
      "minimum": 0.1,
      "maximum": 50,
      "description": "Search radius around lat/lon, km."
    },
    "setting": {
      "type": "string",
      "enum": [
        "any",
        "outdoor",
        "indoor"
      ],
      "default": "any",
      "description": "'outdoor' = open-air courts; 'indoor' = indoor or covered."
    },
    "lit": {
      "type": "boolean",
      "default": false,
      "description": "Only courts with lighting."
    },
    "open_to_public": {
      "type": "boolean",
      "default": false,
      "description": "Only courts anyone can use: access is public, or free of charge, or inside a park. Clubs (access_status club), private and likely private courts are excluded."
    },
    "free": {
      "type": "boolean",
      "default": false,
      "description": "Only courts mapped as free of charge (fee=no)."
    },
    "min_courts": {
      "type": "integer",
      "default": 0,
      "minimum": 0,
      "description": "Minimum number of courts at the venue."
    },
    "match_unknown": {
      "type": "boolean",
      "default": false,
      "description": "Also return courts where a filtered property is not mapped (unknown)."
    },
    "limit": {
      "type": "integer",
      "default": 10,
      "minimum": 1,
      "maximum": 50
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "minimum": 0,
      "maximum": 5000,
      "description": "Skip this many results (paging)."
    }
  },
  "additionalProperties": false
}
🟢get_court(id)

Get full details of one court venue by id (from search_courts): courts per sport, surface, access, OpenStreetMap links, source, data date and caveats.

输入模式

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Venue id, e.g. 'way-123456'."
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}
🟢list_coverage

List the covered cities with the number of venues per sport, the data date and the attribution.

输入模式

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

社区

评价此服务器

证据

最近观测

已验证未记录版本3 个工具