Skip to main content
Glama

Mostly Right

Connect a public dataset to my workspace

connect_dataset
Idempotent

Connects one public dataset to the authenticated workspace so its tables become queryable and downloadable. This is the gate every keyed read passes. Example: {"dataset_slug": "kden-metar-hourly"}. Idempotent: connecting an already-connected dataset succeeds and reports already_connected. Requires the Owner, Admin or Editor role. This is the one tool an mr_use_ key CANNOT call — that key class is read-only. It needs an OAuth connection carrying datasets:use, and refuses with the two routes that do work. It grants the workspace read access; it does not change the dataset or cost anything.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataset_slugYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the annotations, the description discloses idempotent behavior ('reports already_connected'), required role, required OAuth scope, the mr_use_ key restriction, side effects ('grants the workspace read access'), and non-effects ('does not change the dataset or cost anything'). This is rich behavioral disclosure well beyond the structured fields.

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 dense but mostly purposeful: it front-loads the main action, then covers idempotence, roles, auth, and side effects in sequence. The phrase 'and refuses with the two routes that do work' is awkward and slightly confusing, but the overall structure is efficient and every sentence contributes useful guidance.

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?

For a one-parameter, idempotent connection tool, the description covers purpose, prerequisites, auth, side effects, and idempotent outcomes. With no output schema, it would benefit from a brief statement of what a successful response contains beyond 'already_connected,' but the available context is otherwise sufficient for correct invocation.

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

Parameters4/5

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

Schema coverage is 0%, so the description must carry the load. It provides a concrete JSON example mapping dataset_slug to 'kden-metar-hourly' and clarifies the parameter identifies a public dataset. It does not explain how to discover valid slugs or whether a slug must exist beforehand, but for a single string parameter the example adds meaningful semantics.

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 states a specific verb ('Connects'), a specific resource ('one public dataset'), and the concrete outcome ('its tables become queryable and downloadable'). It also positions this tool as 'the gate every keyed read passes,' which distinguishes it from read and listing siblings like get_dataset and list_connected_datasets.

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

Usage Guidelines4/5

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

The description gives clear usage context: this is required before keyed reads work, and it explicitly states who can use it (Owner/Admin/Editor) and which credential types are allowed or forbidden. It does not explicitly name an alternative like list_connected_datasets for checking existing connections, so it stops just short of full when-not-to-use guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources