4,500+ servers built on MCP Fusion
Vinkius
Nominatim logo
Vinkius
LlamaIndex logo

How to Use the Nominatim MCP in LlamaIndex

Index live OpenStreetMap spatial coordinates and location details directly into your LlamaIndex vector store.

See Vinkius in Action

Works with every AI agent you already use

…and any MCP-compatible client

Nominatim MCP on Cursor AI Code Editor MCP Client Nominatim MCP on Claude Desktop App MCP Integration Nominatim MCP on OpenAI Agents SDK MCP Compatible Nominatim MCP on Visual Studio Code MCP Extension Client Nominatim MCP on GitHub Copilot AI Agent MCP Integration Nominatim MCP on Google Gemini AI MCP Integration Nominatim MCP on Lovable AI Development MCP Client Nominatim MCP on Mistral AI Agents MCP Compatible Nominatim MCP on Amazon AWS Bedrock MCP Support
MCP Servers - Free for Subscribers
LlamaIndex

Connect Nominatim MCP to LlamaIndex

Create your Vinkius account to connect Nominatim to LlamaIndex and route execution through our secure gateway. The platform manages server hosting, runtime updates, and security layers. Configuration requires no manual server provisioning.

GDPR Free for Subscribers

Index spatial context with LlamaIndex and Nominatim

The `search` tool queries the OpenStreetMap database to retrieve coordinates and bounding boxes for text-based addresses, which LlamaIndex then indexes as node metadata. This MCP integration lets your LlamaIndex RAG pipeline search for documents not just by text similarity, but by geographic proximity. By storing the output of `get_details` alongside your documents, your LlamaIndex agent can filter search results based on place rank or parent administrative boundaries. This prevents your system from mixing up cities with the same name in different states.

Convert GPS coordinates to searchable index nodes

The `reverse_geocode` tool translates raw latitude and longitude inputs into structured address data that LlamaIndex can parse. Your LlamaIndex ingestion pipeline uses this Nominatim address string to tag incoming mobile photos or sensor logs with precise city and country labels. If the coordinate lookup fails to find an exact street-level match, the tool adjusts the zoom level to pull broader administrative regions. This fallback mechanism ensures your LlamaIndex index remains populated even when processing remote rural data.

Monitor server health before running LlamaIndex jobs

The `get_status` tool checks the operational state of the MCP geocoding service before LlamaIndex starts a heavy batch indexing operation. If the Nominatim response latency is too high, your LlamaIndex ingestion script pauses to avoid hitting the public server rate limits. For batch processing, you can also use `lookup_osm` to pull multiple geographic objects in a single query. This reduces the load on the server and speeds up the construction of your LlamaIndex spatial knowledge graph.

Setup guide

Set up Nominatim MCP in LlamaIndex

Prerequisites

  • Python 3.10+ installed
  • llama-index-tools-mcp package
  • Active Vinkius subscription with a valid endpoint token
  1. 1

    Install dependencies

    Run pip install llama-index-tools-mcp llama-index-llms-openai. The MCP tools package provides BasicMCPClient and McpToolSpec.

  2. 2

    Connect with BasicMCPClient

    Point BasicMCPClient to your Vinkius endpoint URL. Replace [YOUR_TOKEN_HERE] with your token from cloud.vinkius.com. Supports SSE and Streamable HTTP transports.

  3. 3

    Convert to LlamaIndex tools

    Call mcp_tool_spec.to_tool_list_async() to convert all Nominatim MCP tools into native FunctionTool objects that any LlamaIndex agent can use.

  4. 4

    Run with any LLM

    Create a FunctionAgent with the tools and your preferred LLM. Swap OpenAI for Anthropic, Gemini, or any LlamaIndex-supported provider.

agent.py
from llama_index.tools.mcp import BasicMCPClient, McpToolSpec
from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.openai import OpenAI

# Connect to the MCP
mcp_client = BasicMCPClient(
    "https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp"
)
mcp_tool_spec = McpToolSpec(client=mcp_client)

# Convert MCP tools to LlamaIndex tools
tools = await mcp_tool_spec.to_tool_list_async()

# Create and run the agent
agent = FunctionAgent(
    tools=tools,
    llm=OpenAI(model="gpt-4o"),
    system_prompt="You have access to Nominatim tools.",
)
response = await agent.run("List recent Nominatim data")

Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by Nominatim. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.

Why Choose Vinkius

Vinkius connects your tools to AI with real-time monitoring and automatic cost savings — all from one dashboard.

Real-time monitoring

Live

visibility into every interaction

Connect your favorite tools to your AI and see exactly what's happening — every request, every response, in real time.

Built-in savings

60%

lower AI costs

Vinkius compresses data between your apps and your AI automatically. Lower bills every month — no configuration required.

Single dashboard

One

place for every integration

Every tool your AI connects to, managed from a single screen. One account, complete control.

Common questions about Nominatim MCP in LlamaIndex

LlamaIndex converts the JSON responses from `search` into metadata fields within your Document objects. This structured Nominatim spatial data is then indexed into your vector store for metadata filtering.
Yes, you can use `reverse_geocode` to turn user coordinates into a readable address, then use that address as a query filter in LlamaIndex. This ensures your LlamaIndex agent retrieves documents relevant only to the user's current city.
You should configure an asynchronous queue or rate-limiting wrapper around `search` before passing it to your LlamaIndex `FunctionAgent`. This prevents your LlamaIndex agent from spamming the Nominatim server during complex multi-step retrieval tasks.
You must format IDs as a type prefix followed by the number, such as N123 for nodes or W456 for ways, and pass them to `lookup_osm`. Your LlamaIndex pipeline uses these formatted strings to retrieve exact coordinates and bounding boxes.
No, your coordinates and addresses are processed in memory within an ephemeral, zero-trust sandbox. The spatial data is forwarded directly to the Nominatim service without persistent logging or secondary data collection.

Start using the Nominatim MCP today

We host it, we monitor it, we maintain it. You just paste one token.

Built & Managed by Vinkius 30s setup 5 tools

We've already built the connector for Nominatim. Just plug in your AI agents and start using Vinkius.

No hosting. No infrastructure. No complex setup.
All 5 tools are live and waiting. You're up and running in seconds.

Claude Claude
ChatGPT ChatGPT
Cursor Cursor
Gemini Gemini
Windsurf Windsurf
VS Code VS Code
JetBrains JetBrains
Vercel Vercel
+ other MCP clients

Vinkius gives your AI agents access to the full catalog of app connectors, all fully managed, secure, and enterprise-ready. One subscription, every tool you need.

Zero hosting required Full MCP catalog included Enterprise-grade security Auto-updated by Vinkius

Built, hosted, and secured by Vinkius. You just connect and go.