Skip to main content
Glama
blake365

Macrostrat MCP Server

by blake365

macrostrat-mcp

MCP server for Macrostrat API

npm version

An MCP server providing access to the Macrostrat API from Claude Desktop, Claude Code, and any other MCP client.

npx -y macrostrat-mcp

No API key required — the Macrostrat API is free and public.

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

  • Get geologic map tiles that the LLM can interpret (questionable utility, but might be useful for some applications)

  • Analyze geologic data to improve geological understanding

  • Create graphics and perform data analysis from the data

Users can run queries using natural language.

Related MCP server: Qlik MCP Server

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)

  • Igneous basement rocks (granite and rhyolite)

  • Part of the ancient North American craton

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

  • Rome Formation: Mixed carbonate-siliciclastic sediments

  • Shallow marine environment

  • Part of the developing continental shelf

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

  • Conasauga Formation: Limestone and mixed sediments

  • Continued marine deposition

  • Alternating limestone and shale indicating fluctuating sea levels

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

  • Knox Dolomite: Massive dolomite sequence

  • Extensive shallow marine platform

  • Up to 1,200 meters thick

  • Represents long period of stable marine conditions

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

  • Stones River Group (including Murfreesboro, Pierce, Lebanon Limestones)

  • Nashville Group (including Hermitage, Bigby-Cannon, Catheys Formations)

  • Primarily limestone deposits

  • Rich in fossils

  • Shallow marine environment

  • Multiple cycles of sea level change

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

  • Brassfield through Decatur Formations

  • Continued marine limestone deposition

  • Various marine environments from shallow to deeper water

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

  • Pegram Formation through Chattanooga Shale

  • Shift to more clastic (shale) deposition

  • Chattanooga Shale represents deeper, oxygen-poor conditions

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

  • Fort Payne Formation

  • Warsaw Limestone

  • St. Louis Limestone

  • Monteagle Limestone

  • Hartselle Formation

  • Return to carbonate platform conditions

  • Diverse marine environments

  1. Cenozoic to Present

  • Long period of erosion and exposure

  • Development of the current landscape

  • Formation of the Nashville Dome structure

  • 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

Requires Node.js 20 or newer. No install step is needed — npx fetches the server on first run.

Claude Desktop

  1. Open your Claude Desktop configuration at:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

  2. Add the server configuration:

{
    "mcpServers": {
        "macrostrat": {
            "command": "npx",
            "args": ["-y", "macrostrat-mcp"]
        }
    }
}
  1. Close/Quit then restart Claude Desktop

Once you restart you should see an icon for search and tools. Click this button to see the MCP tools available.

Claude Code

claude mcp add macrostrat -- npx -y macrostrat-mcp

Any other MCP client

The server speaks MCP over STDIO. Run it with npx -y macrostrat-mcp, or install it globally with npm install -g macrostrat-mcp and run macrostrat-mcp.

Development

npm install        # install dependencies
npm run dev        # run from source over STDIO, no build step
npm run build      # compile TypeScript to build/
npm run typecheck  # type-check without emitting

src/server.ts holds all the tools, prompts, and API calls — that is the file to edit. src/index.ts is just the STDIO entry point.

To point Claude Desktop at a local build instead of the published package, use "command": "node" with "args": ["/full/path/to/macrostrat/build/index.js"], and restart Claude Desktop after each rebuild.

Using it as a library

The server factory is exported if you want to attach a different transport:

import createServer from "macrostrat-mcp";

const server = createServer();
await server.connect(yourTransport);

Troubleshooting

If Claude Desktop cannot find npx, provide its full path (on macOS, typically /usr/local/bin/npx or /opt/homebrew/bin/npx). The same applies to node if you are running a local build.

Available Tools

8 tools
defsDefinitionsC

Routes giving access to standard fields and dictionaries used in Macrostrat

ParametersJSON Schema
NameRequiredDescriptionDefault
endpointYesThe endpoint to query
parametersYesparameters to pass to the endpoint

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'Routes giving access,' suggesting a read-only operation, but doesn't specify if it's a query, retrieval, or list action, nor does it cover aspects like rate limits, authentication needs, or response format. The description is too minimal to adequately inform behavior beyond basic access.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's function. It's front-loaded with the core purpose, though it could be more specific. There's no wasted text, making it appropriately concise for a simple tool, but it lacks depth that might be needed for clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 2 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., data formats, structure) or provide behavioral context like error handling. For a tool accessing multiple endpoints, more detail on usage and outcomes is necessary to be fully helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with clear docs for 'endpoint' (including enum values) and 'parameters.' The description adds no additional meaning beyond the schema, such as explaining what 'parameters' might include or how endpoints differ. Baseline score of 3 is appropriate as the schema handles parameter documentation effectively.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool 'Routes giving access to standard fields and dictionaries used in Macrostrat,' which clarifies it provides access to data resources. However, it's vague about the specific action (e.g., querying, retrieving, or listing) and doesn't differentiate from siblings like 'defs-autocomplete' or 'mineral-info,' which may offer similar data access. The purpose is understandable but lacks precision.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'defs-autocomplete' for autocomplete features or 'mineral-info' for specific mineral data, leaving the agent without context for selection. Usage is implied only through the endpoint parameter, but no explicit when/when-not instructions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

