Skip to main content
Glama
blake365

Macrostrat MCP Server

by blake365

宏观层-MCP

用于 Macrostrat API 的 Claude MCP 服务器

铁匠徽章

MCP 服务器实现,用于提供对Claude Desktop中的Macrostrat API的访问。

概述

该模型上下文协议 (MCP) 服务器使 AI 助手和应用程序能够:

  • 查询 Macrostrat API 提供的综合地质数据和信息

  • 访问地质单位、柱状图、矿物、时间尺度等

  • 分析地质数据以提高地质认识

  • 创建图形并根据数据进行数据分析

用户可以使用自然语言运行查询。

Related MCP server: Qlik MCP Server

示例输出

问:田纳西州纳什维尔的地质历史是怎样的?

A. 让我检查一下纳什维尔所在地的地质数据。

查看来自 macrostrat (本地) 的 find-units 的结果

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

田纳西州纳什维尔的地质历史

  1. 中元古代基底(16-11亿年前)

  • 火成岩基岩(花岗岩和流纹岩)

  • 古老北美克拉通的一部分

  1. 早中寒武纪(5.18亿至5.04亿年前)

  • 罗马组:混合碳酸盐-硅质碎屑沉积物

  • 浅海环境

  • 正在发育的大陆架的一部分

  1. 中晚寒武纪(5.04亿至4.98亿年前)

  • 科纳索加组:石灰岩和混合沉积物

  • 持续的海洋沉积

  • 交替出现的石灰岩和页岩表明海平面波动

  1. 晚寒武世-早奥陶世(4.98亿至4.70亿年前)

  • 诺克斯白云岩:大规模白云岩序列

  • 广泛的浅海平台

  • 厚度可达1200米

  • 代表长期稳定的海洋条件

  1. 中晚奥陶纪(4.7亿至4.43亿年前)几个重要的地层:

  • 石河群(包括默弗里斯伯勒、皮尔斯、黎巴嫩石灰岩)

  • 纳什维尔群(包括 Hermitage、Bigby-Cannon、Catheys 组)

  • 主要为石灰岩矿床

  • 化石丰富

  • 浅海环境

  • 海平面变化的多个周期

  1. 早中志留纪(4.43亿至4.23亿年前)

  • 布拉斯菲尔德至迪凯特地层

  • 持续的海洋石灰岩沉积

  • 从浅水到深水的各种海洋环境

  1. 中泥盆纪-早密西西比世(3.9亿至3.57亿年前)

  • 查塔努加页岩中的佩格拉姆组

  • 转向更多碎屑岩(页岩)沉积

  • 查塔努加页岩代表着更深、缺氧的条件

  1. 早至晚密西西比世(3.57-3.31亿年前)几种石灰岩地层:

  • 佩恩堡组

  • 华沙石灰石

  • 圣路易斯石灰石

  • 蒙特伊格尔石灰石

  • 哈特塞尔组

  • 恢复碳酸盐台地条件

  • 多样化的海洋环境

  1. 新生代至今

  • 长期侵蚀和暴露

  • 当前景观的发展

  • 纳什维尔穹顶结构的形成

  • 河流和溪流沉积物

主要特点

  • 该地区在其大部分地质历史中主要为海洋环境

  • 以石灰岩地层为主,表明海洋温暖而浅

  • 海平面变化的多个周期

  • 丰富的化石记录,尤其是奥陶纪岩石

  • 纳什维尔穹顶结构特征的一部分

  • 长期的侵蚀已经带走了较年轻的岩石

  • 当前地形由各种石灰岩单元的差异侵蚀形成

现今的基岩

纳什维尔如今的基岩主要由暴露在地表的奥陶纪石灰岩构成,尤其是斯通斯河石灰岩和纳什维尔群石灰岩。这些岩石在许多地区都清晰可见,并影响了当地喀斯特地貌的形成,包括该地区常见的洞穴和落水洞。

安装

通过 Smithery 安装

要通过Smithery自动为 Claude Desktop 安装 Macrostrat API 服务器:

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

额外步骤

如果您想更改服务器,您可以通过编辑src/index.ts文件来实现。

  • 运行npm install来安装依赖项

  • 运行npm run build来构建服务器

  • 更改后退出并重新启动 Claude Desktop

与 Claude Desktop 连接

  1. 打开您的 Claude Desktop 配置:

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

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

  2. 添加服务器配置:

{
    "mcpServers": {
        "macrostrat": {
            "command": "node",
            "args": [
                "/Full/Route/to/Folder/macrostrat/build/index.js"
            ]
        }
    }
}
  1. 关闭/退出然后重新启动 Claude Desktop

重新启动后,您会在文本框的右下角看到一个小锤子图标。将鼠标悬停在该图标上,您将看到可用的 MCP 工具数量。

故障排除

如果在运行服务器时遇到错误,可能需要提供node命令的完整路径。例如,在 macOS 上: /usr/local/bin/node

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.

  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

Scored across 8 tools

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

ActivitySlowing
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers