Skip to main content
Glama

find_nearby_experiences

Read-only

Discover shows, events, and experiences near your location on tickadoo. Use this tool when sharing your location or seeking nearby activities.

Instructions

Find shows, events and experiences near a geographic location on tickadoo®. Use when a user shares their location or asks for things to do near them.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
latitudeYesLatitude
longitudeYesLongitude
radius_kmNoSearch radius in km (default 25)
languageNoLanguage codeen

Implementation Reference

  • Registration and implementation handler for the 'find_nearby_experiences' MCP tool. It uses `getProductsByLocation` to retrieve experiences and formats the output for the user.
    server.tool(
      "find_nearby_experiences",
      "Find shows, events and experiences near a geographic location on tickadoo®. Use when a user shares their location or asks for things to do near them.",
      {
        latitude: z.number().describe("Latitude"),
        longitude: z.number().describe("Longitude"),
        radius_km: z.number().optional().default(25).describe("Search radius in km (default 25)"),
        language: z.string().optional().default("en").describe("Language code"),
      },
      READ_ONLY_TOOL_ANNOTATIONS,
      async ({ latitude, longitude, radius_km, language }) => {
        try {
          const products = await getProductsByLocation(latitude, longitude, radius_km, language);
          if (!products.length) {
            return createTextResponse(`No experiences within ${radius_km}km. Try increasing the radius or searching a specific city.`);
          }
    
          const rankedProducts = sortProductsForDisplay(products);
          const topProducts = rankedProducts.slice(0, 12);
          return createTextResponse(
            `${buildShownResultsLabel(topProducts.length, products.length, "nearby")}\n\n${topProducts.map(product => formatProduct(product)).join("\n\n")}`,
            {
              structuredContent: {
                latitude,
                longitude,
                radiusKm: radius_km,
                totalExperiences: products.length,
                experiences: topProducts.map(product => productStructuredData(product)),
              },
            },
          );
        } catch (error) {
          return createTextResponse(`Error: ${getErrorMessage(error)}`, { isError: true });
        }
      },

Tool Definition Quality

Score is being calculated. Check back soon.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tickadoo/tickadoo-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server