place-details
Retrieve comprehensive information about camping locations by providing a place ID. This tool helps users access detailed data for planning outdoor trips and finding suitable campsites.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| placeId | Yes | The id of the place to get details for. |
Implementation Reference
- src/tools/place_details.ts:12-30 (handler)The handler function that fetches place details from the Campertunity API using the provided placeId and returns the data as JSON or an error message.async ({ placeId }) => { try { const place = await campertunityClient.get(`/place/details?placeId=${placeId}`); return { content: [ { type: 'text', text: JSON.stringify(place), mimeType: 'application/json', }, ], }; } catch (error) { return { content: [{ type: 'text', text: 'Error: ' + (error as Error).message }], isError: true, }; } }
- src/tools/place_details.ts:9-11 (schema)Zod input schema for the tool, requiring a 'placeId' string parameter.{ placeId: z.string().describe('The id of the place to get details for.'), },
- src/tools/place_details.ts:7-31 (registration)Registers the 'place-details' tool on the MCP server, specifying input schema and handler function.server.tool( 'place-details', { placeId: z.string().describe('The id of the place to get details for.'), }, async ({ placeId }) => { try { const place = await campertunityClient.get(`/place/details?placeId=${placeId}`); return { content: [ { type: 'text', text: JSON.stringify(place), mimeType: 'application/json', }, ], }; } catch (error) { return { content: [{ type: 'text', text: 'Error: ' + (error as Error).message }], isError: true, }; } } );
- src/index.ts:25-25 (registration)Calls the placeDetailsTool function to perform the tool registration on the main MCP server instance.placeDetailsTool(server, campertunityClient);