Skip to main content
Glama

Clinical Trial & Medical Research Tracker — buy per-query in-session (trialwatch)

data_session_open

Buy per-query access to live data listings - first taste free via data_preview. Listing: trialwatch: New Clinical Trials & Medical Research Results (0.01 USDC/query (max 20 queries/session)). Open a prepaid session, then fund and query.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
listing_idNoUUID of the listing. Provide exactly one of listing_slug or listing_id.
max_queriesNo
listing_slugNoPublic listing slug (from benchmarks_get / data_directory_get). Provide exactly one of listing_slug or listing_id.
open_tx_hashNo
buyer_addressNoBuyer EVM address. Optional: defaults to your own platform wallet when omitted.
proof_escrow_idNo

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed13 schema fields changed
    • addedInput schema / description
      Added value: +"MCP-only input for ``data_session_open``.\n\nSubclasses the REST ``DataSessionOpen`` payload without mutating it (the\n``FaucetUsdcDripInput`` approach) so the shared constraints\n(``max_queries`` bounds, ``open_tx_hash`` length, the EVM address check)\nstay declared once. Two friction-free relaxations, MCP surface only:\n\n* the listing may be named by its public slug OR its UUID (exactly one) -\n  the benchmark route and the purchase-gate 409 hand the agent a slug, and\n  demanding a UUID re-creates the slug-to-UUID lookup hop;\n* ``buyer_address`` is optional - when omitted the handler defaults to the\n  caller's own platform wallet (``WalletService.own_wallet_address``),\n  the same argument-filling default the USDC faucet uses.\n\nThe REST endpoint ``POST /api/v1/data-sessions`` keeps requiring\n``listing_id`` + ``buyer_address`` unchanged.\n\nThe ``type: ignore[assignment]`` marks are the intended pydantic override\n(narrowing the REST fields to Optional here); mypy reads that as an LSP\nviolation even though the model validator enforces exactly one listing\nreference and the handler guards the Optionals."
    • addedInput schema / properties / buyer_address / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / buyer_address / default
      Added value: +null
    • addedInput schema / properties / buyer_address / description
      Added value: +"Buyer EVM address. Optional: defaults to your own platform wallet when omitted."
    • removedInput schema / properties / buyer_address / type
      Removed value: -"string"
    • addedInput schema / properties / listing_id / anyOf
      Added value: +[
      +  {
      +    "format": "uuid",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / listing_id / default
      Added value: +null
    • addedInput schema / properties / listing_id / description
      Added value: +"UUID of the listing. Provide exactly one of listing_slug or listing_id."
    • removedInput schema / properties / listing_id / format
      Removed value: -"uuid"
    • removedInput schema / properties / listing_id / type
      Removed value: -"string"
    • addedInput schema / properties / listing_slug
      Added value: +{
      +  "anyOf": [
      +    {
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Public listing slug (from benchmarks_get / data_directory_get). Provide exactly one of listing_slug or listing_id.",
      +  "title": "Listing Slug"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "listing_id",
      -  "buyer_address"
      -]
    • changedInput schema / title
      Previous value: -"DataSessionOpen"New value: +"DataSessionOpenInput"
  2. First observed

TDQS

A3.6/5.0
Behavior3/5

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

Annotations are all false and provide no meaningful safety profile, so the description carries the behavioral burden. It does disclose that this is a paid operation with specific pricing and a per-session query cap. However, it does not mention side effects such as creating a new session resource, handling transaction hashes, or requiring escrow details.

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 compact and front-loaded: it states the core purpose, then pricing, then the workflow, all in three sentences. A small amount of redundancy exists between 'buy per-query access', 'prepaid session', and the USDC price, but it is not excessive.

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?

The description is minimally viable for understanding the open→fund→query flow, especially with a rich input schema covering the listing-reference rules. But with no output schema, it omits what the tool returns (e.g., a session ID), and it does not explain the role of open_tx_hash or proof_escrow_id, leaving gaps for a 6-parameter tool.

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 covers exactly-one listing reference and optional buyer_address, but leaves open_tx_hash and proof_escrow_id unexplained. The description adds listing-specific cost and the 20-query cap, which gives some context for max_queries, but it does not clarify how these values relate to the schema's max_queries bound or the advanced payment parameters.

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 identifies the tool as a paid session opener: 'Buy per-query access' and 'Open a prepaid session'. It also differentiates from the free data_preview sibling by explicitly calling it the 'first taste free' path, and names the specific listing being purchased.

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?

It gives a practical workflow: preview for free via data_preview, then open a session, then fund and query. This maps well onto the sibling tools data_session_fund and data_session_query, though it does not explicitly name them or state when not to use data_session_open.

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.

TDQS

B3.4/5.0
Disambiguation2/5

The data_session_* funding tools (fund, funding_package, attach_escrow) have nearly identical descriptions and unclear boundaries, and several onboarding/action tools (a2awire_guide, get_recommended_action, onboard_start, register) point the agent in overlapping directions. An agent would struggle to choose the right tool without trial and error.

Naming Consistency4/5

Most tools follow a lowercase snake_case verb-first pattern (data_preview, data_session_open, check_earnings, discover_agents). Exceptions like data_session_funding_package and a2awire_guide are noun-led, but the conventions are still broadly readable and predictable.

Tool Count3/5

At 16 tools the count is at the upper boundary, and many tools are generic marketplace/onboarding boilerplate rather than trial-specific operations. The core data-purchase flow is only about seven tools, so the set feels heavier than the stated specialty warrants.

Completeness2/5

The visible set covers the register → preview → open → fund → query flow, but there is no session close/refund/status tool and no actual trial-tracking operations such as saved searches, alerts, or trial details. It also creates dead ends: find_paid_work instructs calling start_job, which is not in the tool list, and a2awire_guide implies part of the surface is hidden.

Resources