DNDzgz MCP Server
About
A MCP Server to know about Zaragoza bus, tram and bizi services in realtime
Details
- Author
- danilat
- GitHub stars
- 10
- Downloads
- 140
- Categories
- Search, Knowledge Base, Other
Jump to
- Eight tools: tram estimations, stations, bus stops, bus estimations, Bizi stations, Bizi estimations, Google Maps link, address geolocation
- Real‑time arrival estimations for tram and bus
- Station and stop lists sorted by proximity
- Public bicycle availability data
- Google Maps link generation and address geocoding
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
DNDzgz MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Clone the repository, install dependencies with npm install, set the GOOGLE_MAPS_API_KEY environment variable, then run using HTTP transport (npm start:http) or configure stdio transport in your MCP client with npx @dndzgz/mcp.
zaragoza-tram-estimations
Get the estimation of when arrives to a tram station in Zaragoza in realtime
zaragoza-tram-stations
Get all tram stations in Zaragoza
zaragoza-bus-stops
Get all bus stops in Zaragoza
zaragoza-bus-estimations
Get the estimation of when a bus arrives to a stop in Zaragoza in realtime
zaragoza-bizi-stations
Get all Bizi stations in Zaragoza, the bicycle rental public service
zaragoza-bizi-estimations
Get the estimation of bikes and free slots in a Bizi station in Zaragoza in realtime
google-maps-link
Get a Google Maps link from coordinates to help people to find a station o stop
geolocation-from-address
Get the geolocation (latitude and longitude) from an address and the formatted address that was found, only for Zaragoza. Can be used to find a bus stops, tram stations or bizi stations
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"dndzgz mcp server": {
"dndzgz": {
"command": "npx",
"args": [
"@dndzgz/mcp"
],
"env": {
"GOOGLE_MAPS_API_KEY": ""
}
}
}
}
}
McpServers
{
"dndzgz": {
"command": "npx",
"args": [
"@dndzgz/mcp"
],
"env": {
"GOOGLE_MAPS_API_KEY": ""
}
}
}
DNDzgz 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
1. Clone the repository:
git clone https://github.com/danilat/mcp-dndzgz.git
cd mcp-dndzgz
2. 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:
1. 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
2. zaragoza-tram-stations: Get a list of all tram stations in Zaragoza
- Parameters:
- latitude (number): Latitude to sort stations by proximity
- longitude (number): Longitude to sort stations by proximity
- Returns: JSON with station information including location, name, and ID
3. zaragoza-bus-stops: Get all bus stops in Zaragoza
- Parameters:
- latitude (number): Latitude to sort stops by proximity
- longitude (number): Longitude to sort stops by proximity
- Returns: JSON with bus stop locations, names, IDs, and lines
4. 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
5. zaragoza-bizi-stations: Get all Bizi stations in Zaragoza (public bicycle rental service)
- Parameters:
- latitude (number): Latitude to sort stations by proximity
- longitude (number): Longitude to sort stations by proximity
- Returns: JSON with Bizi station locations, names, and IDs
6. 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
7. google-maps-link: Get a Google Maps link for a specific location
- Parameters:
- latitude (number): Latitude of the location
- longitude (number): Longitude of the location
- Returns: Google Maps URL showing the specified location
8. 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
Dependencies
- @modelcontextprotocol/sdk: ^1.9.0
Example
There is an screenshot with example using Claude Desktop

Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




