MCP Geocoder Rosetta

by richardschrammcom

112 downloads
Not rated
GitHub

About

A "rosetta stone" repo that shows creating simple geocoder MCP servers in python (with googlemaps sdk and direct googlemaps API with urllib) and typescript. CLI clients and documentation on adding them to Claude Desktop App.

Details

Author
richardschrammcom
Downloads
112
Categories
Developer Tools

- Three geocoder implementations (Python urllib, Python Google Maps SDK, TypeScript)
- Minimal dependencies option using Python standard library
- Supports integration with Claude Desktop via MCP
- Includes debugging scripts and server/client separation modes
- Warns against installing multiple implementations simultaneously

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name MCP Geocoder Rosetta
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Clone the repository, set the GOOGLE_MAPS_API_KEY environment variable, install the MCP CLI, and run one of the test scripts such as python run_geocoder.py <implementation>. The three implementations can be configured individually for integration with Claude Desktop via claude_desktop_config.json.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "mcp geocoder rosetta": {
            "mcp-geocoder-rosetta": {
                "command": "uv",
                "args": [
                    "pip",
                    "install",
                    "mcp[cli]"
                ]
            }
        }
    }
}

McpServers

{
    "mcp-geocoder-rosetta": {
        "command": "uv",
        "args": [
            "pip",
            "install",
            "mcp[cli]"
        ]
    }
}

MCP Geocoder Rosetta

A collection of Model Context Protocol (MCP) geocoder implementations in different languages and using different approaches. This repository serves as a "Rosetta Stone" for developers looking to create their own MCP tools.

What is MCP?

The Model Context Protocol (MCP) is a protocol for tools to interact with AI models, allowing AIs to perform actions in the real world, like making API calls or accessing databases. MCP provides a standardized way for AI models to use tools and for developers to create these tools.

Implementations

This repository contains three different implementations of a geocoding tool using Google Maps API:

1. Python + urllib - Uses Python's standard library without additional dependencies
2. Python + Google Maps SDK - Uses the official Google Maps Python client
3. TypeScript + Google Maps SDK - Uses TypeScript and the Google Maps JavaScript client

Comparison of Implementations

| Feature | Python + urllib | Python + Google Maps SDK | TypeScript + Google Maps SDK |
|---------|----------------|------------------------|----------------------------|
| Dependencies | Minimal (standard library) | googlemaps, mcp | @googlemaps/google-maps-services-js, @mcp/sdk |
| Setup Complexity | Simple | Medium | Medium |
| Error Handling | Basic | Enhanced | Enhanced |
| Code Size | Small | Medium | Medium |
| SDK Advantage | None - direct API calls | Type handling, validation | Type safety, Promise API |

Prerequisites

- Google Maps API key (Get one here)
- Python 3.13+ (for Python implementations)
- Node.js 16+ (for TypeScript implementation)
- MCP CLI tools

Setup

1. Clone the repository:

git clone https://github.com/yourusername/mcp-geocoder-rosetta.git
cd mcp-geocoder-rosetta

2. Set up your Google Maps API key:

```bash
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.