Rasterflow, Earth Intelligence & inference engine now in public preview Learn More

It takes 15 minutes for the Caltrain to get from Sunnyvale to SAP Center

Authors

mcp server header image

That’s how long it took our MCP server to go from “how many bus stops are in Maryland” to an answer

I’ve been doing a lot of reading lately on how AI is going to transform spatial workloads and that curiosity led me to this post on geoMusings. Here, Bill is demonstrating how Claude Code and agent skills capabilities can be used to wire up a chat-to-query-results interface in a few hours. He showcased the new skill by getting the agent to query his local Postgres instance for the number of Metro bus stops in Maryland, which returned a precise 4,563.

I need to count the number of records in the metro_bus_stops table that are inside Maryland.The database is at localhost:5432, database name is “dev”,user “postgres” with password “postgres”.
Points table: public.metro_bus_stops (geometry column: geom, id column: id)Polygons table: public.maryland_boundary (geometry column: geom, name column: name)

As a dabbler of AI agents and a minor contributor to Wherobots’ very own MCP server, I immediately wondered how our MCP server would do against such a challenge. So I fired up my VS Code and just straight up asked:

How many bus stops are in Maryland?

Bear in mind, at the time I did not know if we have any data with bus stops in it in Wherobots’ data catalogs, I did not know what shape that data was in, I did not know if the MCP server could come up with a reasonable administrative boundary for Maryland, etc. And I fired off this query just as my CalTrain was departing Sunnyvale station.

In about 5 minutes, the MCP server already identified two tables with bus stop information called places_place under the Overture Maps Foundation database in Wherobots Open Catalog. It achieved that by exploring our catalog and running sample queries against those tables to find the right data; all with zero human intervention. We are right about Lawrence Station at the point.

In the next 5 minutes, the MCP server ran a series of queries against that table, self-identified errors (i.e., got 0 results and understood it was not expected), adjusted the query, switched tables, changed approaches until it was able to produce actual results. Our MCP server believes there are 19,740 bus stops in Maryland which is ~5 times as many as Bill’s post suggests. We just got to Santa Clara station, by the way, for those of you who are still following.

So being a good aspiring data engineer, I challenged the MCP server:

Why does this blog think there are only 4563 then?
https://blog.geomusings.com/2026/01/14/spatial-analysis-with-claude-code/ 

The MCP server went back to work and gave me the diagnosis; Bill’s query is focused on Metro bus stops and my original question did not specify that:

So in the last 5 minutes of this journey, I asked it to focus on Washington Metropolitan Area Transit Authority (WMATA) bus stops only and see what it comes up with! And just as we were about to pull into San Jose Diridon Station, the MCP server told me that there are 6,224 Metro bus stops in Maryland. 

Now, whether there are 4,563 Metro bus stops in Maryland or 6,224 ones, is a matter that shall be validated with people far more knowledgeable than myself on buses and their stops. The main point is that AI is making it possible for non-experts like myself to go from a question (expressed in natural language) to real insights in minutes (well a 15-minute train ride to be precise). Wherobots MCP is giving the AI the ability to answer questions about the real-world. 

In the real world, I would have asked the MCP server to generate a Notebook for me to reproduce this output and plot it on a map. I would then share that with my colleague to help me validate, correct and optimize my findings. What would have taken days to weeks (to go from theory to some early explorations to a shareable PoC and, finally, to production-quality code) can now be achieved in a matter of hours. 

The Caltrain experiment was just one question. In our recent office hours, we walked through the MCP server end to end, showing how it explores catalogs, generates spatial queries, debugs errors, and produces reproducible outputs. See the full workflow in action.

Want to get started with our MCP server? Check out our getting started guide. It takes less than 5 minutes to configure the server and start chatting with the physical world! 

Create your account to get started

Key takeaways

  • On a Caltrain ride from Sunnyvale to San Jose Diridon (~15 minutes), the author asked the Wherobots MCP server in VS Code 'How many bus stops are in Maryland?' with no prior knowledge of whether the catalog had bus-stop data or a Maryland boundary.
  • In about five minutes (around Lawrence Station) the MCP server identified places_place under Overture Maps in the Wherobots Open Catalog by exploring the catalog and running sample queries, with zero human intervention.
  • In the next five minutes it self-identified errors (including 0-result queries), adjusted SQL, switched tables, and produced 19,740 bus stops in Maryland — about 5× the 4,563 Metro bus stops in Bill Dollins' geoMusings Claude Code post. When challenged with that post, it diagnosed that Bill's query was Metro-only.
  • In the last five minutes, constrained to WMATA, it returned 6,224 Metro bus stops in Maryland. The author states those counts still need validation by people who know buses; the point is natural-language to insight in minutes. A notebook for validation is described as what they would do in a real workflow.

Frequently Asked Questions

Can the Wherobots MCP server answer spatial questions without knowing the catalog?

In this experiment, yes. The author did not know if Wherobots had bus-stop data or a Maryland boundary. The MCP server explored the Open Catalog, found Overture places_place, ran sample queries, recovered from 0-result errors, and produced an answer during a 15-minute train ride.

How many bus stops are in Maryland according to this post?

The MCP server first returned 19,740 bus stops in Maryland from Overture places. After the author pointed it at a geoMusings post that counted 4,563 Metro bus stops, it diagnosed the filter difference and, asked to focus on WMATA only, returned 6,224. The author says which number is ‘right’ should be validated by people more knowledgeable about buses; the post is about time-to-insight, not a definitive stop inventory.

How long does it take to set up the Wherobots MCP server?

The post says the getting-started guide takes less than 5 minutes to configure the server and start chatting with the physical world.

What would a production version of this MCP experiment look like?

The author would have asked the MCP server to generate a notebook, plot results on a map, and share it with a colleague to validate, correct, and optimize. Work that would have taken days to weeks (theory to PoC to production-quality code) is described as achievable in hours.