GeoEDGE-MCP
✨ Want to perform accurate geospatial analysis in your chatbot? ✨
Install GeoEDGE-MCP and transform your AI's spatial capabilities!
A Model Context Protocol (MCP) server implementation that connects Large Language Models (LLMs) to GIS operations using GIS libraries, enabling AI assistants to perform geospatial operations and transformations.
🌐 Website: gis-mcp.com
Current version is 0.15.0 (Beta):
We welcome contributions and developers to join us in building this project.
🎥 Demo
📋 Table of Contents
- Features
- Prerequisites
- Vibe Coding
- Installation
- Build Your First GIS AI Agent
- Available Functions
- Client Development
- Planned Features
- Contributing
- Privacy Policy
- License
- Related Projects
- Support
- Badges
🚀 Features
GeoEDGE-MCP empowers AI assistants with advanced geospatial intelligence. Key features include:
- 🔹 Comprehensive Geometry Operations – Perform intersection, union, buffer, difference, and other geometric transformations with ease.
- 🔹 Advanced Coordinate Transformations – Effortlessly reproject and transform geometries between coordinate reference systems.
- 🔹 Accurate Measurements – Compute distances, areas, lengths, and centroids precisely.
- 🔹 Spatial Analysis & Validation – Validate geometries, run proximity checks, and perform spatial overlays or joins.
- 🔹 Raster & Vector Support – Process raster layers, compute indices like NDVI, clip, resample, and merge with vector data.
- 🔹 Spatial Statistics & Modeling – Leverage PySAL for spatial autocorrelation, clustering, and neighborhood analysis.
- 🔹 Interactive Map Editor – View, draw, edit and filter your spatial data in a real map in your browser. See Map Editor below, including how it works and its security model.
- 🔹 Easy Integration – Connect seamlessly with MCP-compatible clients like Claude Desktop or Cursor IDE.
- 🔹 HTTP/SSE Transport – Run as HTTP service with RESTful storage endpoints for file upload/download operations.
- 🔹 Flexible & Extensible – Supports Python-based GIS libraries and is ready for custom tools or workflow extensions.
🌟 Tip: With GeoEDGE-MCP, your AI can now “think spatially,” unlocking new capabilities for environmental analysis, mapping, and location intelligence.
🗺 Map Editor
Ask Claude to "open the map editor" and GeoEDGE opens an interactive map in your browser where you can see your data, draw and edit features, edit attributes, and filter by attribute or location. Anything you save comes back as a named layer, so you can then just say the name in chat — "buffer survey_sites by 100 m" — with no file paths.
Free, no licence required. Viewing and editing your own data costs nothing; the licence covers the analysis tools.
How it works, and what it does with your data
To put an editable map in your browser, GeoEDGE runs a small web server on your own computer. That is a real thing to be aware of, so here is exactly what it does:
| When does it run? | Only after you ask. It starts the first time you ask to see something (visualize_data) and stops when you close the editor, after 30 minutes idle, or when Claude Desktop exits. It never starts on its own. |
| Who can reach it? | Only your computer. It binds to 127.0.0.1 (localhost) on a random port — never to a network address, and there is no setting to change that. Nothing on your network or the internet can connect to it. |
| Is it protected? | Yes. Every session mints a new random session token, and every request must present it. There is no "no token" mode. Requests are also pinned to this machine's own origin, which blocks the DNS-rebinding trick a malicious web page would otherwise use. |
| Does any data leave? | No data leaves your machine. Your spatial data is read from and written to your own storage folder and goes nowhere else. The page cannot send it anywhere — its content-security policy forbids it. |
| What about background maps? | The editor offers OpenStreetMap, aerial and satellite imagery, and you can add your own XYZ or WMS service. Your browser fetches map tiles from whichever one is selected, so that provider sees the map area you are looking at — nothing else is sent, and no tiles are fetched for a background you have not selected. |
| How does it read files? | By path. There is no upload endpoint. You tell Claude which file to import and it is read from disk, with the same path restrictions the rest of GeoEDGE uses. |
| Hosted deployments | The editor is disabled entirely when GeoEDGE runs as a hosted HTTP service. It only exists on your local desktop install. |
What it can do
- View any registered layer or file over a real basemap, click for attributes
- Draw and edit points, lines and polygons; move and delete features
- Edit attributes, and add, rename or delete columns
- Find features by attribute ("category is park and score is at least 5") and by location ("inside the flood zone", "within 500 m of the river")
- Import GeoJSON, GeoPackage, shapefiles (including zipped), KML, GPX and CSV with coordinates
- Rename layers to something you would actually say out loud
Things it deliberately will not do
- It will not quietly analyse the wrong version. While you have unsaved edits, the layer's name resolves to what is on your screen, not the older file on disk — and Claude is told the layer has unsaved changes so it can offer to save first.
- It will not overwrite your original by default. Saving creates a new layer. Overwriting takes a separate confirmation that names the file, and is refused outright if something else changed that file while you were editing.
- It will not silently shorten your data. If a layer is too large to draw in full, it says so on screen and the count it reports is the true one.
- It will not guess. A CSV with no recognisable coordinate columns, or a file with no CRS, is reported rather than assumed.
- Raster editing is not supported — the editor is vector-only.
📋 Prerequisites
- Python 3.10 or higher
- MCP-compatible client (like Claude Desktop or Cursor)
- Internet connection for package installation
Vibe Coding
If you’re building agents via vibe coding, use these context files in your editor so the LLM understands the GeoEDGE-MCP server:
llms.txt: summarized context for smaller windows.llms-full.txt: full context when your model has a larger window.
🛠 Installation
Choose the installation method that best suits your needs:
🐳 Docker Installation
GeoEDGE-MCP can be run using Docker, which provides an isolated environment with all dependencies pre-installed.
Important: Both Dockerfile and Dockerfile.local have HTTP transport mode enabled by default. The server runs on port 9010 and is accessible at http://localhost:9010/mcp.
Using Dockerfile
The main Dockerfile installs the package from PyPI:
- Build the Docker image:
docker build -t geoedge-mcp .
- Run the container (HTTP mode is enabled by default):
docker run -p 9010:9010 geoedge-mcp
Using Dockerfile.local
The Dockerfile.local installs the package from local source files (useful for development or custom builds):
- Build the Docker image:
docker build -f Dockerfile.local -t geoedge-mcp:local .
- Run the container (HTTP mode is enabled by default):
docker run -p 9010:9010 geoedge-mcp:local
The server will be available at http://localhost:9010/mcp in HTTP transport mode.
For more details on Docker configuration and environment variables, see the Docker installation guide.
📦 pip Installation
The pip installation is recommended for most users:
- Install uv package manager:
pip install uv
- Create the Virtual Environment (Python 3.10+):
uv venv --python=3.10
- Activate the Virtual Environment:
On Windows (PowerShell):
.\.venv\Scripts\Activate.ps1
On Linux:
source .venv/bin/activate
- Install the package:
uv pip install geoedge-mcp
Install with Visualization Features
To install with visualization capabilities (Folium and PyDeck for interactive maps):
uv pip install geoedge-mcp[visualize]
This will install additional dependencies:
folium>=0.15.0- For creating interactive web mapspydeck>=0.9.0- For advanced 3D visualizations
- Start the server:
gis-mcp
By default, the server runs in STDIO transport mode, which is ideal for local development and integration with Claude Desktop or Cursor IDE.
You can also run the server in HTTP transport mode for network deployments:
export GIS_MCP_TRANSPORT=http
export GIS_MCP_PORT=8080
gis-mcp
When running in HTTP or SSE transport mode, the following endpoints are available:
- MCP endpoint:
http://host:port/mcp(HTTP) orhttp://host:port/sse(SSE) - Storage endpoints:
POST /storage/upload- Upload files to server storageGET /storage/download?path=<file>- Download files from server storageGET /storage/list?path=<dir>- List files in server storage
For more details on transport modes and complete endpoint documentation, see:
Default output packaging
Spatial-analysis tools that write a result file (vector ops, raster ops,
MCDA, topology checks) default to a zipped GeoPackage (vector) or
zipped GeoTIFF (raster) whenever the caller omits output_path/
destination or gives one without a recognized extension. The zip bundles
the data file plus a small metadata.json/metadata.txt (CRS, feature/band
count, source tool, timestamp) — a single portable artifact instead of
scattered Shapefile sidecars.
Passing an explicit, recognized extension (.shp, .geojson, .gpkg,
.tif, ...) is always honored as-is with no zip wrapping. Set
GIS_MCP_DISABLE_AUTO_ZIP=1 to disable the smart default server-wide and
fall back to legacy raw-file behavior.
pip Configuration
To use the pip installation with Claude or Cursor, add the following configuration:
Claude Desktop:
Windows:
{
"mcpServers": {
"gis-mcp": {
"command": "C:\\Users\\YourUsername\\.venv\\Scripts\\gis-mcp",
"args": []
}
}
}
Linux/Mac:
{
"mcpServers": {
"gis-mcp": {
"command": "/home/YourUsername/.venv/bin/gis-mcp",
"args": []
}
}
}
Cursor IDE (create .cursor/mcp.json):
Windows:
{
"mcpServers": {
"gis-mcp": {
"command": "C:\\Users\\YourUsername\\.venv\\Scripts\\gis-mcp",
"args": []
}
}
}
Linux/Mac:
{
"mcpServers": {
"gis-mcp": {
"command": "/home/YourUsername/.venv/bin/gis-mcp",
"args": []
}
}
}
After configuration:
- Make sure to replace
YourUsernamewith your actual username - For development installation, replace
/path/to/gis-mcpwith the actual path to your project - Restart your IDE to apply the changes
- You can now use all GIS operations through Claude or Cursor!
🛠 Development Installation
For contributors and developers:
- Install uv package manager:
pip install uv
- Create the Virtual Environment:
uv venv --python=3.10
- Install the package in development mode:
uv pip install -e .
- Start the server:
python -m gis_mcp
Development Configuration
To use the development installation with Claude or Cursor, add the following configuration:
Claude Desktop:
Windows:
{
"mcpServers": {
"gis-mcp": {
"command": "C:\\path\\to\\gis-mcp\\.venv\\Scripts\\python",
"args": ["-m", "gis_mcp"]
}
}
}
Linux/Mac:
{
"mcpServers": {
"gis-mcp": {
"command": "/path/to/gis-mcp/.venv/bin/python",
"args": ["-m", "gis_mcp"]
}
}
}
Cursor IDE (create .cursor/mcp.json):
Windows:
{
"mcpServers": {
"gis-mcp": {
"command": "C:\\path\\to\\gis-mcp\\.venv\\Scripts\\python",
"args": ["-m", "gis_mcp"]
}
}
}
Linux/Mac:
{
"mcpServers": {
"gis-mcp": {
"command": "/path/to/gis-mcp/.venv/bin/python",
"args": ["-m", "gis_mcp"]
}
}
}
After configuration:
- Make sure to replace
YourUsernamewith your actual username - For development installation, replace
/path/to/gis-mcpwith the actual path to your project - Restart your IDE to apply the changes
- You can now use all GIS operations through Claude or Cursor!
🤖 Build Your First GIS AI Agent
Ready to create your own AI agent that can perform geospatial operations? Our comprehensive tutorial will guide you from zero to hero!
What You'll Learn
- ✅ How to set up the GeoEDGE-MCP server in HTTP mode
- ✅ How to build a LangChain agent from scratch
- ✅ How to connect your agent to GIS tools
- ✅ How to use OpenRouter to access multiple AI models (DeepSeek, Gemini, GPT-4, Claude, etc.)
- ✅ How to customize and extend your agent
Get Started
👉 Follow the complete tutorial →
🎥 Watch tutorials on YouTube →
The tutorial is beginner-friendly and requires no prior AI or GIS experience. You'll build a working agent that can:
- Calculate distances between points
- Transform coordinates between different systems
- Create buffers around locations
- Perform spatial analysis
- And much more!
Perfect for: Developers, data scientists, GIS professionals, and anyone interested in building AI-powered geospatial applications.
📚 Available Functions
This section provides a comprehensive list of all available functions organized by library.
🔷 Shapely Functions (29 total)
Basic Geometric Operations:
buffer- Create buffer around geometryintersection- Find intersection of two geometriesunion- Combine two geometriesdifference- Find difference between geometriessymmetric_difference- Find symmetric difference
Geometric Properties:
convex_hull- Calculate convex hullenvelope- Get bounding boxminimum_rotated_rectangle- Get minimum rotated rectangleget_centroid- Get centroid pointget_bounds- Get geometry boundsget_coordinates- Extract coordinate arrayget_geometry_type- Get geometry type name
Transformations:
rotate_geometry- Rotate geometry by anglescale_geometry- Scale geometry by factorstranslate_geometry- Move geometry by offset
Advanced Operations:
triangulate_geometry- Create triangulationvoronoi- Create Voronoi diagramunary_union_geometries- Union multiple geometries
Measurements:
get_length- Calculate geometry lengthget_area- Calculate geometry area
Validation & Utilities:
is_valid- Check geometry validitymake_valid- Fix invalid geometrysimplify- Simplify geometrysnap_geometry- Snap to reference geometrynearest_point_on_geometry- Find nearest pointnormalize_geometry- Normalize orientationgeometry_to_geojson- Convert to GeoJSONgeojson_to_geometry- Convert from GeoJSON
🔷 PyProj Functions (13 total)
Coordinate Transformations:
transform_coordinates- Transform point coordinatesproject_geometry- Project geometry between CRS
CRS Information:
get_crs_info- Get detailed CRS informationget_available_crs- List available CRS systemsget_utm_zone- Get UTM zone for coordinatesget_utm_crs- Get UTM CRS for coordinatesget_geocentric_crs- Get geocentric CRS
Geodetic Calculations:
get_geod_info- Get ellipsoid informationcalculate_geodetic_distance- Calculate distance on ellipsoidcalculate_geodetic_point- Calculate point at distance/azimuthcalculate_geodetic_area- Calculate area on ellipsoid
🔷 GeoPandas Functions (13 total)
I/O Operations:
read_file_gpd- Read geospatial file with previewwrite_file_gpd- Export GeoDataFrame to file
Join & Merge Operations:
append_gpd- Concatenate GeoDataFrames verticallymerge_gpd- Database-style attribute joinsoverlay_gpd- Spatial overlay operationsdissolve_gpd- Dissolve by attributeexplode_gpd- Split multi-part geometries
Spatial Operations:
clip_vector- Clip geometriessjoin_gpd- Spatial joinssjoin_nearest_gpd- Nearest neighbor spatial joinspoint_in_polygon- Point-in-polygon tests
🔷 Rasterio Functions (20 total)
Basic Raster Operations:
metadata_raster- Get raster metadataget_raster_crs- Get raster CRSextract_band- Extract single bandraster_band_statistics- Calculate band statisticsraster_histogram- Compute pixel histograms
Raster Processing:
clip_raster_with_shapefile- Clip raster with polygonsresample_raster- Resample by scale factorreproject_raster- Reproject to new CRStile_raster- Split into tiles
Raster Analysis:
compute_ndvi- Calculate vegetation indexraster_algebra- Mathematical operations on bandsconcat_bands- Combine single-band rastersweighted_band_sum- Weighted band combination
Advanced Analysis:
zonal_statistics- Statistics within polygonsreclassify_raster- Reclassify pixel valuesfocal_statistics- Moving window statisticshillshade- Generate hillshade from DEMwrite_raster- Write array to raster file
🔷 PySAL Functions (18 total)
Spatial Autocorrelation:
morans_i- Global Moran's I statisticgearys_c- Global Geary's C statisticgamma_statistic- Gamma indexgetis_ord_g- Global Getis-Ord G statistic
Local Statistics:
moran_local- Local Moran's Igetis_ord_g_local- Local Getis-Ord G*join_counts_local- Local join counts
Global Statistics:
join_counts- Binary join counts testadbscan- Adaptive density-based clustering
Spatial Weights:
weights_from_shapefile- Create weights from shapefiledistance_band_weights- Distance-based weightsknn_weights- K-nearest neighbors weightsbuild_transform_and_save_weights- Build, transform, and save weightsols_with_spatial_diagnostics_safe- OLS regression with spatial diagnosticsbuild_and_transform_weights- Build and transform weights
Spatial-Temporal Analysis:
spatial_markov- Spatial Markov analysis for panel datadynamic_lisa- Dynamic LISA (directional LISA) analysis
Spatial Regression:
gm_lag- GM_Lag spatial 2SLS/GMM-IV spatial lag model
🔷 Visualization Functions (2 total)
Static Map Visualization (Matplotlib/GeoPandas):
create_map– Generate high-quality static maps (PNG, PDF, JPG) from multiple geospatial data sources including shapefiles, rasters, WKT geometries, and coordinate arrays. Supports multiple layers with individual styling options, legends, titles, and grid overlays.
Interactive Web Map Visualization (Folium):
create_web_map– Generate interactive HTML maps using Folium with layer controls, legends, scale bars, dynamic titles, tooltips, and minimap. Supports vector layers (shapefile/GeoJSON/WKT/GeoDataFrame) and raster layers (GeoTIFF, auto-reprojected to WGS84, single-band+colormap by default or explicit RGB viastyle={"bands": [r, g, b]}), plus a registered layer name (seeregister_layer) in place of a raw path. Multiple basemap options and responsive design for web browsers.
Visualize your results
After a spatial-analysis tool finishes, its response includes a visualize_hint field suggesting you ask whether the user wants to see the result on a map, then call create_web_map with the output path or layer_name from that same response — e.g.:
{"status": "success", "output_path": "...", "layer_name": "compute_ndvi_20260705_...", "visualize_hint": "Ask the user if they'd like to see this result on an interactive map..."}
create_web_map(layers=[{"data": "compute_ndvi_20260705_...", "style": {"cmap": "RdYlGn", "vmin": -1, "vmax": 1}}])
🔷 Administrative Boundaries Functions (1 total)
Boundary Download:
download_boundaries- Download GADM administrative boundaries and save as GeoJSON
🔷 Climate Data Functions (1 total)
Climate Data Download:
download_climate_data- Download climate data (ERA5 or other CDS datasets)
🔷 Ecology Data Functions (2 total)
Ecology Data Download and Info:
get_species_info– Retrieve taxonomic information for a given species namedownload_species_occurrences– Download occurrence records for a given species and save as JSON
🔷 Movement Data Functions (2 total)
Movement Data Download and Routing (via OSMnx):
download_street_network– Download a street network for a given place and save as GraphMLcalculate_shortest_path– Calculate the shortest path between two points using a saved street network
🔷 Land Cover Data Functions (2 total)
Land Cover from Planetary Computer:
download_worldcover– Download ESA WorldCover for AOI/year; optional crop and reprojectioncompute_s2_ndvi– Compute NDVI from Sentinel-2 L2A; crop and reprojection supported
🔷 Satellite Imagery Functions (1 total)
STAC-based Satellite Download:
download_satellite_imagery– Download and stack bands from STAC items (e.g., Sentinel-2, Landsat), with optional crop and reprojection
Total Functions Available: 92
🛠 Client Development
Example usage of the tools:
Buffer Operation
Tool: buffer
Parameters: {
"geometry": "POINT(0 0)",
"distance": 10,
"resolution": 16,
"join_style": 1,
"mitre_limit": 5.0,
"single_sided": false
}
Coordinate Transformation
Tool: transform_coordinates
Parameters: {
"coordinates": [0, 0],
"source_crs": "EPSG:4326",
"target_crs": "EPSG:3857"
}
Geodetic Distance
Tool: calculate_geodetic_distance
Parameters: {
"point1": [0, 0],
"point2": [10, 10],
"ellps": "WGS84"
}
Static Map Creation
Tool: create_map
Parameters: {
"layers": [
{
"data": "buildings.shp",
"style": {"label": "Buildings", "color": "red", "alpha": 0.7}
},
{
"data": "roads.shp",
"style": {"label": "Roads", "color": "black", "linewidth": 1}
}
],
"filename": "city_analysis",
"filetype": "png",
"title": "City Infrastructure Analysis",
"show_grid": true,
"add_legend": true
}
Interactive Web Map Creation
Tool: create_web_map
Parameters: {
"layers": [
{
"data": "buildings.shp",
"style": {"label": "Buildings", "color": "red"}
},
{
"data": "parks.geojson",
"style": {"label": "Parks", "color": "green"}
}
],
"filename": "city_interactive.html",
"title": "City Infrastructure Map",
"basemap": "CartoDB positron",
"show_grid": true,
"add_legend": true,
"add_minimap": true
}
🔮 Planned Features
- Implement advanced spatial indexing
- Implement network analysis capabilities
- Add support for 3D geometries
- Implement performance optimizations
- Add support for more GIS libraries
🤝 Contributing
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Please ensure your PR description clearly describes the problem and solution. Include the relevant issue number if applicable.
🔒 Privacy Policy
GeoEDGE-MCP collects only what is needed to validate your subscription — a random device identifier and your licence key's activation history — never your GIS data, your files, or your conversation content. Your tool-call history is written to your own storage folder and is never transmitted to us. When a tool fetches data on your behalf, that request goes directly from your machine to the service you pointed it at.
Full policy: https://mcp.geoedge.com.au/privacy
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🔗 Related Projects
| Project Name | Category | Description |
|---|---|---|
| Model Context Protocol | MCP Related | The core MCP Specification |
| FastMCP | MCP Related | The fast, Pythonic way to build MCP servers and clients |
| Shapely | Geospatial Analysis | Python package for manipulation and analysis of geometric objects |
| PyProj | Geospatial Analysis | Python interface to PROJ library |
| GeoPandas | Geospatial Analysis | Python package for working with geospatial data |
| Rasterio | Geospatial Analysis | Python package for reading and writing geospatial raster data |
| Fiona | Geospatial Analysis | Python interface to OGR library for reading and writing vector geospatial data formats |
| PySAL | Geospatial Analysis | Python spatial analysis library for geospatial data science |
| Folium | Visualization | Python library for creating interactive web maps using Leaflet.js |
| PyDeck | Visualization | Python library for creating advanced 3D visualizations and interactive maps |
| Matplotlib | Visualization | Python plotting library for creating static maps and visualizations |
| cdsapi | Geospatial Data Collecting | Python API to access the Copernicus Climate Data Store (CDS) |
| pygadm | Geospatial Data Collecting | Easy access to administrative boundary defined by GADM from Python scripts |
| pygbif | Geospatial Data Collecting | Python client for the GBIF API (ecology and biodiversity data) |
| OSMnx | Geospatial Data Collecting | Python package for downloading, modeling, and analyzing street networks and urban features from OpenStreetMap |
| pystac-client | Geospatial Data Collecting | Python client for STAC catalogs; search and access spatiotemporal assets |
| Planetary Computer SDK for Python | Geospatial Data Collecting | Python SDK for Microsoft Planetary Computer; auth and helpers for STAC/COGs |
🔗 Related MCP Servers
| Server Name | Description |
|---|---|
| GeoServer MCP | A Model Context Protocol (MCP) server implementation that connects LLMs to the GeoServer REST API |
📞 Support
For support, please open an issue in the GitHub repository.
💬 Community
Join our Discord community for discussions, updates, and support:
👥 Contributors
Made with contrib.rocks.
🏆 Badges
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file geoedge_mcp-1.0.0.tar.gz.
File metadata
- Download URL: geoedge_mcp-1.0.0.tar.gz
- Upload date:
- Size: 661.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a81b4337faca6059c6ccfe97ed8cc54cdd0f63532b802d0be7e62f7d209196db
|
|
| MD5 |
21fcc7e8b4a261233b9230498c590b02
|
|
| BLAKE2b-256 |
27b5bde0f48c1b199f5cecff6a5eb8dfcdbf7020558579771125959228ffbc24
|
Provenance
The following attestation bundles were made for geoedge_mcp-1.0.0.tar.gz:
Publisher:
publish.yml on GeoEDGE-git/geoedge-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
geoedge_mcp-1.0.0.tar.gz -
Subject digest:
a81b4337faca6059c6ccfe97ed8cc54cdd0f63532b802d0be7e62f7d209196db - Sigstore transparency entry: 2340352032
- Sigstore integration time:
-
Permalink:
GeoEDGE-git/geoedge-mcp@f986be1a7f952b5282f0ee54bb5e55a82852a360 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/GeoEDGE-git
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f986be1a7f952b5282f0ee54bb5e55a82852a360 -
Trigger Event:
release
-
Statement type:
File details
Details for the file geoedge_mcp-1.0.0-py3-none-any.whl.
File metadata
- Download URL: geoedge_mcp-1.0.0-py3-none-any.whl
- Upload date:
- Size: 510.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ad3c6c48f9da53dde0ed29b72d861202547656bb0df8ec9111bb3ee61704128
|
|
| MD5 |
84e2841c88f164fd000bcdb8778d25c7
|
|
| BLAKE2b-256 |
222300325169daaa9bc9c7b20463f66077c9274577bd6d8494020ccbb85dc1ca
|
Provenance
The following attestation bundles were made for geoedge_mcp-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on GeoEDGE-git/geoedge-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
geoedge_mcp-1.0.0-py3-none-any.whl -
Subject digest:
7ad3c6c48f9da53dde0ed29b72d861202547656bb0df8ec9111bb3ee61704128 - Sigstore transparency entry: 2340352077
- Sigstore integration time:
-
Permalink:
GeoEDGE-git/geoedge-mcp@f986be1a7f952b5282f0ee54bb5e55a82852a360 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/GeoEDGE-git
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f986be1a7f952b5282f0ee54bb5e55a82852a360 -
Trigger Event:
release
-
Statement type: