Skip to main content
Glama

calculate-distance

Measure the distance between two geographic points using longitude and latitude coordinates with optional geographic calculations, powered by PostGIS MCP Server.

Instructions

İki nokta arasındaki mesafeyi hesapla

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
point1_latYesBirinci nokta enlem
point1_lonYesBirinci nokta boylam
point2_latYesİkinci nokta enlem
point2_lonYesİkinci nokta boylam
use_geographyNoCoğrafi hesaplama kullan (varsayılan: true)

Implementation Reference

  • Handler for calculate-distance tool: validates input with Zod schema, computes distance using PostGIS ST_Distance on two points (with optional geography casting), returns distance in meters/km and input points.
    case "calculate-distance": { const { point1_lon, point1_lat, point2_lon, point2_lat, use_geography } = CalculateDistanceSchema.parse(args); const castType = use_geography ? "::geography" : ""; const result = yield client.query(` SELECT ST_Distance( ST_SetSRID(ST_MakePoint($1, $2), 4326)${castType}, ST_SetSRID(ST_MakePoint($3, $4), 4326)${castType} ) as distance `, [point1_lon, point1_lat, point2_lon, point2_lat]); const distance = parseFloat(result.rows[0].distance); const response = { distance_meters: distance, distance_km: distance / 1000, point1: [point1_lon, point1_lat], point2: [point2_lon, point2_lat], calculation_type: use_geography ? "geography" : "geometry", }; return { content: [ { type: "text", text: JSON.stringify(response, null, 2), }, ], }; }
  • Zod schema for input validation of calculate-distance tool parameters.
    const CalculateDistanceSchema = zod_1.z.object({ point1_lon: zod_1.z.number(), point1_lat: zod_1.z.number(), point2_lon: zod_1.z.number(), point2_lat: zod_1.z.number(), use_geography: zod_1.z.boolean().optional().default(true), });
  • server.js:103-117 (registration)
    Tool registration in ListTools response, including name, description, and MCP inputSchema.
    { name: "calculate-distance", description: "İki nokta arasındaki mesafeyi hesapla", inputSchema: { type: "object", properties: { point1_lon: { type: "number", description: "Birinci nokta boylam" }, point1_lat: { type: "number", description: "Birinci nokta enlem" }, point2_lon: { type: "number", description: "İkinci nokta boylam" }, point2_lat: { type: "number", description: "İkinci nokta enlem" }, use_geography: { type: "boolean", description: "Coğrafi hesaplama kullan (varsayılan: true)" }, }, required: ["point1_lon", "point1_lat", "point2_lon", "point2_lat"], }, },

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/receptopalak/postgis-mcp'

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