macrostrat mcp

Local 2025-08-31 23:24:52 0

Enables Claude to query comprehensive geologic data from the Macrostrat API, including geologic units, columns, minerals, and timescales through natural language.


Claude MCP server for Macrostrat API

smithery badge

Macrostrat Server MCP server

An MCP server implementation for providing access to the Macrostrat API within Claude Desktop.

Overview

This Model Context Protocol (MCP) server enables AI assistants and applications to:

  • Query comprehensive geologic data and information provided by the Macrostrat API
  • Access geologic units, columns, minerals, timescales, and more
  • Analyze geologic data to improve geological understanding
  • Create graphics and perform data analysis from the data

Users can run queries using natural language.

Sample Output

Q. What is the geologic history of Nashville, TN?

A. Let me check the geological data for Nashville's location.

View Result from find-units from macrostrat (local)

{
  "lat": 36.1627,
  "lng": -86.7816,
  "responseType": "long"
}

Geological History of Nashville, Tennessee

  1. Mesoproterozoic Basement (1.6-1.1 billion years ago)
  2. Igneous basement rocks (granite and rhyolite)
  3. Part of the ancient North American craton

  4. Early-Middle Cambrian (518-504 million years ago)

  5. Rome Formation: Mixed carbonate-siliciclastic sediments
  6. Shallow marine environment
  7. Part of the developing continental shelf

  8. Middle-Late Cambrian (504-498 million years ago)

  9. Conasauga Formation: Limestone and mixed sediments
  10. Continued marine deposition
  11. Alternating limestone and shale indicating fluctuating sea levels

  12. Late Cambrian-Early Ordovician (498-470 million years ago)

  13. Knox Dolomite: Massive dolomite sequence
  14. Extensive shallow marine platform
  15. Up to 1,200 meters thick
  16. Represents long period of stable marine conditions

  17. Middle-Late Ordovician (470-443 million years ago) Several important formations:

  18. Stones River Group (including Murfreesboro, Pierce, Lebanon Limestones)
  19. Nashville Group (including Hermitage, Bigby-Cannon, Catheys Formations)
  20. Primarily limestone deposits
  21. Rich in fossils
  22. Shallow marine environment
  23. Multiple cycles of sea level change

  24. Early-Middle Silurian (443-423 million years ago)

  25. Brassfield through Decatur Formations
  26. Continued marine limestone deposition
  27. Various marine environments from shallow to deeper water

  28. Middle Devonian-Early Mississippian (390-357 million years ago)

  29. Pegram Formation through Chattanooga Shale
  30. Shift to more clastic (shale) deposition
  31. Chattanooga Shale represents deeper, oxygen-poor conditions

  32. Early-Late Mississippian (357-331 million years ago) Several limestone formations:

  33. Fort Payne Formation
  34. Warsaw Limestone
  35. St. Louis Limestone
  36. Monteagle Limestone
  37. Hartselle Formation
  38. Return to carbonate platform conditions
  39. Diverse marine environments

  40. Cenozoic to Present

  41. Long period of erosion and exposure
  42. Development of the current landscape
  43. Formation of the Nashville Dome structure
  44. River and stream deposits

Key Features

  • The area was predominantly a marine environment for most of its geological history
  • Dominated by limestone formations indicating warm, shallow seas
  • Multiple cycles of sea level change
  • Rich fossil record, especially in Ordovician rocks
  • Part of the Nashville Dome structural feature
  • Long periods of erosion have removed younger rocks
  • Current topography shaped by differential erosion of various limestone units

Present Day Bedrock

The bedrock of Nashville today consists primarily of Ordovician limestone formations exposed at the surface, particularly the Stones River and Nashville Group limestones. These rocks are well exposed in many areas and have influenced the development of local karst topography, including caves and sinkholes that are common in the region.

Installation

Installing via Smithery

To install Macrostrat API Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @blake365/macrostrat-mcp --client claude

Extra Steps

If you want to make changes to the server you can do so by editing the src/index.ts file. - Run npm install to install dependencies - Run npm run build to build the server - Quit and restart Claude Desktop after making changes

Connecting with Claude Desktop

  1. Open your Claude Desktop configuration at:
  2. macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  3. Windows: %APPDATA%Claudeclaude_desktop_config.json

  4. Add the server configuration:

    {
        "mcpServers": {
            "macrostrat": {
                "command": "node",
                "args": [
                    "/Full/Route/to/Folder/macrostrat/build/index.js"
                ]
            }
        }
    }

  5. Close/Quit then restart Claude Desktop

Once you restart you should see a small hammer icon in the lower right corner of the textbox. If you hover over the icon you'll see the number of MCP tools available.

Troubleshooting

If you get errors when running the server you may need to provide the full path to the node command. For example, on macOS: /usr/local/bin/node

[
  {
    "description": "Query Macrostrat stratigraphic columns",
    "inputSchema": {
      "properties": {
        "adjacents": {
          "description": "Include adjacent columns",
          "type": "boolean"
        },
        "lat": {
          "description": "A valid latitude in decimal degrees",
          "type": "number"
        },
        "lng": {
          "description": "A valid longitude in decimal degrees",
          "type": "number"
        },
        "responseType": {
          "default": "long",
          "description": "The length of response long or short",
          "enum": [
            "long",
            "short"
          ],
          "type": "string"
        }
      },
      "required": [
        "lat",
        "lng",
        "responseType"
      ],
      "type": "object"
    },
    "name": "find-columns"
  },
  {
    "description": "Query Macrostrat geologic units",
    "inputSchema": {
      "properties": {
        "lat": {
          "description": "A valid latitude in decimal degrees",
          "type": "number"
        },
        "lng": {
          "description": "A valid longitude in decimal degrees",
          "type": "number"
        },
        "responseType": {
          "default": "long",
          "description": "The length of response long or short. Long provides lots of good details",
          "enum": [
            "long",
            "short"
          ],
          "type": "string"
        }
      },
      "required": [
        "lat",
        "lng",
        "responseType"
      ],
      "type": "object"
    },
    "name": "find-units"
  },
  {
    "description": "Routes giving access to standard fields and dictionaries used in Macrostrat",
    "inputSchema": {
      "properties": {
        "endpoint": {
          "description": "The endpoint to query",
          "enum": [
            "lithologies",
            "structures",
            "columns",
            "econs",
            "minerals",
            "timescales",
            "environments",
            "strat_names",
            "measurements",
            "intervals"
          ],
          "type": "string"
        },
        "parameters": {
          "description": "parameters to pass to the endpoint",
          "type": "string"
        }
      },
      "required": [
        "endpoint",
        "parameters"
      ],
      "type": "object"
    },
    "name": "defs"
  },
  {
    "description": "Quickly retrieve all definitions matching a query. Limited to 100 results",
    "inputSchema": {
      "properties": {
        "query": {
          "description": "the search term",
          "type": "string"
        }
      },
      "required": [
        "query"
      ],
      "type": "object"
    },
    "name": "defs-autocomplete"
  },
  {
    "description": "Get information about a mineral, use one property",
    "inputSchema": {
      "properties": {
        "element": {
          "description": "An element that the mineral is made of",
          "type": "string"
        },
        "mineral": {
          "description": "The name of the mineral",
          "type": "string"
        },
        "mineral_type": {
          "description": "The type of mineral",
          "type": "string"
        }
      },
      "type": "object"
    },
    "name": "mineral-info"
  },
  {
    "description": "Get information about a time period",
    "inputSchema": {
      "properties": {
        "age": {
          "type": "number"
        }
      },
      "type": "object"
    },
    "name": "timescale"
  }
]