ScareMap
Server Details
Find haunted houses, ghost tours and haunted places near you, with visitor ratings.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
The two find_haunts tools share a purpose (searching haunts) but are cleanly differentiated by input mode: coordinates/radius vs. state/city names. Descriptions explicitly cross-reference each other ('For a whole city or state use scaremap_find_haunts_in_city', 'To search by distance from a point use scaremap_find_haunts'), so misselection is unlikely. scaremap_categories and scaremap_get_haunt have clearly distinct roles.
All names use snake_case with a consistent scaremap_ prefix, and three of four are verb_noun (find_haunts, find_haunts_in_city, get_haunt). scaremap_categories is a bare noun that breaks the verb pattern, a minor deviation. The prefix is somewhat redundant but harmless.
Four tools is on the lean side but each covers a distinct read path: taxonomy, geo search, admin-area search, and entity detail. For a read-only directory of haunted attractions nothing feels redundant or missing from the count itself.
The surface covers the full browse lifecycle: categories, discovery by location two ways, and full record plus reviews. Notable gaps remain: no name/keyword search (explicitly excluded) and no way to browse popular haunts nationwide without a location. These are workable around but real limitations.
Available Tools
4 toolsscaremap_categoriesList haunt categoriesARead-onlyIdempotentInspect
List every haunt category with its display label and the number of public haunts in it. Call this first when the user asks what kinds of places ScareMap covers, or to get valid values for the category filter on the other tools. Takes no input.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| categories | Yes | |
| total_haunts | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description still adds value beyond them by scoping the counts to public haunts only and confirming the tool takes no input.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with what the tool returns, then when to call it and the no-input fact. Nothing is padded or repeated from the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, an input-free schema, and full annotations, the description covers everything an agent needs: contents of each row, the routing trigger, and the absence of arguments.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the baseline is 4; the description reinforces this with 'Takes no input', removing any doubt that arguments are expected.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (list haunt categories) plus exactly what each entry contains (display label, count of public haunts). It is trivially distinguishable from the haunt-lookup siblings scaremap_find_haunts / scaremap_get_haunt.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit call-first condition ('when the user asks what kinds of places ScareMap covers') and a second concrete trigger (to obtain valid values for the category filter used by the other tools). No alternatives are needed since no sibling overlaps this purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scaremap_find_hauntsFind haunts near a locationARead-onlyIdempotentInspect
Find haunted houses, haunt farms, ghost tours, horror escape rooms and haunted places within a radius of a latitude/longitude, nearest first. Call this when the user gives a place, address or coordinates and wants scary things to do nearby. Geocode a place name to lat/lng first; this tool does not search by name. Filter by category, by season, or by minimum visitor ratings. Unrated haunts (review_count 0) have null ratings and are left out when min_stars or min_scare is set. For a whole city or state use scaremap_find_haunts_in_city. For the full record and reviews of one result use scaremap_get_haunt.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude of the search center, decimal degrees. | |
| lng | Yes | Longitude of the search center, decimal degrees. | |
| limit | No | Maximum results. Default 10, maximum 25. | |
| season | No | halloween = seasonal haunt, year_round = open outside October. | |
| category | No | Only this category. Call scaremap_categories for the list. | |
| min_scare | No | Minimum average scare intensity (1 to 5). | |
| min_stars | No | Minimum average quality rating (1 to 5). | |
| radius_miles | No | Search radius in miles. Default 25, maximum 150. |
Output Schema
| Name | Required | Description |
|---|---|---|
| haunts | Yes | |
| total_matches | Yes | Matches inside the radius before the limit is applied. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world behavior, so the safety profile is covered. The description adds behavior annotations don't: nearest-first result ordering and the important caveat that unrated haunts (review_count 0) have null ratings and are dropped when min_stars or min_scare is set. It doesn't discuss pagination or result caps beyond limit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core action and ordering, then prerequisites, then caveats, then sibling routing, in four dense sentences with no filler. Every sentence carries information an agent needs to select or invoke the tool correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. For an 8-parameter geo-search tool the description covers the required lat/lng prerequisite, the geocoding gap it cannot fill, the filter semantics including the null-rating edge case, and sibling routing — nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, but the description adds meaning the schema does not: the null-rating/unrated interaction with min_stars and min_scare, and the filter axes (category, season, minimum visitor ratings). It does not explain the distinction between min_scare and min_stars beyond the schema's own wording.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource set ('Find haunted houses, haunt farms, ghost tours, horror escape rooms and haunted places') scoped by radius around lat/lng, and adds the ordering guarantee 'nearest first'. It explicitly differentiates from siblings by naming when to use scaremap_find_haunts_in_city and scaremap_get_haunt instead.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit trigger ('when the user gives a place, address or coordinates and wants scary things to do nearby'), a prerequisite ('Geocode a place name to lat/lng first'), and an exclusion ('this tool does not search by name'). It also routes to two named alternative tools with the conditions that select them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scaremap_find_haunts_in_cityFind haunts in a city or stateARead-onlyIdempotentInspect
List haunts in a US state, or in one city of that state, using the same state and city grouping as the ScareMap location pages. Call this when the user names a state or city ("haunted houses in Salem, Massachusetts") and has no coordinates. State accepts a name, a slug or a two-letter code. Results are ordered by review count, then name. If the city is not found, the error lists the cities ScareMap has in that state. To search by distance from a point use scaremap_find_haunts.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City name within the state. Omit to list the whole state. | |
| limit | No | Maximum results. Default 25, maximum 50. | |
| state | Yes | State name, slug or two-letter code, for example "Massachusetts", "new-york" or "TX". | |
| season | No | halloween = seasonal haunt, year_round = open outside October. | |
| category | No | Only this category. Call scaremap_categories for the list. |
Output Schema
| Name | Required | Description |
|---|---|---|
| city | Yes | |
| state | Yes | |
| haunts | Yes | |
| page_url | Yes | ScareMap location page for this state or city. |
| total_matches | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so safety is covered. Beyond that the description discloses result ordering (review count, then name) and failure behavior (city-not-found errors enumerate the state's known cities), which are genuinely useful traits not present in the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and scope, then usage condition, then input/ordering/error details and the alternative. Every sentence carries information; no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations covering safety, a 100%-covered schema, an output schema, and no nesting, the description supplies exactly the remaining pieces an agent needs: trigger condition, ordering, error fallback and the sibling to use instead.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with examples for state/slug/code, limit bounds and category enum already documented, so the 3 baseline applies. The description's note that state accepts name, slug or two-letter code largely restates the schema, adding little beyond the city-error behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) plus resource (haunts) and the precise scope (a US state, or one city within it), explicitly contrasting with the point-distance search done by scaremap_find_haunts. An agent can distinguish it from all three siblings without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit trigger: 'Call this when the user names a state or city ... and has no coordinates', and an explicit alternative for the opposite case (scaremap_find_haunts for distance search). The category enum also points to scaremap_categories for the valid list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scaremap_get_hauntGet one haunt with reviewsARead-onlyIdempotentInspect
Get the full record for one haunt: description, category, season, location, average ratings, and up to 20 of the newest visitor reviews (stars, scare, text, date). Call this after scaremap_find_haunts or scaremap_find_haunts_in_city when the user wants detail on a specific result. Pass the slug from those results, or the haunt id. Reviews are anonymous. A haunt with no reviews returns an empty list.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Haunt UUID. Use instead of slug. | |
| slug | No | Haunt slug from other ScareMap tools, for example "hellscream-haunted-house". |
Output Schema
| Name | Required | Description |
|---|---|---|
| haunt | Yes | |
| reviews | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive, and closed-world traits, so the bar is lower. The description still adds real behavioral context: reviews are capped at 20 newest, reviews are anonymous, and a haunt with no reviews returns an empty list rather than erroring. It does not mention failure behavior for a bad slug/id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences: return contents first, then usage trigger, then input sourcing, then edge-case behavior. Nothing is redundant and the most decision-relevant information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, yet the description still previews the payload and the 20-review cap. Combined with full annotation coverage and a fully described 2-param schema, an agent has everything needed to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters are documented in-schema, so the baseline is 3. The description only adds that either the slug or the haunt id may be passed and that the slug originates from sibling tool results, which is marginal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Get) and resource (one haunt) plus the exact fields returned: description, category, season, location, average ratings, and newest reviews. This clearly separates it from the sibling find/list tools, which return multiple haunts rather than a single full record.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to call it 'after scaremap_find_haunts or scaremap_find_haunts_in_city when the user wants detail on a specific result,' naming both alternatives and the condition that selects this tool. It also tells the agent where the required input comes from ('Pass the slug from those results').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
scaremap_categories - First observed
scaremap_find_haunts - First observed
scaremap_find_haunts_in_city - First observed
scaremap_get_haunt
Related MCP Connectors
Restaurant picks from food creators you trust: ranked guides, reviews and places near you.
Free walking tours & activities in 1,000+ cities — live availability, ratings & booking links.
Discover and book 5,000+ curated local experiences across 500 US destinations.
Bogeyland — directory of places, events, and listings.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceTravel places directory by 5arz: search 2.5M places, submit businesses and promos (human-reviewed).MIT
- -
- AlicenseNot gradedqualityBmaintenanceEnables searching US residential foreclosure/REO/short-sale auction listings by state and county, with detailed property facts, sale event dates, venues, and bid/sale prices labeled by status.8 npm1MIT
- AlicenseAqualityCmaintenanceDiscover and book theatre, shows, events, tours and experiences across 700+ cities worldwide on tickadoo® with real-time pricing and booking links.4494 npm2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.