Skip to main content
Glama
vikranthviki

Causal Decision Agent

by vikranthviki

select_pci_proxies

Read-only

Selects and ranks candidate proxy variables for proximal causal inference, identifying valid negative controls to adjust for unobserved confounding and improve causal estimates.

Instructions

Score and rank candidate proxies for PCI. Assumptions: The proxies are valid negative controls (relevant to the confounder, excluded from the causal channel); A bridge function exists (completeness conditions hold). Pre-conditions: Treatment-inducing and outcome-inducing proxy variables (negative controls) for the unobserved confounder. Failure modes: Proxies are weak or invalid -- the bridge function is poorly identified -> Test proxy relevance, select stronger proxies, or fall back to sensitivity analysis. Alternatives: sp.select_pci_proxies, sp.dml. Typical minimum N: 500.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
yYesOutcome variable column name or outcome array.
top_kNoNumber of top candidates to recommend per side.
treatYesTreatment indicator or first-treatment-period column.
detailNoPayload depth: 'minimal' (~150 tokens) for sub-step calls where only the point estimate is needed; 'standard' (~1K tokens) for diagnostics + coefficient table; 'agent' (~2K tokens, default) adds violations / next_steps / suggested_functions so the LLM can plan its next call without another round-trip.agent
as_handleNoIf true, cache the fitted result on the server and return result_id + result_uri alongside the JSON payload so a subsequent tools/call can chain without re-running.
data_pathYesAbsolute path or URL to a data file. Supported: .csv / .tsv / .txt (delimited), .parquet / .pq, .feather / .arrow, .xlsx / .xls, .dta (Stata), .json / .jsonl. Schemes: file://, s3://, gs://, https://.
result_idNoOptional handle to a previously-fitted result (returned by an earlier call when as_handle=true). Tools that operate on a fitted object accept this in place of re-supplying data_path + columns.
candidatesYesAll variables that could plausibly serve as proxies.
covariatesNoCovariate matrix, DataFrame, or column names.
data_columnsNoOptional column projection. Parquet/Feather/Stata loaders honour this for fast partial reads.
data_sample_nNoOptional uniform random subsample size (seed=0, deterministic) — useful on huge panels.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true and openWorldHint=false, so the agent knows this is a safe read operation. The description adds valuable context beyond annotations: it discloses the statistical assumptions (valid negative controls, bridge function existence), failure modes, and fallback strategies. It doesn't describe the exact output format, but the output schema exists and the detail parameter explains payload depths. The description adds substantial behavioral context without contradicting 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 compact and front-loaded with the core purpose. It uses labeled sections (Assumptions, Pre-conditions, Failure modes, Alternatives, Typical minimum N) that are scannable. It could be slightly more concise by trimming redundancy between assumptions and pre-conditions, but the structure is effective and every section earns its place.

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 tool with 11 parameters, full schema coverage, an output schema, and read-only annotations, the description covers the essential context: what it does, when to use it, what assumptions must hold, what to do if it fails, and sample size guidance. The only minor gap is not explicitly stating what the ranking output looks like, but the output schema and detail parameter descriptions cover that. This is complete enough for an agent to select and invoke correctly.

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 11 parameters thoroughly. The description doesn't add parameter-level detail beyond what the schema provides, but it does contextualize the 'candidates' parameter by explaining what makes a valid proxy (negative control relevance, exclusion from causal channel). The detail parameter's enum descriptions are already rich in the schema. Baseline 3 is appropriate given full schema coverage.

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 opens with a specific verb and resource: 'Score and rank candidate proxies for PCI.' It clearly distinguishes this tool from siblings like 'bidirectional_pci', 'fortified_pci', 'pci_mtp', and 'proximal' by focusing on proxy selection/ranking. The assumptions and pre-conditions further clarify its role in the PCI workflow.

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 explicitly states pre-conditions (treatment-inducing and outcome-inducing proxy variables), failure modes (weak/invalid proxies), and alternatives (sp.select_pci_proxies, sp.dml). It also provides a typical minimum N (500), giving the agent concrete guidance on when this tool is appropriate. This is exemplary usage guidance.

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

Deploy Server

Other Tools