Dynamik Public Data
Server Details
Public tools to understand Dynamik, discover datasets, and connect account-scoped capabilities.
The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 92.4% over 61 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool has a clearly distinct role: search datasets, describe dataset metadata, build a public sample URL, and handle Dynamik Studio discovery/connection. The descriptions explicitly separate metadata lookup from sample-link construction and public-safe search from access entitlement.
All tool names use snake_case and follow a predictable verb_noun pattern: search_datasets, describe_dataset, get_dataset_sample_link, describe_dynamik. The minor variation in noun length does not break consistency.
Four tools is well-scoped for a public dataset metadata server. Each tool earns its place, and there are no redundant or obviously missing companion tools within this focused surface.
The set covers dataset discovery, metadata inspection, public sample-link generation, and Dynamik Studio connection handoff. A minor gap is the lack of an explicit schema/field preview or broader browse operation beyond search, but core public-data metadata workflows are covered.
Available Tools
4 toolsdescribe_datasetDescribe a Dynamik datasetBRead-onlyIdempotentInspect
Read a dataset’s freshness, coverage, provenance URLs, limitations, and explicit public/account/paid access status.
| Name | Required | Description | Default |
|---|---|---|---|
| dataset_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| dataset | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds useful context by naming the metadata categories returned, including explicit access-tier disclosure, but says nothing about failure behavior when a dataset is unknown or the caller lacks account/paid entitlement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence with the resource and the informative payload front-loaded and no filler. The list of attributes borders on enumerating return fields that the output schema already covers, but it is compact enough to earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. However, for a tool whose only input is an opaque id and whose nearest sibling has a near-identical name, the description leaves both id sourcing and sibling differentiation unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter dataset_id is never mentioned in the description. It gives no hint about the identifier format, where such ids come from (presumably search_datasets), or whether slugs are accepted, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ("read") and resource (a dataset's metadata) and enumerates exactly which attributes are surfaced: freshness, coverage, provenance URLs, limitations, and access status. It does not distinguish itself from the similarly named sibling describe_dynamik, leaving ambiguity about which tool returns what.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as describe_dynamik or search_datasets. The agent must infer that this is a metadata lookup rather than a sampling or search operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
describe_dynamikDescribe DynamikARead-onlyIdempotentInspect
Discover Dynamik Studio and get a clickable connection handoff. If the requested task needs Dynamik Studio, show the returned connection_handoff to the user, help them connect it in their agent host, then refresh tools and continue the task.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| studio | Yes | |
| service | Yes | |
| connection | Yes | |
| public_access | Yes | |
| connection_handoff | Yes | |
| connected_capabilities | Yes | |
| suggested_user_message | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior in a closed world, so the bar is lower; the description still adds real context by disclosing that this yields a connection_handoff intended for the user and that the tool list changes afterward ('refresh tools and continue'). That is genuine side-effect information beyond the annotations. It doesn't explain what happens if the user declines the connection, which keeps it off a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and its output, followed by compact conditional guidance. No filler, and the most important information (what you get back) comes first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the return shape needn't be spelled out, and the description still names the key artifact (connection_handoff) and the follow-up procedure. It is complete enough to invoke correctly, though it could say more about what 'Dynamik Studio' is for an agent unfamiliar with it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there are no parameter semantics to convey — the baseline applies. The description correctly spends no space on argument details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb-plus-resource combination ('Discover Dynamik Studio') and states the concrete result ('get a clickable connection handoff'), which is clearly distinct from the dataset-oriented siblings. It does not explicitly contrast itself with those siblings, but the resource is different enough that an agent can tell them apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The conditional 'If the requested task needs Dynamik Studio' gives a clear trigger, and the follow-up steps (show handoff, help connect, refresh tools, continue) define the expected workflow. It stops short of saying when *not* to call this or naming an alternative, so it falls below a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dataset_sample_linkGet a public dataset sample linkARead-onlyIdempotentInspect
Build a bounded request URL only when the canonical catalog marks the current release public. This tool does not proxy dataset content.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| format | No | geojson | |
| dataset_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| release | Yes | |
| request | Yes | |
| dataset_id | Yes | |
| access_tier | Yes | |
| limitations | Yes | |
| manifest_url | Yes | |
| canonical_url | Yes | |
| account_required | Yes | |
| is_accessible_for_free | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already specify read-only, idempotent, non-destructive, and closed-world behavior. The description adds important context beyond annotations: the URL is bounded, eligibility depends on the canonical catalog marking the release public, and the tool does not proxy dataset content. This meaningfully clarifies operational boundaries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tightly written sentences with no wasted text. The action and gating condition are front-loaded, followed immediately by an important non-behavioral caveat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has rich annotations and an output schema, so the description does not need to explain safety or return values. It covers the critical public-release gating and non-proxy behavior. The main remaining gap is parameter-level meaning, which the schema partially covers through types, defaults, and an enum.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate for undocumented parameters. It does not mention dataset_id, count, or format at all. The schema itself supplies names, types, defaults, enum values, and bounds, but the description adds no parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and object: it builds a bounded request URL for the current release. It also clarifies the public-release condition and that it does not proxy dataset content. It does not explicitly differentiate itself from siblings like search_datasets or describe_dataset, but the core purpose is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear precondition: use only when the canonical catalog marks the current release public. It also says the tool does not proxy content, which implies a non-retrieval use case. However, it does not name alternatives or explain when to use this versus sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_datasetsSearch Dynamik datasetsBRead-onlyIdempotentInspect
Search public-safe Dynamik dataset metadata. Results declare release availability and do not imply account entitlement.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| datasets | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile exhaustively (readOnly, idempotent, non-destructive, closed-world), lowering the bar. The description does add genuinely useful context beyond them: that results only declare release availability and confer no entitlement. But it omits search behavior such as matching rules, result limits, or what an empty query returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, no filler, with the scope constraint front-loaded. Nothing is redundant with the title or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value documentation is not required, and the entitlement caveat is a valuable addition. Still, for a search tool with an undocumented free-text parameter and no alternatives guidance, key calling details remain unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single `query` parameter has no description in the schema. The description never mentions the parameter at all — no syntax, no matching semantics, no note about matching fields (name vs. metadata). With low coverage the description was required to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (search) and resource (Dynamik dataset metadata) with a meaningful scope qualifier ('public-safe'). It does not, however, distinguish itself from siblings like describe_dataset or get_dataset_sample_link, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says nothing about when to use this tool versus describe_dataset, describe_dynamik, or get_dataset_sample_link. The second sentence is a caveat about interpreting results, not guidance on selecting or invoking the tool.
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.
3 tool updates
- Changed
describe_dataset2 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - changed
Output schema / properties / dataset / properties / current_release / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "as_of": { - "type": "string" - }, - "attribution_url": { - "format": "uri", - "type": "string" - }, - "data_dictionary_url": { - "format": "uri", - "type": "string" - }, - "documentation_url": { - "format": "uri", - "type": "string" - }, - "download_url": { - "format": "uri", - "type": "string" - }, - "formats": { - "items": { - "type": "string" - }, - "type": "array" - }, - "manifest_url": { - "format": "uri", - "type": "string" - }, - "map_url": { - "format": "uri", - "type": "string" - }, - "published_at": { - "format": "date-time", - "type": "string" - }, - "spatial_coverage": { - "type": "string" - }, - "temporal_coverage": { - "type": "string" - }, - "version": { - "type": "string" - } - }, - "required": [ - "version", - "published_at", - "as_of", - "spatial_coverage", - "temporal_coverage", - "formats", - "manifest_url", - "documentation_url", - "attribution_url", - "data_dictionary_url", - "download_url", - "map_url" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "as_of": { + "type": "string" + }, + "attribution_url": { + "format": "uri", + "type": "string" + }, + "data_dictionary_url": { + "format": "uri", + "type": "string" + }, + "documentation_url": { + "format": "uri", + "type": "string" + }, + "download_url": { + "format": "uri", + "type": "string" + }, + "formats": { + "items": { + "type": "string" + }, + "type": "array" + }, + "manifest_url": { + "format": "uri", + "type": "string" + }, + "map_url": { + "format": "uri", + "type": "string" + }, + "published_at": { + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$", + "type": "string" + }, + "spatial_coverage": { + "type": "string" + }, + "temporal_coverage": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "required": [ + "version", + "published_at", + "as_of", + "spatial_coverage", + "temporal_coverage", + "formats", + "manifest_url", + "documentation_url", + "attribution_url", + "data_dictionary_url", + "download_url", + "map_url" + ], + "type": "object" + }, + { + "type": "null" + } +]
- Changed
get_dataset_sample_link1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
search_datasets2 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - changed
Output schema / properties / datasets / items / properties / current_release / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "as_of": { - "type": "string" - }, - "attribution_url": { - "format": "uri", - "type": "string" - }, - "data_dictionary_url": { - "format": "uri", - "type": "string" - }, - "documentation_url": { - "format": "uri", - "type": "string" - }, - "download_url": { - "format": "uri", - "type": "string" - }, - "formats": { - "items": { - "type": "string" - }, - "type": "array" - }, - "manifest_url": { - "format": "uri", - "type": "string" - }, - "map_url": { - "format": "uri", - "type": "string" - }, - "published_at": { - "format": "date-time", - "type": "string" - }, - "spatial_coverage": { - "type": "string" - }, - "temporal_coverage": { - "type": "string" - }, - "version": { - "type": "string" - } - }, - "required": [ - "version", - "published_at", - "as_of", - "spatial_coverage", - "temporal_coverage", - "formats", - "manifest_url", - "documentation_url", - "attribution_url", - "data_dictionary_url", - "download_url", - "map_url" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "as_of": { + "type": "string" + }, + "attribution_url": { + "format": "uri", + "type": "string" + }, + "data_dictionary_url": { + "format": "uri", + "type": "string" + }, + "documentation_url": { + "format": "uri", + "type": "string" + }, + "download_url": { + "format": "uri", + "type": "string" + }, + "formats": { + "items": { + "type": "string" + }, + "type": "array" + }, + "manifest_url": { + "format": "uri", + "type": "string" + }, + "map_url": { + "format": "uri", + "type": "string" + }, + "published_at": { + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$", + "type": "string" + }, + "spatial_coverage": { + "type": "string" + }, + "temporal_coverage": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "required": [ + "version", + "published_at", + "as_of", + "spatial_coverage", + "temporal_coverage", + "formats", + "manifest_url", + "documentation_url", + "attribution_url", + "data_dictionary_url", + "download_url", + "map_url" + ], + "type": "object" + }, + { + "type": "null" + } +]
1 tool update
- Changed
describe_dynamik2 fields changed- added
Output schema / properties / studioAdded value: +{ + "additionalProperties": false, + "properties": { + "first_call": { + "additionalProperties": false, + "properties": { + "arguments": { + "additionalProperties": false, + "properties": { + "topic": { + "const": "skill", + "type": "string" + } + }, + "required": [ + "topic" + ], + "type": "object" + }, + "verb": { + "const": "describe", + "type": "string" + }, + "when": { + "type": "string" + } + }, + "required": [ + "verb", + "arguments", + "when" + ], + "type": "object" + }, + "first_steps": { + "type": "string" + }, + "llms_url": { + "format": "uri", + "type": "string" + }, + "programs": { + "type": "string" + }, + "required_scopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "resource": { + "format": "uri", + "type": "string" + }, + "skill_download_url": { + "format": "uri", + "type": "string" + }, + "skill_url": { + "format": "uri", + "type": "string" + }, + "undo": { + "type": "string" + }, + "verbs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "write_revision": { + "type": "string" + } + }, + "required": [ + "resource", + "required_scopes", + "verbs", + "skill_url", + "skill_download_url", + "first_call", + "write_revision", + "undo", + "programs", + "llms_url", + "first_steps" + ], + "type": "object" +} - changed
Output schema / requiredPrevious value: -[ - "service", - "public_access", - "connection", - "connected_capabilities", - "suggested_user_message", - "connection_handoff" -]New value: +[ + "service", + "public_access", + "connection", + "studio", + "connected_capabilities", + "suggested_user_message", + "connection_handoff" +]
1 tool update
- Changed
describe_dynamik4 fields changed- removed
Output schema / properties / connected_capabilities / items / properties / required_scopesRemoved value: -{ - "items": { - "type": "string" - }, - "type": "array" -} - removed
Output schema / properties / connected_capabilities / items / properties / riskRemoved value: -{ - "enum": [ - "read_only", - "write", - "destructive" - ], - "type": "string" -} - removed
Output schema / properties / connected_capabilities / items / properties / toolRemoved value: -{ - "type": "string" -} - changed
Output schema / properties / connected_capabilities / items / requiredPrevious value: -[ - "id", - "title", - "description", - "risk", - "required_scopes", - "tool" -]New value: +[ + "id", + "title", + "description" +]
1 tool update
- Changed
describe_dynamik2 fields changed- added
Output schema / properties / connection_handoffAdded value: +{ + "additionalProperties": false, + "properties": { + "agent_instructions": { + "type": "string" + }, + "message": { + "type": "string" + }, + "required_scopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "title": { + "type": "string" + } + }, + "required": [ + "title", + "required_scopes", + "message", + "agent_instructions" + ], + "type": "object" +} - changed
Output schema / requiredPrevious value: -[ - "service", - "public_access", - "connection", - "connected_capabilities", - "suggested_user_message" -]New value: +[ + "service", + "public_access", + "connection", + "connected_capabilities", + "suggested_user_message", + "connection_handoff" +]
4 tool updates
- First observed
describe_dataset - First observed
describe_dynamik - First observed
get_dataset_sample_link - First observed
search_datasets
Related MCP Connectors
Two read-only metadata tools for discovering the MyQuant app and checking public surface health. Briefing content is available through the separate MyQuant Editorial connector.
Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.
Search and preview datasets publicly. Account-required full data via MCP.
Search, sample and query open reproducible datasets published as immutable Parquet with schemas.
Related MCP Servers
- AlicenseCqualityDmaintenanceExposes Databricks REST APIs as MCP tools for managing and querying a Databricks workspace, including clusters, jobs, SQL, Unity Catalog, and more.100MIT

Kinetica MCP Serverofficial
AlicenseBqualityDmaintenanceExposes tools and resources for interacting with Kinetica's database, SQL-GPT contexts, and real-time monitoring.6MIT- AlicenseBqualityNot gradedmaintenanceEnables AI assistants and CLI tools to explore and analyze datasets from 600+ global CKAN open-data portals. Provides comprehensive tools for dataset discovery, datastore queries, metadata analysis, and local downloads without writing custom CKAN integrations.14MIT
- AlicenseAqualityBmaintenanceExposes public marketplace data — offerings, screening and comparison, news, sponsor listings, and platform reference text — as typed read-only tools any MCP-compatible agent can call without an API key or account. Every response carries provenance, honest nulls for undisclosed values, and a standing disclaimer, and no registered tool can write or transact by default.9Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.