DNDzgz MCP Server
DNDzgz MCP 서버
이는 DNDzgz API를 사용하여 실시간 트램 도착 추정치와 역 정보를 포함하여 사라고사 트램 시스템에 대한 정보를 제공하는 MCP(Model Context Protocol) 서버입니다.
설치
저장소를 복제합니다.
지엑스피1
종속성 설치:
npm installRelated MCP server: MCP Trenitalia
애플리케이션 실행
유효한 Google Maps API 키로 환경 변수를 추가합니다.
GOOGLE_MAPS_API_KEY=your-api-key서버를 시작하려면:
npm start또는 MCP 클라이언트에서 다음과 같이 구성하세요.
{
"mcpServers": {
"dndzgz": {
"command": "node",
"args": [
"/Users/danilat/workspace/mcp-dndzgz/index.js"
],
"env": {
"GOOGLE_MAPS_API_KEY": "your-api-key"
}
}
}
}서버가 시작되어 MCP 전송 계층에 연결됩니다.
사용 가능한 도구
서버는 다음과 같은 도구를 제공합니다.
zaragoza-tram-estimations: 특정 트램 역에 대한 실시간 도착 예상 시간을 확인하세요매개변수:
station(번호): 전차역의 ID
반환: 양방향 예상 도착 시간을 포함하는 JSON
zaragoza-tram-stations: 사라고사의 모든 트램역 목록을 확인하세요매개변수:
latitude(숫자): 근접성에 따라 스테이션을 정렬하기 위한 위도longitude(숫자): 근접성에 따라 스테이션을 정렬하기 위한 경도
반환: 위치, 이름, ID를 포함한 스테이션 정보가 포함된 JSON
zaragoza-bus-stops: 사라고사의 모든 버스 정류장을 확인하세요매개변수:
latitude(숫자): 경유지를 근접성 기준으로 정렬할 위도longitude(숫자): 경도를 사용하여 근접성별로 정류장을 정렬합니다.
반환: 버스 정류장 위치, 이름, ID 및 노선이 포함된 JSON
zaragoza-bus-estimations: 특정 버스 정류장에 대한 실시간 도착 예상 시간을 확인하세요매개변수:
stop(번호): 버스 정류장의 ID
반환: 해당 정류장을 운행하는 각 노선의 예상 도착 시간을 포함하는 JSON
zaragoza-bizi-stations: 사라고사의 모든 비지 스테이션(공공 자전거 대여 서비스)을 확인하세요매개변수:
latitude(숫자): 근접성에 따라 스테이션을 정렬하기 위한 위도longitude(숫자): 근접성에 따라 스테이션을 정렬하기 위한 경도
반환: Bizi 스테이션 위치, 이름 및 ID가 포함된 JSON
zaragoza-bizi-estimations: Bizi 역의 자전거 및 무료 슬롯의 실시간 가용성을 확인하세요매개변수:
station(번호): 비지역의 ID
반환: 자전거 및 주차 공간 가용성을 포함하는 JSON
google-maps-link: 특정 위치에 대한 Google Maps 링크를 가져옵니다.매개변수:
latitude(숫자): 위치의 위도longitude(숫자): 위치의 경도
반환: 지정된 위치를 표시하는 Google Maps URL
geolocation-from-address: 주소에서 지리적 위치(위도 및 경도)와 발견된 형식화된 주소를 가져옵니다.매개변수:
address(문자열): 지리적 위치를 찾을 주소(예: "Plaza de San Francisco, Zaragoza, Spain")
반환: 위도, 경도, 신뢰 수준 및 형식화된 주소가 포함된 JSON
종속성
@modelcontextprotocol/sdk: ^1.9.0
예
Claude Desktop을 사용한 예시가 있는 스크린샷이 있습니다.

