Atly
Measured conclusion: Alive, not deep-tested. L2 outcome: not_attempted.
Find places by what you want (work friendly, gluten free, great coffee), scored from real reviews.
| Author | com.atly |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Alive, not deep-tested |
| L1 liveness | alive |
| L1 latency | 2454 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Atly": {
"url": "https://agentic-api.atly.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (7)
get_api_keyread-onlyShow my key, tier and remaining quota Who am I and how much quota is left. Works without a key too (then it describes the anonymous allowance for your IP).
Hints: read-only yes · destructive no · idempotent not declared · open-world no
search_placesread-onlyFind places for an intent near a location The core call. Give one or more categories (exact names like "Coffee", or ids from `list_categories`; all must match) and a location — a city name or an `area_id` from `list_areas`, or coordinates with a radius — and get places ranked by Atly's score for those categories, each with quotable reasons from real reviews, a link to cite, a Google Maps link, whether it is open now, and when Atly added and last refreshed it. The first three also carry hours, contact and good-to-know. Scores are 0–10 and relative to other places in the same country; a place with no score is unmeasured, not bad. If no place matches every category, trailing categories are dropped until something does (the first is never dropped), and `dropped_categories` says which. Ranking considers the strongest 100 candidates by Atly's base score (400 with `place_type`); `dropped_categories` lists the dropped ones as you sent them.
Parameters:
categories(required) — array — Category names or ids, most important first. Every result matches all of them (after any relaxation). A name that is not exact is refused (400) with the close matches in the error.lat— numberlon— numberlimit— integer — Places to return, at most 25; a larger value returns 25.area_id— string — An id from `list_areas`; the search covers that area's viewport. A city name also works ("Austin", "Boise, ID"): it resolves to the matching area, or, for a city with no area, to the extent of the places whose address is in it; the response's `area` and doc_notes say what it resolved to. Give this or lat/lon, not both.radius_km— Used with lat/lon, in km. Held to 0.2-50 (doc_notes say so when it was).place_type— array — Optional. Keep only places whose Google place type contains one of these words, matched as whole words: "restaurant" keeps "Mexican restaurant" and "Pizza restaurant", "coffee" keeps "Coffee shop", "bar" keeps "Wine bar" but not "Barber shop". A place matches on its main type (`place_type` in results) or any of its other Google types. Use it when the user asks for a kind of venue ("gluten-free restaurants"), not a dish or a feature. Google's types are literal: "Cafe" and "Coffee shop" are different, so for cafes pass both ["cafe", "coffee"]. The filter is applied to the strongest 400 places for the categories and never relaxed.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
get_placeread-onlyEverything about one place Full detail for a place id from `search_places`: profile, hours, all category scores, up to eight quotable statements, good-to-know facts, gluten-free identity when known, and the canonical Atly URL to cite.
Parameters:
id(required) — string — A place id from search_places, or an atly.com place link (with or without https://) or its slug. In a REST path, URL-encode a link.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
submit_feedbackTell us how a call went Reference the `call_id` of any earlier response and say whether it helped, and optionally why, in a sentence about the result — what was right, missing or wrong. Do not include the user's words, the conversation, or anything about the person. One row per caller per call; lightly rate-limited.
Parameters:
call_id(required) — stringoutcome(required) — stringnotes— string — About the result only — never the conversation or the user.
Hints: read-only no · destructive no · idempotent not declared · open-world no
get_docsread-onlyRead the documentation Returns the API guide as Markdown: what each operation is for, how to turn a user's request into category ids and a location, request and response shapes, how to read scores. Call this once per session.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
list_categoriesread-onlyList intent categories The intent taxonomy: cuisines, dishes, features ("Wifi", "Outdoor Seating"), vibes ("Cozy", "Lively"), occasions ("First Date", "Group Dinner"), diets ("Gluten Free", "Keto") and more. Map the user's words to category ids before searching. Filter with `q`, one concept per call — exact and prefix matches rank first, then substrings and keywords; plurals, hyphens and small typos are tolerated — or fetch once without `q` and cache the full list.
Parameters:
q— string — Words to match against category names and keywords, e.g. "coffee", "dog friendly", "gluten-free". Ranked; tolerant of plurals and small typos.limit— integer — Maximum categories to return, at most 2000; a larger value returns 2000.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
list_areasread-onlyList supported areas Cities, neighborhoods and states Atly covers — densest in the United States, with pockets in Mexico, Israel and Thailand — each with an `id` you can pass to search, a center, a bounding box when known, and how many places it holds. Filter with `q` (substring of the name) and `level` (city, neighborhood, state). Results are ordered by place count.
Parameters:
q— string — Area name or common abbreviation, e.g. "san diego", "midtown", "nyc". Exact and prefix matches rank first.level— string — Restrict to one level.limit— integer — Maximum areas to return, at most 200; a larger value returns 200.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.