get-cities.tool.tsβ’975 B
import { Injectable } from '@nestjs/common'
import { Tool } from '@rekog/mcp-nest'
import { z } from 'zod'
import { TimezoneService } from '../../timezone/timezone.service'
@Injectable()
export class GetCitiesTool {
constructor(private readonly timezoneService: TimezoneService) {}
@Tool({
name: 'get_cities',
description: 'Get all cities/locations available in a specific timezone region',
parameters: z.object({
region: z.string().describe('Timezone region name (e.g., America, Europe, Asia)'),
}),
})
async execute(params: { region: string }) {
const { region } = params
if (!region) {
throw new Error('Region parameter is required')
}
const cities = this.timezoneService.getCitiesInRegion(region)
return {
content: [
{
type: 'text',
text: JSON.stringify({
region,
cities,
count: cities.length,
}),
},
],
}
}
}