Skip to main content
Glama

Server Details

Real-time BART departures, trip planning, fares, stations, and advisories.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
srivastsh/bay-area-transit-mcp
GitHub Stars
0

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4/5 across 7 of 7 tools scored. Lowest: 3.3/5.

Server CoherenceA
Disambiguation5/5

Each tool addresses a distinct transit function: advisories, departures, fares, station lookup, station listing, status summary, and trip planning. No overlap in purpose.

Naming Consistency5/5

All tools follow the 'bart_' prefix with a noun or compound noun using underscores, e.g., bart_departures, bart_station_lookup. Fully consistent.

Tool Count5/5

Seven tools cover the essential BART operations without redundancy. The scope is appropriate for a real-time transit MCP server.

Completeness5/5

The tool set covers advisories, departures, fares, stations, trip planning, and a status summary. All major real-time transit needs are addressed.

Available Tools

7 tools
bart_advisoriesBART AdvisoriesA
Read-only
Inspect

Get current BART service advisories, delays, and elevator/escalator status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds value by specifying the types of information returned (advisories, delays, status). It does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence that is front-loaded with action and key data: 'Get current BART service advisories...'. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters, no output schema, and complete annotations for safety, the description is adequate for a simple advisory tool. It covers the key information an agent needs to understand the tool's purpose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist (0 params, schema coverage 100%), so baseline is 4. Description does not need to add parameter details, though it could note that no input is required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses specific verb 'Get' and clearly lists resource types: 'advisories, delays, and elevator/escalator status'. It distinguishes from sibling tools like bart_departures and bart_status_summary by focusing on service issues rather than schedules or summaries.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. The implied context is for real-time service issues, but there are no exclusions or comparisons to siblings like bart_status_summary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bart_departuresBART Real-Time DeparturesA
Read-only
Inspect

Get real-time departures from a BART station.

Args:

  • station: 4-letter abbreviation (e.g. EMBR, 24TH)

  • direction: Optional 'n' or 's'

ParametersJSON Schema
NameRequiredDescriptionDefault
stationYesStation code (e.g. EMBR, 24TH)
directionNoDirection filter
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, indicating safe read-only behavior. The description adds minimal extra behavioral context beyond listing parameters; it does not disclose rate limits or caching behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise (3 lines) and front-loaded with the main purpose. Every sentence earns its place without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 params, no output schema, annotations present), the description is adequate. It covers the essential purpose and parameters, though it could mention that departures are station-specific only.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters. The description mirrors the schema without adding new meaning or format details beyond what is already provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get real-time departures from a BART station,' with a specific verb and resource. It distinguishes from sibling tools like bart_advisories (advisories) and bart_stations (station info).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly lists parameters and implies usage for real-time departures, but it does not mention when not to use this tool or alternative tools (e.g., for trip planning, use bart_trip). No exclusions or context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bart_fareBART FareA
Read-onlyIdempotent
Inspect

Get fare between two BART stations.

ParametersJSON Schema
NameRequiredDescriptionDefault
originYesOrigin station code
destinationYesDestination station code
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, covering safety and behavior. The description adds no additional behavioral context (e.g., rate limits, data freshness, or error handling), but it doesn't contradict annotations, so it meets the lower bar with minimal value added.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with zero waste, efficiently conveying the core purpose without unnecessary details, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity, rich annotations covering safety and behavior, and no output schema, the description is mostly complete. However, it lacks details on return values (e.g., fare format or units), which would be helpful since there's no output schema, slightly reducing completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with clear descriptions for origin and destination parameters. The description adds no extra meaning beyond the schema, such as station code formats or examples, so it meets the baseline of 3 without compensating for gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Get fare') and the resource ('between two BART stations'), distinguishing it from sibling tools like bart_advisories, bart_departures, bart_map, bart_stations, and bart_trip, which focus on different aspects of BART information.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for fare calculation between stations but does not explicitly state when to use this tool versus alternatives like bart_trip (which might provide broader trip details) or bart_stations (which lists stations). No exclusions or prerequisites are mentioned, leaving some ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bart_station_lookupFind BART StationsB
Read-onlyIdempotent
Inspect