defs-autocompleteDefinitions AutocompleteB

Quickly retrieve all definitions matching a query. Limited to 100 results

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesthe search term

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the result limit ('Limited to 100 results'), which is useful behavioral context. However, it lacks details on permissions, rate limits, error handling, or what 'definitions' refer to in this context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences that efficiently convey the core functionality and a key constraint. Every word earns its place, and it's front-loaded with the main purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple search tool with one parameter and no output schema, the description is minimally adequate. It explains what the tool does and a limitation, but lacks context on what 'definitions' are, how results are formatted, or how it differs from siblings, leaving gaps for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with a clear description for the 'query' parameter. The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline of 3 for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('retrieve') and resource ('definitions matching a query'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'defs', 'find-columns', or 'find-units', which might have overlapping search functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'defs' or other search-related siblings. It mentions a result limit ('Limited to 100 results'), but this doesn't help the agent choose between tools in context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find-columnsFind ColumnsB

Find geological stratigraphic columns, rock layers, and geological history for any location worldwide. Use for geology, bedrock, formations, age dating, and stratigraphic analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
latYesA valid latitude in decimal degrees
lngYesA valid longitude in decimal degrees
adjacentsNoInclude adjacent columns
responseTypeNoThe length of response long or shortlong

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. The description mentions what the tool does but lacks details on behavioral traits such as whether it's a read-only operation, potential rate limits, authentication needs, error handling, or what the output format looks like (e.g., structured data, text). For a tool with no annotations, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded, with two sentences that efficiently convey the purpose and usage. The first sentence states what the tool does, and the second provides usage context. There's no wasted text, but it could be slightly more structured by explicitly separating purpose from guidelines.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (4 parameters, no output schema, no annotations), the description is moderately complete. It covers the purpose and general usage but lacks details on behavioral aspects and output. Without annotations or an output schema, the description should do more to compensate, such as hinting at return values or operational constraints, leaving some gaps for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, providing clear details for all parameters (lat, lng, adjacents, responseType). The description adds no specific parameter semantics beyond what's in the schema, such as explaining how 'adjacents' affects results or what 'long' vs 'short' response types entail. With high schema coverage, the baseline score is 3, as the schema handles the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find geological stratigraphic columns, rock layers, and geological history for any location worldwide.' It specifies the verb ('Find') and resource ('geological stratigraphic columns, rock layers, and geological history'), and mentions the scope ('any location worldwide'). However, it doesn't explicitly differentiate from sibling tools like 'find-units' or 'mineral-info', which might offer related geological data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides implied usage guidelines by stating 'Use for geology, bedrock, formations, age dating, and stratigraphic analysis.' This suggests contexts where the tool is applicable, but it doesn't explicitly state when to use this tool versus alternatives like 'find-units' or 'mineral-info', nor does it provide exclusions or prerequisites for usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find-unitsFind UnitsB

Find geological rock units, formations, bedrock geology, and mineral information for any location worldwide. Use for geology questions, rock types, age dating, lithology, and geological analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
latYesA valid latitude in decimal degrees
lngYesA valid longitude in decimal degrees
responseTypeNoThe length of response long or short. Long provides lots of good detailslong

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool finds information 'for any location worldwide' and hints at response types, but lacks details on rate limits, authentication needs, error handling, or what specific data is returned (e.g., format, depth). For a tool with no annotations, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with two sentences that are front-loaded: the first states the core purpose, and the second provides usage context. There's no wasted text, but it could be slightly more structured (e.g., bullet points) for clarity. Overall, it's efficient and earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (3 parameters, 100% schema coverage, no output schema), the description is adequate but incomplete. It covers purpose and usage but lacks behavioral details (e.g., return format, limitations) and doesn't compensate for the absence of annotations or output schema. This makes it minimally viable but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters (lat, lng, responseType) with clear descriptions and enums. The description adds no additional parameter semantics beyond what's in the schema, such as explaining coordinate systems or elaborating on 'long' vs 'short' responses. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: finding geological rock units, formations, bedrock geology, and mineral information for locations worldwide. It specifies the resource (geological data) and verb (find), and distinguishes itself from siblings like 'mineral-info' by mentioning broader geological analysis. However, it doesn't explicitly differentiate from 'find-columns' or other geological tools, keeping it at 4 rather than 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides implied usage guidelines by stating 'Use for geology questions, rock types, age dating, lithology, and geological analysis,' which suggests contexts where this tool is appropriate. However, it doesn't explicitly state when to use this tool versus alternatives like 'mineral-info' or 'find-columns,' nor does it provide exclusions or prerequisites. This leaves some ambiguity for the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lat-lng-to-tileLatitude/Longitude to TileA

