TL;DR — I built a “Rosetta Stone” for Model Context Protocol (MCP) geocoding tools, showing how to create the same tool in Python (x2) and TypeScript, all with Claude Desktop integration.
⸻
🧭 Why I Built This
I’m exploring how to build real, useful AI-connected tools using Claude Desktop and MCP, and I wanted to compare:
• 🐍 Python with urllib (manual API calls)
• 🐍 Python with googlemaps SDK
• ⚡ Node.js/TypeScript with @googlemaps/google-maps-services-js
All three versions expose the same geocode tool, which takes an address and returns its latitude and longitude from the Google Maps Geocoding API.
⸻
🧪 Live Repo
📦 GitHub: richardschrammcom/mcp-geocoder-rosetta
⸻
🛠️ What’s Inside
Each implementation includes:
• A minimal mcp.tool()-compatible server
• .env-based config for easy API key swapping
• Instructions to run via uv, tsx, or directly
• Claude Desktop config block (so you can plug & play)
⸻
🧠 Why MCP?
If you haven’t looked into Model Context Protocol, it’s the spec that powers Claude’s ability to call external tools. It’s like a programmable memory extension — and it’s a big deal for app developers building agent-based or plug-in-style tools.
⸻
🔍 Use Cases
This repo is great for:
• Learning MCP without getting lost in abstract docs
• Testing Claude tool integrations locally
• Comparing SDK usage across languages
• Starting your own Claude-compatible tool servers
⸻
⚙️ What’s Next
I’m experimenting with MCP agents, workflow chaining, and more complex tool/resource pairings.
Follow me here if you’re also exploring this space — or fork the repo and try building your own tool!
Happy geocoding,
Richard Schramm
GitHub · LinkedIn
Top comments (0)