Search BART stations by name, city, address, or 4-letter station code.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoOptional city filter
limitNoMaximum matches to return
queryYesStation name, city, address fragment, or code, e.g. Embarcadero, Oakland, EMBR
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the tool is already understood as safe and non-destructive. The description adds that it searches by name, city, address, or code, which is consistent but doesn't reveal additional behavioral traits like rate limits or response format. With annotations covering the safety profile, a score of 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that efficiently communicates the tool's purpose. Every word contributes value, with no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 3 parameters and no output schema. The description is brief and covers the basic search functionality, but it does not explain the return format, pagination behavior, or what station information is returned (e.g., station codes, full details). For a simple search tool, this is adequate but could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema fully documents each parameter. The description's mention of search criteria (name, city, address, or code) reiterates the query parameter description but adds no new semantic context beyond what the schema provides. Baseline 3 is correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Search BART stations by name, city, address, or 4-letter station code' clearly states the tool's function: searching for stations using various criteria. It distinguishes from sibling tools like bart_advisories (advisories) and bart_departures (departures), but the sibling bart_stations might be for listing all stations, so differentiation could be stronger.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. The description does not mention exclusions, prerequisites, or references to sibling tools. For example, it could state 'Use this to find specific stations by name/code; use bart_stations to list all.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bart_stationsList BART StationsA
Read-onlyIdempotent
Inspect

List all BART stations with abbreviation codes and locations. Use this to look up station codes needed by other tools.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering safety and behavior. The description adds value by explaining the tool's role in providing reference data for other tools, which is useful context beyond what annotations provide. No contradictions exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with zero waste: the first states the purpose, and the second provides usage guidance. It's front-loaded with essential information and appropriately sized for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with 0 parameters, rich annotations, and no output schema, the description is complete. It explains what the tool does, when to use it, and its role in the broader context, covering all necessary aspects without redundancy.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, maintaining focus on the tool's purpose and usage. Baseline is 4 for zero parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'List all BART stations with abbreviation codes and locations.' It specifies the verb ('List'), resource ('BART stations'), and scope ('all'), and distinguishes from siblings by focusing on station metadata rather than advisories, departures, fares, maps, or trips.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool: 'Use this to look up station codes needed by other tools.' This provides clear guidance that this tool is for obtaining reference data (station codes) that are prerequisites for other operations, distinguishing it from siblings that perform different functions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bart_status_summaryBART Status SummaryA
Read-only
Inspect

Summarize current BART service status from advisories and real-time alert data.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description adds minimal behavioral context beyond the data sources. It discloses that the summary synthesizes advisories and alerts, which is useful but not extensive. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that directly states the tool's purpose. It contains no filler or redundant information, earning its place fully.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with annotations covering safety, the description is mostly complete: it names the action, resource, and data sources. However, without an output schema, the description could hint at the format or content of the summary for optimal agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, and schema description coverage is 100%, so the description does not need to explain parameters. Baseline is 4, and the description meets it without adding extraneous info.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Summarize'), the resource ('current BART service status'), and the data sources ('advisories and real-time alert data'). This distinguishes it from siblings like bart_advisories (raw advisories) and bart_departures (departure times), providing a specific verb+resource combination.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for obtaining a condensed overview, but does not explicitly state when to use this tool versus alternatives like bart_advisories or bart_departures. No when-not-to-use guidance or exclusions are provided, leaving usage partially inferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bart_tripPlan BART TripA
Read-only
Inspect

Plan a trip between two BART stations. Returns schedule, fares, and transfer info.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoDate MM/DD/YYYY
timeNoDeparture time e.g. '5:30pm'
originYesOrigin station code
destinationYesDestination station code
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=true and openWorldHint=true. The description adds that the tool returns schedule, fares, and transfer info, which goes beyond annotations. It does not mention potential side effects or rate limits, but given the annotations, the description provides adequate 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, with the core purpose in the first sentence and output details in the second. No unnecessary words or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that there is no output schema, the description mentions the return contents (schedule, fares, transfer info) which is helpful. Parameter count and annotations are adequately covered. The description is mostly complete but could detail the output format more.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, meaning all parameters have descriptions. The tool description itself adds no extra parameter information beyond what the schema provides, so it meets the baseline for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it plans a trip between BART stations and returns schedule, fares, and transfer info. This is a specific verb+resource that differentiates from siblings like bart_advisories or bart_departures.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus alternatives. While the purpose is clear, no guidance is provided on when not to use it or which sibling might be better suited for related tasks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.