Today, I was completely immersed in developing an MCP server for ArcGIS Location Services, to the point of practically skipping meals and breaks. By the end of the workday, I had finally built a simple, functional version. In the evening, I also tried submitting it to Smithery, though I still need to figure out how to properly use the deployed server—something I’ll dig into later.
Throughout the development process, I used uv to manage the Python project. The implementation was based on the ArcGIS Services Postman Collection, and I relied heavily on conversations with Claude and the Edit Mode in Cursor to guide my work. One of the trickiest parts was that the Postman Collection didn’t provide complete parameter details to the LLM, which led to a lot of misconfigured requests that took quite a bit of time to debug.
I used Claude Desktop as an MCP Client to test the server and found that using conversational prompts to drive the LLM for testing was a surprisingly fun experience. However, debugging wasn’t the most convenient, so I’m planning to try out the MCP Inspector to streamline the process going forward.
This morning, I also joined the CUGB Beijing Alumni Soccer Team group chat. The admin was super welcoming and gave me a great intro to the team, along with some useful info. I signed up to play in a match this Saturday afternoon—looking forward to getting out on the field and meeting everyone.
In the evening, the On Running shoes Xiaoyan ordered for me arrived. The fit was perfect, and I really liked how they felt—so much so that I kept walking around the house in them all night. Later on, Hamer and I put up some immersive English-language stickers around the house for speaking practice. It was a fun little parent-child activity.