Convert latitude/longitude coordinates to map tile coordinates (x, y) for a given zoom level. Uses the same web mercator projection as MapKit.

ParametersJSON Schema
NameRequiredDescriptionDefault
latYesLatitude in decimal degrees (-90 to 90)
lngYesLongitude in decimal degrees (-180 to 180)
zoomYesZoom level (0-18)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the projection method ('web mercator projection as MapKit'), which adds useful technical context beyond basic functionality. However, it doesn't cover error handling, performance characteristics, or output format details, leaving gaps for a tool with no output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that efficiently conveys the core transformation and key technical detail (projection type). Every word earns its place with zero redundancy or fluff, making it easy to parse front-loaded information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (coordinate conversion with three parameters) and lack of annotations/output schema, the description is minimally adequate. It covers the what and how (projection) but misses guidance on usage, error cases, and output structure, leaving the agent with incomplete operational context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all three parameters (lat, lng, zoom) with ranges and units. The description adds no additional parameter semantics beyond what's in the schema, meeting the baseline for high coverage but not enhancing understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific verb 'convert' and the resources 'latitude/longitude coordinates to map tile coordinates (x, y)', distinguishing it from sibling tools like 'map-tiles' which likely serve different mapping functions. It provides a precise transformation purpose with technical specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'map-tiles' or other coordinate conversion methods. The description lacks context about typical use cases, prerequisites, or exclusions, leaving the agent to infer usage from the purpose alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

map-tilesMap TilesA

Get map tile URLs from the Macrostrat tiles server. Use lat-lng-to-tile tool first to get proper x,y coordinates. Defaults to 'carto' scale which automatically adapts detail level to zoom.

ParametersJSON Schema
NameRequiredDescriptionDefault
scaleNoMap scale layer - 'carto' automatically selects appropriate detail level based on zoom. Other scales (tiny, small, medium, large) may have limited coverage.carto
zYesZoom level (0-18). Higher zoom = more detailed view of smaller area. Typical values: z=3 (continent), z=6 (country), z=10 (city), z=15 (neighborhood)
xYesTile X coordinate - use lat-lng-to-tile tool to calculate this from lat/lng
yYesTile Y coordinate - use lat-lng-to-tile tool to calculate this from lat/lng
formatNoTile format: 'png' for images, 'mvt' for vector tilespng
fetch_imageNoIf true, actually fetch the tile image data so Claude can analyze the geological features visually

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It adds some context beyond the schema: it mentions the server ('Macrostrat tiles server'), the default scale behavior ('carto' automatically adapts detail level to zoom), and implies a dependency on another tool. However, it lacks details on rate limits, authentication needs, error handling, or what the URLs point to (e.g., endpoints, response format).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: two sentences with zero waste. The first sentence states the core purpose, and the second provides critical usage guidance and default behavior. Every sentence earns its place by adding essential information not obvious from the tool name or schema alone.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (6 parameters, no output schema, no annotations), the description is reasonably complete. It covers the purpose, prerequisite tool, and default behavior, which are crucial for correct usage. However, it lacks details on what the returned URLs look like, potential errors, or server-specific constraints, leaving some gaps for an agent to infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal value beyond the schema: it reinforces the default scale ('carto') and its adaptive behavior, but does not provide additional syntax, format details, or usage examples for parameters like 'fetch_image' or 'format'. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Get map tile URLs') and resource ('from the Macrostrat tiles server'), distinguishing it from sibling tools like 'lat-lng-to-tile' which calculates coordinates rather than fetching tiles. It explicitly names the server and the type of output (URLs), making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool: 'Use lat-lng-to-tile tool first to get proper x,y coordinates.' It names the alternative tool ('lat-lng-to-tile') and specifies the prerequisite step, clearly differentiating usage contexts between coordinate calculation and tile retrieval.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mineral-infoMineral InformationC

Get information about a mineral, use one property

