ScareMap

Find haunted houses, ghost tours and haunted places near you, with visitor ratings.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
80%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,072Tokens (tool definitions)
~4.4 KBTypical response size
Moderate attention impact (1.62% of 128k context)

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": {
    "scaremap": {
      "url": "https://www.scaremap.app/mcp"
    }
  }
}

Remote endpoints

https://www.scaremap.app/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢scaremap_find_haunts(lat, lng, radius_miles, category, season, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "lat": {
      "type": "number",
      "minimum": -90,
      "maximum": 90,
      "description": "Latitude of the search center, decimal degrees."
    },
    "lng": {
      "type": "number",
      "minimum": -180,
      "maximum": 180,
      "description": "Longitude of the search center, decimal degrees."
    },
    "radius_miles": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 150,
      "default": 25,
      "description": "Search radius in miles. Default 25, maximum 150."
    },
    "category": {
      "type": "string",
      "enum": [
        "haunted_house",
        "home_haunt",
        "haunt_farm",
        "ghost_tour",
        "paranormal",
        "escape_room",
        "other"
      ],
      "description": "Only this category. Call scaremap_categories for the list."
    },
    "season": {
      "type": "string",
      "enum": [
        "halloween",
        "year_round"
      ],
      "description": "halloween = seasonal haunt, year_round = open outside October."
    },
    "min_stars": {
      "type": "number",
      "minimum": 1,
      "maximum": 5,
      "description": "Minimum average quality rating (1 to 5)."
    },
    "min_scare": {
      "type": "number",
      "minimum": 1,
      "maximum": 5,
      "description": "Minimum average scare intensity (1 to 5)."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25,
      "default": 10,
      "description": "Maximum results. Default 10, maximum 25."
    }
  },
  "required": [
    "lat",
    "lng"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "total_matches": {
      "type": "number",
      "description": "Matches inside the radius before the limit is applied."
    },
    "haunts": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "category_label": {
            "type": "string"
          },
          "season": {
            "type": "string"
          },
          "avg_stars": {
            "type": [
              "number",
              "null"
            ]
          },
          "avg_scare": {
            "type": [
              "number",
              "null"
            ]
          },
          "review_count": {
            "type": "number"
          },
          "lat": {
            "type": "number"
          },
          "lng": {
            "type": "number"
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": "string"
          },
          "distance_miles": {
            "type": "number"
          }
        },
        "required": [
          "name",
          "slug",
          "category",
          "category_label",
          "season",
          "avg_stars",
          "avg_scare",
          "review_count",
          "lat",
          "lng",
          "city",
          "state",
          "url"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "total_matches",
    "haunts"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢scaremap_find_haunts_in_city(state, city, category, season, limit)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "state": {
      "type": "string",
      "minLength": 2,
      "maxLength": 40,
      "description": "State name, slug or two-letter code, for example \"Massachusetts\", \"new-york\" or \"TX\"."
    },
    "city": {
      "type": "string",
      "minLength": 1,
      "maxLength": 60,
      "description": "City name within the state. Omit to list the whole state."
    },
    "category": {
      "type": "string",
      "enum": [
        "haunted_house",
        "home_haunt",
        "haunt_farm",
        "ghost_tour",
        "paranormal",
        "escape_room",
        "other"
      ],
      "description": "Only this category. Call scaremap_categories for the list."
    },
    "season": {
      "type": "string",
      "enum": [
        "halloween",
        "year_round"
      ],
      "description": "halloween = seasonal haunt, year_round = open outside October."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 25,
      "description": "Maximum results. Default 25, maximum 50."
    }
  },
  "required": [
    "state"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "state": {
      "type": "string"
    },
    "city": {
      "type": [
        "string",
        "null"
      ]
    },
    "page_url": {
      "type": "string",
      "description": "ScareMap location page for this state or city."
    },
    "total_matches": {
      "type": "number"
    },
    "haunts": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "category_label": {
            "type": "string"
          },
          "season": {
            "type": "string"
          },
          "avg_stars": {
            "type": [
              "number",
              "null"
            ]
          },
          "avg_scare": {
            "type": [
              "number",
              "null"
            ]
          },
          "review_count": {
            "type": "number"
          },
          "lat": {
            "type": "number"
          },
          "lng": {
            "type": "number"
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": "string"
          },
          "distance_miles": {
            "type": "number"
          }
        },
        "required": [
          "name",
          "slug",
          "category",
          "category_label",
          "season",
          "avg_stars",
          "avg_scare",
          "review_count",
          "lat",
          "lng",
          "city",
          "state",
          "url"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "state",
    "city",
    "page_url",
    "total_matches",
    "haunts"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢scaremap_get_haunt(slug, id)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "description": "Haunt slug from other ScareMap tools, for example \"hellscream-haunted-house\"."
    },
    "id": {
      "type": "string",
      "description": "Haunt UUID. Use instead of slug."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "haunt": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "slug": {
          "type": "string"
        },
        "category": {
          "type": "string"
        },
        "category_label": {
          "type": "string"
        },
        "season": {
          "type": "string"
        },
        "avg_stars": {
          "type": [
            "number",
            "null"
          ]
        },
        "avg_scare": {
          "type": [
            "number",
            "null"
          ]
        },
        "review_count": {
          "type": "number"
        },
        "lat": {
          "type": "number"
        },
        "lng": {
          "type": "number"
        },
        "city": {
          "type": [
            "string",
            "null"
          ]
        },
        "state": {
          "type": [
            "string",
            "null"
          ]
        },
        "url": {
          "type": "string"
        },
        "distance_miles": {
          "type": "number"
        },
        "description": {
          "type": [
            "string",
            "null"
          ]
        },
        "directory_url": {
          "type": "string"
        }
      },
      "required": [
        "name",
        "slug",
        "category",
        "category_label",
        "season",
        "avg_stars",
        "avg_scare",
        "review_count",
        "lat",
        "lng",
        "city",
        "state",
        "url",
        "description",
        "directory_url"
      ],
      "additionalProperties": false
    },
    "reviews": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "stars": {
            "type": "number"
          },
          "scare": {
            "type": [
              "number",
              "null"
            ]
          },
          "body": {
            "type": [
              "string",
              "null"
            ]
          },
          "date": {
            "type": "string"
          }
        },
        "required": [
          "stars",
          "scare",
          "body",
          "date"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "haunt",
    "reviews"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢scaremap_categories

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.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "total_haunts": {
      "type": "number"
    },
    "categories": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "count": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "label",
          "count"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "total_haunts",
    "categories"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools