About mcp-server-proj MCP server
mcp-server-proj provides coordinate transformations and map-projection operations for developers and geospatial workflows. It accepts EPSG codes, WKT, and Proj strings, and can run as an MCP server or a library.
Key features
- 01Transform coordinates between systems
- 02Support EPSG, WKT, and Proj formats
- 03Batch coordinate transformation
- 04List supported coordinate systems
- 05Server and library modes
Use cases
- 01Convert points between EPSG systems
- 02Transform batches of geographic coordinates
- 03Check supported coordinate systems
MCP support
The MCP server exposes tools to transform coordinates between coordinate systems and list supported systems.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP Server PROJ
A Model Context Protocol (MCP) server for coordinate system transformations and map projections.
Features
- Multiple coordinate system format support:
- EPSG codes
- WKT (Well-Known Text)
- Proj string format
- Batch coordinate transformation
- Simple and intuitive API
- Dual-mode operation: server or library
Installation
pip install mcp-server-proj
Usage
Server Mode
mcp-server-proj
Library Mode
from mcp_server_proj import CoordinateTransformer
# Create transformer instance
transformer = CoordinateTransformer()
# Set source and target coordinate systems
transformer.set_source_crs("EPSG:4326") # WGS84
transformer.set_target_crs("EPSG:3857") # Web Mercator
# Initialize transformer
transformer.initialize_transformer()
# Transform coordinates
x, y = transformer.transform_point(116.3, 39.9)
print(f"Transformed coordinates: ({x}, {y})")
API Documentation
CoordinateTransformer
The main coordinate transformation class provides the following methods:
set_source_crs(crs: str): Set source coordinate systemset_target_crs(crs: str): Set target coordinate systeminitialize_transformer(): Initialize the transformertransform_point(x: float, y: float) -> tuple[float, float]: Transform a single point
Server
The MCP protocol server provides two tools:
-
transform-coordinates: Transform coordinates between different systems{ "source_crs": "EPSG:4326", "target_crs": "EPSG:3857", "coordinates": [ {"x": 116.3, "y": 39.9} ] } -
list-supported-crs: List all supported coordinate systems
Supported Coordinate Systems
1. EPSG Codes
Standard identifiers for coordinate reference systems:
- EPSG:4326 - WGS84 Geographic
- EPSG:3857 - Web Mercator
- And many more...
2. WKT Format
Example of a geographic coordinate system:
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.257223563]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433]]
3. Proj Format
Example of WGS84:
+proj=longlat +datum=WGS84 +no_defs +type=crs
Development
Debugging
For the best debugging experience, use the MCP Inspector:
npx @modelcontextprotocol/inspector mcp-server-proj
Dependencies
- Python >= 3.12
- mcp >= 1.3.0
- pyproj >= 3.0.0
License
MIT
Author
radial-hks ([email protected])
Contributing
Issues and Pull Requests are welcome!
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.