Skip to main content

MCP server for Mighty Spatial's IFC-to-GIS conversion API

Project description

Mighty Spatial MCP Server

An MCP (Model Context Protocol) server that provides tools for converting IFC (BIM) files to GIS formats using the Mighty Spatial API.

Try it in the browser: Web Converter | API Docs | Dashboard

Pricing

Tier Conversions Max File Size Price
Free 5/month 50 MB Free
Pro Pay-as-you-go 500 MB $0.50/conversion
Enterprise Custom Custom Contact us

Get your API key at mightyspatial.com/dashboard.

Python SDK

For programmatic access outside of MCP, install the Python SDK:

pip install mightyspatial

Features

  • convert_ifc - Convert IFC files to GeoJSON, GeoPackage, Shapefile, or FileGDB
  • list_formats - List supported output formats and tier requirements
  • preview_ifc - Upload and preview an IFC file, returning layer summaries
  • generate_pipes - Generate 3D pipe geometry from polyline layers

Installation

cd mcp-server
pip install -e .

Or with uv:

cd mcp-server
uv pip install -e .

Configuration

Set these environment variables as needed:

Variable Description Default
MIGHTY_SPATIAL_API_URL API base URL https://mightyspatial.com/api
MIGHTY_SPATIAL_API_KEY API key for authenticated access (none - uses free tier)

Claude Desktop Setup

Add this to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

Using uv (recommended)

{
  "mcpServers": {
    "mightyspatial": {
      "command": "uv",
      "args": [
        "run",
        "--directory", "/path/to/mightyspatial-web/mcp-server",
        "mightyspatial-mcp"
      ],
      "env": {
        "MIGHTY_SPATIAL_API_KEY": "your-api-key-here"
      }
    }
  }
}

Using pip

{
  "mcpServers": {
    "mightyspatial": {
      "command": "mightyspatial-mcp",
      "env": {
        "MIGHTY_SPATIAL_API_KEY": "your-api-key-here"
      }
    }
  }
}

Usage Examples

Once configured, you can ask Claude things like:

  • "Convert this IFC file to GeoPackage" (provide a URL or local path)
  • "Preview the layers in my IFC file at /path/to/building.ifc"
  • "What output formats does Mighty Spatial support?"
  • "Generate 3D pipe geometry from the polyline layer in my previewed file"

Tool Reference

list_formats

No parameters required. Returns supported formats with tier info.

convert_ifc

Parameter Type Required Description
file_url string one of url/path URL to download the IFC file from
file_path string one of url/path Local path to the IFC file
output_format string no geojson (default), geopackage, shapefile, filegdb
target_epsg string no EPSG code, e.g. EPSG:28356
strip_prefix string no Prefix to strip from entity names
strip_suffix string no Suffix to strip from entity names
include_csv bool no Include CSV attribute tables

preview_ifc

Parameter Type Required Description
file_url string one of url/path URL to download the IFC file from
file_path string one of url/path Local path to the IFC file
source_crs string no EPSG code for the source CRS

generate_pipes

Parameter Type Required Description
job_id string yes Job ID from a previous preview_ifc call
source_layer string yes Name of the polyline layer
diameter_field string no Attribute field with pipe diameters
config_field string no Attribute field with pipe configuration
uom string no Unit of measurement: mm, m, in, ft (default: mm)
default_diameter float no Default diameter (default: 300)
centerline_mode string no centerline or invert (default: centerline)
bank_centerline_mode string no centerline or invert (default: centerline)
bank_stack_direction string no bottomUp or topDown (default: bottomUp)
bank_gap float no Gap between pipes in a bank (default: 50)

Development

# Run the server directly
uv run mightyspatial-mcp

# Test with MCP inspector
npx @modelcontextprotocol/inspector uv run mightyspatial-mcp

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mightyspatial_mcp-0.1.0.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mightyspatial_mcp-0.1.0-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file mightyspatial_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: mightyspatial_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for mightyspatial_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2e62e2c3e711e01ccc555df64ed0fb08417163e1c54775cc36032914d26c7426
MD5 0fc29dd39f9e252ec452d3b9e783b3e1
BLAKE2b-256 c2b6d3f5384676f4323672ada2f5782855ca24106a25b265b8e108b41deac577

See more details on using hashes here.

File details

Details for the file mightyspatial_mcp-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mightyspatial_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e6f99ef642d7f5eec524bd29e9f374b877090e0f9dec81eda3ccc5aba23ff2d2
MD5 297dd8b8c5c9e999339da69de6c375ce
BLAKE2b-256 e0458d73e95dfadff48b74af54a0d710074d3af54da26dc31fb0794c3d764b0c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page