search

Pack: photon · Endpoint: https://gateway.pipeworx.io/photon/mcp

Forward geocode — place name → coordinates. Strong on partial / autocomplete-style queries.

Parameters

NameTypeRequiredDescription
querystringyesFree-text place name / address
latnumbernoLatitude bias center
lonnumbernoLongitude bias center
location_bias_scalenumbernoStrength of lat/lon bias (default 0.2)
zoomnumbernoZoom level for bias (0-18)
limitnumberno1-50 (default 5)
langstringnoLanguage for the response (en, de, fr, …)
osm_tagstringnoOSM tag filter (e.g. “amenity:pharmacy”)
layerstringnohouse | street | locality | city | district | county | state | country
bboxstringnoBounding box: “min_lon,min_lat,max_lon,max_lat”

Example call

Arguments

{
  "query": "Eiffel Tower Paris"
}

curl

curl -X POST https://gateway.pipeworx.io/photon/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search","arguments":{"query":"Eiffel Tower Paris"}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('search', {
  "query": "Eiffel Tower Paris"
});

More examples

{
  "query": "cafe",
  "lat": 48.8566,
  "lon": 2.3522,
  "location_bias_scale": 0.5,
  "limit": 10,
  "osm_tag": "amenity:cafe",
  "lang": "en"
}

Response shape

FieldTypeDescription
featuresarrayArray of geocoding results
Full JSON Schema
{
  "type": "object",
  "properties": {
    "features": {
      "type": "array",
      "description": "Array of geocoding results",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "GeoJSON type (Feature)"
          },
          "geometry": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "description": "Geometry type (Point)"
              },
              "coordinates": {
                "type": "array",
                "description": "Longitude and latitude",
                "items": {
                  "type": "number"
                }
              }
            }
          },
          "properties": {
            "type": "object",
            "description": "Place properties",
            "properties": {
              "name": {
                "type": "string",
                "description": "Place name"
              },
              "osm_id": {
                "type": "integer",
                "description": "OpenStreetMap ID"
              },
              "osm_type": {
                "type": "string",
                "description": "OSM object type (node, way, relation)"
              },
              "extent": {
                "type": "array",
                "description": "Bounding box extent if available",
                "items": {
                  "type": "number"
                }
              },
              "country": {
                "type": "string",
                "description": "Country name"
              },
              "city": {
                "type": "string",
                "description": "City name"
              },
              "state": {
                "type": "string",
                "description": "State or province"
              },
              "postcode": {
                "type": "string",
                "description": "Postal code"
              },
              "street": {
                "type": "string",
                "description": "Street name"
              },
              "district": {
                "type": "string",
                "description": "District name"
              }
            }
          }
        }
      }
    }
  }
}

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "photon": {
      "url": "https://gateway.pipeworx.io/photon/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build July 6, 2026