ParametersJSON Schema
NameRequiredDescriptionDefault
mineralNoThe name of the mineral
mineral_typeNoThe type of mineral
elementNoAn element that the mineral is made of

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'Get information,' which implies a read-only operation, but doesn't specify if it's a lookup, search, or detailed retrieval. There's no information on error handling, rate limits, authentication needs, or what the output might contain, which is a significant gap for a tool with no annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with a single sentence: 'Get information about a mineral, use one property.' It's front-loaded with the main purpose, and there's no wasted text. However, it could be slightly more structured by explicitly listing the parameters or usage scenarios, but it's efficient overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (3 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain what 'information' includes, how results are returned, or any constraints like data sources or limitations. Without annotations or an output schema, the description should provide more context to guide effective use, but it falls short.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with clear parameter descriptions in the schema itself. The description adds minimal value beyond the schema by implying 'use one property,' suggesting that parameters might be mutually exclusive, but it doesn't clarify which property to prioritize or how they interact. Since schema coverage is high, the baseline is 3, and the description doesn't significantly enhance parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get information about a mineral, use one property.' It specifies the verb ('Get information') and resource ('mineral'), making the intent understandable. However, it doesn't distinguish this tool from potential siblings like 'defs' or 'find-columns,' which might also retrieve information, so it lacks explicit differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides minimal guidance with 'use one property,' implying that only one of the three parameters should be used, but it doesn't specify when to use this tool versus alternatives like 'defs' or 'find-columns.' There's no explicit context on when or when not to use it, and no mention of prerequisites or exclusions, leaving usage unclear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

timescaleTimescaleC

Get information about a time period

ParametersJSON Schema
NameRequiredDescriptionDefault
ageYesAge in millions of years before present

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states 'Get information' which implies a read-only operation, but doesn't specify what happens if the age is invalid, whether there are rate limits, authentication needs, or what format the information is returned in. For a tool with no annotations, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no wasted words. It's appropriately sized for a simple tool and front-loaded with the core purpose. Every word earns its place, making it efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no annotations, no output schema, and a simple input schema, the description is incomplete. It doesn't specify what 'information' is returned (e.g., geological era, events, data format), leaving the agent unsure of the tool's full behavior. For a tool with no structured output documentation, the description should compensate more.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with the parameter 'age' documented as 'Age in millions of years before present'. The description adds no additional meaning beyond this, as it doesn't explain how the age relates to the information retrieved or provide examples. With high schema coverage, the baseline is 3 even without param info in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get information about a time period' states a general purpose but is vague about what specific information is retrieved. It uses a verb ('Get') and resource ('time period'), but doesn't specify what type of information (geological, historical, astronomical, etc.) or how it relates to the 'age' parameter. It doesn't distinguish from sibling tools like 'mineral-info' or 'lat-lng-to-tile' which have different domains.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention any prerequisites, exclusions, or context for usage. With sibling tools like 'mineral-info' and 'find-units', there's no indication of when this tool is appropriate versus those for related queries about geological or measurement data.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 8 tool updatesv1.0.0
    • Changeddefs2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
    • Changeddefs-autocomplete2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedfind-columns3 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
      • changedInput schema / required
        Previous value: -[
        -  "lat",
        -  "lng",
        -  "responseType"
        -]New value: +[
        +  "lat",
        +  "lng"
        +]
    • Changedfind-units3 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
      • changedInput schema / required
        Previous value: -[
        -  "lat",
        -  "lng",
        -  "responseType"
        -]New value: +[
        +  "lat",
        +  "lng"
        +]
    • Changedlat-lng-to-tile2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedmap-tiles2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedmineral-info2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedtimescale4 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / age / description
        Added value: +"Age in millions of years before present"
      • addedInput schema / required
        Added value: +[
        +  "age"
        +]
  2. 8 tool updates
    • First observeddefs
    • First observeddefs-autocomplete
    • First observedfind-columns
    • First observedfind-units
    • First observedlat-lng-to-tile
    • First observedmap-tiles
    • First observedmineral-info
    • First observedtimescale

TDQS

B3/5.0
Disambiguation3/5

Most tools have distinct purposes, but 'find-columns' and 'find-units' overlap significantly in their descriptions (both for geological analysis of locations), which could cause confusion. Other tools like 'defs' and 'defs-autocomplete' are clearly related but serve different functions, while tools like 'lat-lng-to-tile' and 'map-tiles' are distinct but interdependent.

Naming Consistency2/5

The naming is inconsistent with mixed conventions: some use snake_case ('lat-lng-to-tile'), some use kebab-case ('defs-autocomplete'), and others use plain words ('defs', 'timescale'). There is no predictable verb_noun pattern, making it harder for agents to infer tool purposes from names alone.

Tool Count4/5

With 8 tools, the count is reasonable for a geological data server, covering definitions, location-based queries, mapping, and mineral/time information. It's slightly under the ideal 10-15 range for comprehensive coverage but not overly sparse, fitting the domain scope adequately.

Completeness3/5

The tool set covers core geological data access (definitions, units, columns, minerals, timescales) and mapping functions, but there are notable gaps such as missing update/delete operations for data manipulation and limited query capabilities (e.g., no advanced filtering or aggregation tools). It supports basic retrieval but lacks full lifecycle coverage.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/blake365/macrostrat-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server