About DNDzgz MCP Server
DNDzgz MCP Server provides Zaragoza transit and Bizi station data for MCP clients, including live arrival estimates and nearby-stop listings. It also offers location lookup and Google Maps links.
Key features
- 01Live tram arrival estimates
- 02Tram and bus stop listings
- 03Live bus arrival estimates
- 04Bizi station and availability data
- 05Address geocoding and map links
Use cases
- 01Check arrival times before boarding
- 02Find nearby stops by location
- 03Check bikes and free Bizi slots
- 04Turn an address into map coordinates
MCP support
It exposes Zaragoza tram, bus, and Bizi information as tools for MCP clients, along with geocoding and Google Maps link generation.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
8Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| station | number | Yes |
Details
From the project READMEDNDzgz MCP Server
This is an MCP (Model Context Protocol) server that provides information about the Zaragoza tram system, including real-time tram arrival estimations and station information using the DNDzgz API.
Installation
- Clone the repository:
git clone https://github.com/danilat/mcp-dndzgz.git
cd mcp-dndzgz
- Install dependencies:
npm install
Running the Application
Add a the environment variable with a valid google maps api key and run it with the http transport
GOOGLE_MAPS_API_KEY=your-api-key npm start:http
The server will start you should configure yout MCP client to connect.
Or start the server using stdio trasport:
Configure in your MCP client using npx, for example:
{
"mcpServers": {
"dndzgz": {
"command": "npx @dndzgz/mcp",
"env": {
"GOOGLE_MAPS_API_KEY": "your-api-key"
}
}
}
}
The server will start and connect to the MCP server.
Available Tools
The server provides the following tools:
-
zaragoza-tram-estimations: Get real-time arrival estimations for a specific tram station- Parameters:
station(number): ID of the tram station
- Returns: JSON with estimated arrival times for both directions
- Parameters:
-
zaragoza-tram-stations: Get a list of all tram stations in Zaragoza- Parameters:
latitude(number): Latitude to sort stations by proximitylongitude(number): Longitude to sort stations by proximity
- Returns: JSON with station information including location, name, and ID
- Parameters:
-
zaragoza-bus-stops: Get all bus stops in Zaragoza- Parameters:
latitude(number): Latitude to sort stops by proximitylongitude(number): Longitude to sort stops by proximity
- Returns: JSON with bus stop locations, names, IDs, and lines
- Parameters:
-
zaragoza-bus-estimations: Get real-time arrival estimations for a specific bus stop- Parameters:
stop(number): ID of the bus stop
- Returns: JSON with estimated arrival times for each line serving that stop
- Parameters:
-
zaragoza-bizi-stations: Get all Bizi stations in Zaragoza (public bicycle rental service)- Parameters:
latitude(number): Latitude to sort stations by proximitylongitude(number): Longitude to sort stations by proximity
- Returns: JSON with Bizi station locations, names, and IDs
- Parameters:
-
zaragoza-bizi-estimations: Get real-time availability of bikes and free slots in a Bizi station- Parameters:
station(number): ID of the Bizi station
- Returns: JSON with bikes and parking slot availability
- Parameters:
-
google-maps-link: Get a Google Maps link for a specific location- Parameters:
latitude(number): Latitude of the locationlongitude(number): Longitude of the location
- Returns: Google Maps URL showing the specified location
- Parameters:
-
geolocation-from-address: Get the geolocation (latitude and longitude) from an address and the formatted address that was found- Parameters:
address(string): The address to geolocate (e.g., "Plaza de San Francisco, Zaragoza, Spain")
- Returns: JSON with latitude, longitude, confidence level, and formatted address
- Parameters:
Dependencies
- @modelcontextprotocol/sdk: ^1.9.0
Example
There is an screenshot with example using Claude Desktop

Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.