Available Tools
8 toolsgeolocation-from-addressA
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
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool returns 'geolocation (latitude and longitude)' and 'formatted address,' but doesn't cover other important aspects like error handling, rate limits, authentication needs, or what happens with invalid addresses. For a tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded: the first sentence states the core purpose, and the second adds usage context. Every sentence earns its place with no wasted words, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (simple geocoding with 1 parameter), no annotations, and no output schema, the description is somewhat complete but has gaps. It covers purpose and usage but lacks details on behavior, parameters, and return values. For a tool with no structured support, this is adequate but not fully comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 1 parameter with 0% description coverage, so the description must compensate. It mentions 'address' as the input but doesn't add details beyond what's implied (e.g., format, examples, or constraints like 'only for Zaragoza' addresses). This provides minimal semantic value, aligning with the baseline when schema coverage is low but not fully compensating.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get the geolocation (latitude and longitude) from an address and the formatted address that was found, only for Zaragoza.' It specifies the verb ('Get'), resource ('geolocation'), and scope ('only for Zaragoza'). However, it doesn't explicitly differentiate from sibling tools like 'google-maps-link' or other geospatial tools, which would require a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for usage: 'only for Zaragoza' and 'Can be used to find a bus stops, tram stations or bizi stations.' This gives practical guidance on when to use it. However, it doesn't explicitly state when not to use it or name alternatives (e.g., 'google-maps-link' for broader geocoding), which would be needed for a score of 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google-maps-linkC
Get a Google Maps link from coordinates to help people to find a station o stop
| Name | Required | Description | Default |
|---|---|---|---|
| latitude | Yes | ||
| longitude | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool generates a link but doesn't describe what the link looks like (e.g., URL format, whether it opens in a browser), any rate limits, error handling, or authentication needs. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded: the first part clearly states the core function. The additional context about helping find stations or stops is useful but could be more integrated. It avoids unnecessary words, though it could be slightly more structured for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no output schema, no annotations), the description is incomplete. It lacks details on output format (e.g., what the link looks like), error cases, or usage constraints. For a tool that generates external links, more context on behavior and results would be helpful for an AI agent to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions 'coordinates' but doesn't specify the parameters (latitude and longitude) or their semantics (e.g., decimal degrees, range constraints). With 0% schema description coverage, the description adds minimal value beyond implying coordinate input. It doesn't compensate for the coverage gap, but since there are only 2 parameters, the baseline is slightly higher than minimal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get a Google Maps link from coordinates' specifies the action (get) and resource (Google Maps link). It adds context about helping people find stations or stops, which clarifies the use case. However, it doesn't explicitly differentiate from sibling tools like 'geolocation-from-address', which serves a related but different purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal usage guidance: it mentions helping people find stations or stops, which implies a navigation context. However, it doesn't specify when to use this tool versus alternatives (e.g., 'geolocation-from-address' for reverse geocoding) or any prerequisites like coordinate format. No explicit when-not or alternative guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zaragoza-bizi-estimationsC
Get the estimation of bikes and free slots in a Bizi station in Zaragoza in realtime
| Name | Required | Description | Default |
|---|---|---|---|
| station | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'realtime' estimation, which is useful, but fails to cover critical aspects like rate limits, error handling, data freshness, or authentication requirements. For a tool that likely queries an external API, this omission leaves significant gaps in understanding its operational behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that efficiently conveys the core functionality without unnecessary words. It's front-loaded with the key action ('Get the estimation'), making it easy to parse quickly. Every part of the sentence adds value, achieving optimal conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (real-time data query), lack of annotations, no output schema, and low schema description coverage, the description is incomplete. It doesn't explain the return format (e.g., JSON structure), error cases, or how to interpret 'bikes and free slots' data. This leaves the agent with insufficient information to handle the tool robustly in various scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 1 parameter with 0% description coverage, so the description must compensate. It only implies a 'station' parameter without explaining what it represents (e.g., station ID, name, or how to obtain valid values). This lack of semantic detail makes it harder for an agent to use the tool correctly, as the parameter's meaning and format are unclear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get the estimation of bikes and free slots in a Bizi station in Zaragoza in realtime.' It specifies the verb ('Get'), resource ('bikes and free slots'), and context ('Bizi station in Zaragoza'), making it easy to understand. However, it doesn't explicitly differentiate from its sibling 'zaragoza-bizi-stations', which might list stations rather than provide real-time availability estimates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'zaragoza-bizi-stations' (which might list stations) or other estimation tools (e.g., 'zaragoza-bus-estimations'), leaving the agent to infer usage based on context alone. This lack of explicit comparison reduces effectiveness in tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zaragoza-bizi-stationsC
Get all Bizi stations in Zaragoza, the bicycle rental public service
| Name | Required | Description | Default |
|---|---|---|---|
| latitude | Yes | ||
| longitude | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves data ('Get all Bizi stations'), implying a read-only operation, but doesn't clarify whether it requires authentication, has rate limits, returns real-time or static data, or what format the output takes. The description is minimal and lacks essential behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized for a simple data retrieval tool and front-loads the core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's apparent simplicity (2 parameters, no output schema, no annotations), the description is incomplete. It doesn't explain the purpose of the required latitude/longitude parameters, what data is returned, or how it differs from sibling tools. For a tool with undocumented parameters and no output schema, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 2 required parameters (latitude, longitude) with 0% description coverage, and the tool description provides no information about these parameters. It doesn't explain what the latitude and longitude represent (e.g., center point for search, user location), their expected format, units, or valid ranges, leaving parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get all Bizi stations in Zaragoza, the bicycle rental public service.' It specifies the verb ('Get'), resource ('Bizi stations'), and location context ('in Zaragoza'), though it doesn't explicitly differentiate from sibling tools like 'zaragoza-bus-stops' or 'zaragoza-tram-stations' beyond the bicycle rental focus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'zaragoza-bizi-estimations' (which might provide availability or timing data) or other transportation tools, nor does it specify any prerequisites or exclusions for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zaragoza-bus-estimationsC
Get the estimation of when a bus arrives to a stop in Zaragoza in realtime
| Name | Required | Description | Default |
|---|---|---|---|
| stop | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool provides 'realtime' estimations, which hints at dynamic data, but does not cover critical aspects such as data freshness, rate limits, error handling, authentication needs, or response format. For a real-time data tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and appropriately sized, with every part contributing to understanding the core function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (real-time data retrieval), lack of annotations, no output schema, and incomplete parameter documentation, the description is insufficient. It does not address how estimations are returned, what data is included, or potential limitations, making it inadequate for effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 1 parameter with 0% description coverage, and the description does not add any semantic information about the 'stop' parameter. It does not explain what 'stop' represents (e.g., stop ID, name, or code), valid ranges, or examples. With low schema coverage, the description fails to compensate, leaving the parameter poorly documented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get the estimation of when a bus arrives to a stop in Zaragoza in realtime.' It specifies the action ('get the estimation'), resource ('bus'), and scope ('Zaragoza'), distinguishing it from sibling tools like zaragoza-bizi-estimations (bikes) and zaragoza-tram-estimations (trams). However, it doesn't explicitly differentiate from zaragoza-bus-stops, which might be related but serves a different function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention sibling tools like zaragoza-bus-stops (which might list stops) or other estimation tools for different transport modes, nor does it specify prerequisites or exclusions. Usage is implied by the purpose but lacks explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zaragoza-bus-stopsC
Get all bus stops in Zaragoza
| Name | Required | Description | Default |
|---|---|---|---|
| latitude | Yes | ||
| longitude | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states what the tool does but doesn't describe how it behaves: whether it returns all stops globally or filtered by proximity, what format the results are in, whether there are rate limits, or any error conditions. This leaves significant gaps for an agent to understand the tool's operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just one sentence with no wasted words. It's front-loaded with the core purpose and uses clear, straightforward language. Every word earns its place in this minimal description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 2 required parameters, 0% schema description coverage, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain the parameter purpose, result format, or behavioral characteristics. The agent would struggle to use this tool effectively without additional context or experimentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage for its two required parameters (latitude, longitude), and the description provides no information about what these parameters mean or how they affect the results. The description says 'Get all bus stops' which seems to contradict the need for location parameters, creating confusion about whether filtering occurs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('all bus stops in Zaragoza'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'zaragoza-bus-estimations' or 'zaragoza-bizi-stations', which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention whether it's for general listing, proximity-based queries (implied by latitude/longitude parameters but not stated), or how it differs from other Zaragoza transportation tools like 'zaragoza-bus-estimations' or 'zaragoza-tram-stations'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zaragoza-tram-estimationsC
Get the estimation of when arrives to a tram station in Zaragoza in realtime
| Name | Required | Description | Default |
|---|---|---|---|
| station | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'realtime' estimation, which hints at dynamic data, but fails to describe other traits like potential rate limits, error handling, data freshness, or response format, leaving significant gaps in understanding the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (real-time data retrieval), lack of annotations, no output schema, and incomplete parameter documentation, the description is insufficient. It doesn't cover key aspects like response structure, error cases, or data sources, leaving the agent poorly equipped to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 1 parameter with 0% description coverage, and the tool description adds no information about the 'station' parameter. It doesn't explain what the number represents (e.g., station ID, code), valid ranges, or examples, failing to compensate for the schema's lack of detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resource ('estimation of when arrives to a tram station in Zaragoza in realtime'), making it easy to understand what it does. However, it doesn't explicitly differentiate from sibling tools like 'zaragoza-bus-estimations' or 'zaragoza-bizi-estimations', which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools or contextual factors that might influence tool selection, such as comparing tram estimations to bus or bizi estimations, leaving the agent without usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zaragoza-tram-stationsC
Get all tram stations in Zaragoza
| Name | Required | Description | Default |
|---|---|---|---|
| latitude | Yes | ||
| longitude | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but doesn't describe how it behaves—e.g., whether it returns a list, how it handles errors, if it requires authentication, or if there are rate limits. This leaves significant gaps for an agent to understand operational traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded with the core purpose, making it easy to parse quickly, and every word earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (a tool with two required parameters and no output schema) and the lack of annotations, the description is incomplete. It doesn't explain what the tool returns (e.g., a list of station objects), how parameters influence results, or behavioral aspects like error handling, leaving the agent with insufficient context for reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the two required parameters (latitude, longitude) are undocumented in the schema. The description doesn't add any meaning beyond the schema—it doesn't explain what these parameters represent (e.g., a center point for filtering stations) or how they affect the output, failing to compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('all tram stations in Zaragoza'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'zaragoza-tram-estimations' or 'zaragoza-bus-stops', which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose it over 'zaragoza-tram-estimations' (which likely provides real-time data) or 'zaragoza-bus-stops' (which covers a different transit mode), nor does it specify any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
v1.0.0- Changed
geolocation-from-address1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
google-maps-link1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
zaragoza-bizi-estimations1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
zaragoza-bizi-stations1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
zaragoza-bus-estimations1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
zaragoza-bus-stops1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
zaragoza-tram-estimations1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
zaragoza-tram-stations1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
8 tool updates
- First observed
geolocation-from-address - First observed
google-maps-link - First observed
zaragoza-bizi-estimations - First observed
zaragoza-bizi-stations - First observed
zaragoza-bus-estimations - First observed
zaragoza-bus-stops - First observed
zaragoza-tram-estimations - First observed
zaragoza-tram-stations
TDQS
Scored across 8 tools
Every tool has a clearly distinct purpose with no ambiguity. The tools are organized by transport mode (Bizi, bus, tram) and function (stations/stops vs. estimations), and the geolocation and Google Maps tools serve unique supporting roles. An agent can easily distinguish between them based on their specific targets.
All tool names follow a consistent pattern of 'zaragoza-[transport]-[function]' or a descriptive prefix like 'geolocation-from-address' and 'google-maps-link'. This verb-noun or noun-noun structure is uniform throughout, making the set predictable and readable.
With 8 tools, the count is well-scoped for the server's purpose of providing Zaragoza transport information. Each tool earns its place by covering distinct aspects like stations, real-time estimations, and location utilities, without being overwhelming or insufficient.
The tool set offers complete coverage for the domain of Zaragoza transport. It includes CRUD-like operations (list stations and get estimations) for all major modes (Bizi, bus, tram), plus supporting tools for geolocation and maps, ensuring no gaps in the workflow for finding and using transport services.
Maintenance
Related MCP Connectors
MCP server for China Railway 12306 ticket availability: schedules and seats by Chinese station name.
- mcpOAuthcom.zomato
An MCP server that exposes functionalities to use Zomato's services.
An MCP server that provides congressional transcripts
MCP server providing attendance data queries via the CloudTime API.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server to retrieve train schedules from National Rail using the Realtime Trains API, providing tools for live departures and arrivals.7-
- AlicenseNot gradedqualityBmaintenanceAn MCP server for real-time Italian railway data, enabling natural language queries about train schedules, delays, departures, arrivals, and live tracking via the Viaggiatreno API.7MIT
- FlicenseAqualityDmaintenanceMCP server for querying German public transport information, including station search, live departures/arrivals, and journey planning.51-
- FlicenseNot gradedqualityDmaintenanceA simple MCP server to call RMV APIs for nearby stations and departure boards.-