Skip to main content
Glama
santoshray02

CSV Editor

by santoshray02

CSV Editor - AI-Powered CSV Processing via MCP

Python MCP License FastMCP Pandas

Stateful CSV editing for AI assistants. CSV Editor is an MCP server that gives Claude, ChatGPT, Cursor, Windsurf, and other MCP clients a full suite of CSV operations — with sessions, undo/redo, and auto-save built in. Most data MCPs are analyze-only; this one lets the AI edit.

🆕 What's new in v2.0.0 (April 2026)

  • FastMCP 3.x — migrated from FastMCP 2 to 3.2, aligning with MCP spec 2025-11-25.

  • Python 3.11+ required (was 3.10+). Tested against 3.11 / 3.12 / 3.13 / 3.14.

  • --transport sse removed. Use --transport http (Streamable HTTP) for remote deployments. SSE was deprecated by FastMCP 3.

  • Dependency refresh: pydantic 2.13, pyarrow 23, httpx 0.28.

  • New CSV_EDITOR_CSV_HISTORY_DIR env var for configuring the history directory.

  • First-class CI test matrix on GitHub Actions.

Users who pinned csv-editor>=1,<2 are unaffected and will continue to receive 1.x patches if needed. See CHANGELOG.md for the full list of breaking changes.

Related MCP server: mcp-csv-analyst

🎯 Why CSV Editor?

The Problem

AI assistants struggle with complex data operations - they can read files but lack tools for filtering, transforming, analyzing, and validating CSV data efficiently.

The Solution

CSV Editor bridges this gap by providing AI assistants with 39 specialized tools for CSV operations, turning them into powerful data analysts that can:

  • Clean messy datasets in seconds

  • Perform complex statistical analysis

  • Validate data quality automatically

  • Transform data with natural language commands

  • Track all changes with undo/redo capabilities

Key differentiators vs. other CSV / tabular MCPs

Capability

CSV Editor

DuckDB / Polars MCPs

Most pandas-based MCPs

Stateful editing (load → mutate → save)

Read-only or single-shot

Partial

Undo / redo with snapshots

Multi-session isolation

Limited

Limited

Auto-save with strategies

✅ (overwrite / backup / versioned / custom)

Quality scoring & validation

SQL-only

Via separate tools

File-size sweet spot

<1 GB (pandas)

50 GB+ (streaming SQL)

Small–medium

Best for

Edit-and-review workflows

Large-file analytics

Quick analysis

When to pick CSV Editor: you want the AI to make changes to a CSV and iterate, not just answer questions about it. If your workload is read-only analytics on multi-GB files, a DuckDB-based MCP is likely a better fit; CSV Editor's DuckDB/Polars engine support is tracked on the roadmap.

⚡ Quick Demo

# Your AI assistant can now do this:
"Load the sales data and remove duplicates"
"Filter for Q4 2024 transactions over $10,000"  
"Calculate correlation between price and quantity"
"Fill missing values with the median"
"Export as Excel with the analysis"

# All with automatic history tracking and undo capability!

🚀 Quick Start (2 minutes)

Installing via Smithery

To install csv-editor for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @santoshray02/csv-editor --client claude
# Install uv if needed (one-time setup)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Clone and run
git clone https://github.com/santoshray02/csv-editor.git
cd csv-editor
uv sync
uv run csv-editor

Configure Your AI Assistant

Add to your claude_desktop_config.json:

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

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

  • Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "csv-editor": {
      "command": "uv",
      "args": ["tool", "run", "csv-editor"],
      "env": {
        "CSV_MAX_FILE_SIZE": "1073741824"
      }
    }
  }
}

Any MCP-capable client works with stdio transport. See MCP_CONFIG.md for per-client setup.

ChatGPT Connectors require remote Streamable HTTP with OAuth, which is tracked on the roadmap but not yet in v2.0.0. Use stdio-based clients (Claude Desktop, Claude Code, Cursor, etc.) in the meantime.

💡 Real-World Use Cases

📊 Data Analyst Workflow

# Morning: Load yesterday's data
session = load_csv("daily_sales.csv")

# Clean: Remove duplicates and fix types
remove_duplicates(session_id)
change_column_type("date", "datetime")
fill_missing_values(strategy="median", columns=["revenue"])

# Analyze: Get insights
get_statistics(columns=["revenue", "quantity"])
detect_outliers(method="iqr", threshold=1.5)
get_correlation_matrix(min_correlation=0.5)

# Report: Export cleaned data
export_csv(format="excel", file_path="clean_sales.xlsx")

🏭 ETL Pipeline

# Extract from multiple sources
load_csv_from_url("https://api.example.com/data.csv")

# Transform with complex operations
filter_rows(conditions=[
    {"column": "status", "operator": "==", "value": "active"},
    {"column": "amount", "operator": ">", "value": 1000}
])
add_column(name="quarter", formula="Q{(month-1)//3 + 1}")
group_by_aggregate(group_by=["quarter"], aggregations={
    "amount": ["sum", "mean"],
    "customer_id": "count"
})

# Load to different formats
export_csv(format="parquet")  # For data warehouse
export_csv(format="json")     # For API

🔍 Data Quality Assurance

# Validate incoming data
validate_schema(schema={
    "customer_id": {"type": "integer", "required": True},
    "email": {"type": "string", "pattern": r"^[^@]+@[^@]+\.[^@]+$"},
    "age": {"type": "integer", "min": 0, "max": 120}
})

# Quality scoring
quality_report = check_data_quality()
# Returns: overall_score, missing_data%, duplicates, outliers

# Anomaly detection
anomalies = find_anomalies(methods=["statistical", "pattern"])

🎨 Core Features

Data Operations

  • Load & Export: CSV, JSON, Excel, Parquet, HTML, Markdown

  • Transform: Filter, sort, group, pivot, join

  • Clean: Remove duplicates, handle missing values, fix types

  • Calculate: Add computed columns, aggregations

Analysis Tools

  • Statistics: Descriptive stats, correlations, distributions

  • Outliers: IQR, Z-score, custom thresholds

  • Profiling: Complete data quality reports

  • Validation: Schema checking, quality scoring

Productivity Features

  • Auto-Save: Never lose work with configurable strategies

  • History: Full undo/redo with operation tracking

  • Sessions: Multi-user support with isolation

  • Performance: Stream processing for large files

📚 Available Tools

Server info (2)

  • health_check — health status + active session count

  • get_server_info — capabilities, supported formats, limits

I/O operations (7)

  • load_csv — Load from file

  • load_csv_from_url — Load from URL

  • load_csv_from_content — Load from string

  • export_csv — Export to various formats (csv, tsv, json, excel, parquet, html, markdown)

  • get_session_info — Session details

  • list_sessions — Active sessions

  • close_session — Cleanup

Data manipulation (10)

  • filter_rows — Complex filtering

  • sort_data — Multi-column sort

  • select_columns — Column selection

  • rename_columns — Rename columns

  • add_column — Add computed columns

  • remove_columns — Remove columns

  • update_column — Update values

  • change_column_type — Type conversion

  • fill_missing_values — Handle nulls

  • remove_duplicates — Deduplicate

Analysis (7)

  • get_statistics — Statistical summary

  • get_column_statistics — Column stats

  • get_correlation_matrix — Correlations

  • group_by_aggregate — Group operations

  • get_value_counts — Frequency counts

  • detect_outliers — Find outliers (IQR, Z-score)

  • profile_data — Data profiling

Validation (3)

  • validate_schema — Schema validation

  • check_data_quality — Quality metrics + overall score

  • find_anomalies — Anomaly detection

Auto-save (4)

  • configure_auto_save — Setup auto-save strategy

  • disable_auto_save — Turn off auto-save

  • get_auto_save_status — Check status

  • trigger_manual_save — Force a save now

History (6)

  • undo — Step back one operation

  • redo — Step forward after undo

  • get_history — View operations log

  • restore_to_operation — Time travel to a specific operation

  • clear_history — Reset history

  • export_history — Export operations log

⚙️ Configuration

Environment variables

Variable

Default

Description

CSV_MAX_FILE_SIZE

1024 (MB)

Maximum file size (megabytes)

CSV_SESSION_TIMEOUT

60 (minutes)

Session timeout

CSV_EDITOR_CSV_HISTORY_DIR

.csv_history

Directory for persisted operation history

Auto-Save Strategies

CSV Editor automatically saves your work with configurable strategies:

  • Overwrite (default) - Update original file

  • Backup - Create timestamped backups

  • Versioned - Maintain version history

  • Custom - Save to specified location

# Configure auto-save
configure_auto_save(
    strategy="backup",
    backup_dir="/backups",
    max_backups=10
)

🛠️ Advanced Installation Options

Using pip

git clone https://github.com/santoshray02/csv-editor.git
cd csv-editor
pip install -e .

Using pipx (Global)

pipx install git+https://github.com/santoshray02/csv-editor.git

From PyPI (once v2.0.0 is live)

pip install csv-editor            # latest
pip install csv-editor==2.0.0     # pinned
# Or with uv:
uv tool install csv-editor

From GitHub

# Latest main
pip install git+https://github.com/santoshray02/csv-editor.git

# Specific release
pip install git+https://github.com/santoshray02/csv-editor.git@v2.0.0

# Or with uv
uv pip install git+https://github.com/santoshray02/csv-editor.git@v2.0.0

🧪 Development

Running tests

uv run pytest tests/ -v                  # Run tests
uv run pytest tests/ --cov=src/csv_editor # With coverage
uv run ruff check src/ tests/             # Lint
uv run black --check src/ tests/          # Format check
uv run mypy src/                          # Type check

CI runs the full pytest matrix on Python 3.11–3.14 for every push to main — see .github/workflows/test.yml.

Project Structure

csv-editor/
├── src/csv_editor/   # Core implementation
│   ├── tools/        # MCP tool implementations
│   ├── models/       # Data models
│   └── server.py     # MCP server
├── tests/            # Test suite
├── examples/         # Usage examples
└── docs/            # Documentation

🤝 Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

Quick Contribution Guide

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes with tests

  4. Run uv run pytest tests/ and uv run ruff check src/ tests/

  5. Submit a pull request

📈 Roadmap

Post-v2.0.0 priorities (see the 2026 relevance audit for context):

  • pandas 3.0 / numpy 2.4 — Copy-on-Write migration, Arrow-backed default strings (follow-up to v2.0.0).

  • DuckDB + Polars engines — swappable backends with DuckDB as the default for files >100 MB (closes the large-file gap).

  • MCP async Tasks + Resource Links — non-blocking load_csv / export_csv / profile_data for GB files; paginated large results.

  • Remote HTTP + OAuth (CIMD) — enables ChatGPT Connectors and VS Code Copilot remote usage.

  • Elicitation — prompt for ambiguous CSV dialect / encoding / dtype at load time instead of failing.

  • Docs migration — Docusaurus → MkDocs-Material with mkdocstrings for auto-generated API docs.

💬 Support

📄 License

MIT License - see LICENSE file

🙏 Acknowledgments

Built with:

  • FastMCP - Fast Model Context Protocol

  • Pandas - Data manipulation

  • NumPy - Numerical computing


Ready to supercharge your AI's data capabilities? Get started in 2 minutes →

Available Tools

39 tools
add_columnC

Add a new column to the dataframe.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes
nameYes
valueNo
formulaNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

No annotations provided, so the description carries full burden. It lacks disclosure on behavior like column existence checks, session requirements, or the relationship between 'value' and 'formula' parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence is concise but not optimally structured; it lacks front-loading of key behavioral constraints or parameter nuances.

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 4 parameters (2 required), no output schema explanation, and no annotations, the description is insufficient for an agent to fully understand invocation and result.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no meaning to the parameters ('session_id', 'name', 'value', 'formula'). Nothing clarifies their roles or interactions.

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 states a specific action ('Add a new column') and the resource ('dataframe'). However, it does not differentiate from sibling tools like 'update_column' or 'rename_columns', missing scope details.

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 on when to use this tool versus alternatives; no mention of prerequisites or situations where add_column is preferred over others.

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

change_column_typeC

Change the data type of a column.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes
columnYes
dtypeYes
errorsNocoerce

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are present, and the description does not disclose behavioral traits such as potential data loss when converting types, error handling via the 'errors' parameter, or that the operation modifies data in place.

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 short sentence with no wasted words. It is appropriately concise but lacks structure (e.g., no breakdown of behavior or parameters).

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 4 parameters (3 required), no annotations, and an existing output schema, the description is insufficient. It does not cover return values, side effects, or error handling, making it incomplete for a tool with this complexity.

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

Parameters1/5

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

The description adds no information about the parameters. Schema coverage is 0%, and the input schema lacks descriptions. The agent receives no help understanding 'session_id', 'column', 'dtype', or 'errors'.

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 action ('change') and the resource ('data type of a column'), which distinguishes it from siblings like 'update_column' that modify values. However, it could be more specific about the context (e.g., in a loaded dataset).

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 'update_column' or 'rename_columns'. There is no mention of prerequisites or scenarios.

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

check_data_qualityC

Check data quality based on predefined or custom rules.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes
rulesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description must bear the burden of behavioral disclosure, but it only vaguely mentions 'predefined or custom rules.' It does not specify side effects (e.g., does it modify data?), required permissions, or output behavior beyond what the output schema might imply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, which is efficient but sacrifices necessary detail. It front-loads the purpose but omits elaboration that would fit in a brief paragraph.

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 of the sibling tools and the lack of schema descriptions, this description is too sparse. An output schema exists but is not described; the tool's role among many related operations remains unclear.

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

Parameters2/5

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, but it only loosely references 'rules' without explaining their format or valid values. The 'session_id' parameter is not mentioned at all, adding minimal meaning beyond the schema.

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 uses a specific verb ('check') and resource ('data quality'), distinguishing this tool from sibling transformation tools. However, it lacks detail on what 'data quality' entails (e.g., missing values, outliers), which slightly reduces clarity.

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 detect_outliers or profile_data. There is no mention of prerequisites, context, or exclusions, leaving the agent to infer usage independently.

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

clear_historyC

Clear all operation history for a session.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must fully convey behavioral traits. It states 'clear all operation history' but does not disclose irreversibility, permissions needed, or impact on other sessions.

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 sentence with no unnecessary words. It is front-loaded and concise, though it could benefit from slightly more detail without becoming verbose.

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's simplicity and the presence of an output schema, the description is still too sparse. It omits context about clearing all history (e.g., permanence, effect on undo/redo) and does not leverage the output schema hint.

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

Parameters2/5

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

The description adds no meaning beyond the input schema for the single 'session_id' parameter. Schema coverage is 0%, and the description fails to explain what session_id represents or how to obtain it.

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 action (clear) and the resource (operation history for a session). It distinguishes from siblings like get_history (read-only), undo (single step), and redo (restore).

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 does not provide guidance on when to use this tool versus alternatives like undo or restore_to_operation. It lacks context on prerequisites or typical scenarios.

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

close_sessionB

Close and clean up a session.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. 'Close and clean up' implies session termination but lacks detail on consequences (e.g., unsaved data, irreversibility). This is insufficient for a destructive tool.

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?

A single sentence that directly states the purpose without extraneous words. Front-loaded with key 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 simplicity (1 param, no nested objects, output schema exists), the description is minimally adequate. However, it omits details about cleanup actions or post-close effects, which would be beneficial for a destructive operation.

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

Parameters2/5

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

Schema description coverage is 0%, and the description adds no extra meaning beyond the parameter name 'session_id'. Although the name is self-explanatory, the description should provide context like format or required state.

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 explicitly states 'Close and clean up a session' with a clear verb-resource pairing. It distinguishes from sibling tools like list_sessions and get_session_info, which are read-only, while this tool is about ending a session.

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 on when to use this tool versus alternatives. It does not mention prerequisites (e.g., session must exist) or when not to use, which is minimal for a destructive operation.

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

configure_auto_saveC

Configure auto-save settings for a session.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes
enabledNo
modeNoafter_operation
strategyNobackup
interval_secondsNo
max_backupsNo
backup_dirNo
custom_pathNo
formatNocsv
encodingNoutf-8

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only says 'configure' without disclosing effects like whether it triggers an immediate save, persists across sessions, or requires an active session. Behavioral traits are largely opaque.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise but lacks necessary detail to be fully self-contained. It is not verbose, but could be structured to include parameter context or usage hints.

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 (10 parameters, output schema, related siblings), the description is incomplete. It does not explain how this tool relates to other auto-save tools, what output to expect, or parameter dependencies.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not clarify any of the 10 parameters (e.g., session_id, enabled, mode). It adds no value beyond the schema itself, leaving agents to guess meanings.

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 'Configure auto-save settings for a session' clearly states the tool's action and resource, and distinguishes it from siblings like disable_auto_save and get_auto_save_status. However, it could be more specific about the scope of configuration (e.g., enabling, mode, strategy).

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 such as disable_auto_save or get_auto_save_status. There is no mention of prerequisites or typical usage scenarios.

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

detect_outliersC

Detect outliers in numeric columns.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes
columnsNo
methodNoiqr
thresholdNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only mentions outlier detection without disclosing method defaults, threshold behavior, or side effects. The output schema exists but is not described, leaving behavioral details opaque.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, which is appropriate but lacks any structure such as bullet points or front-loading of critical details beyond the purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 4 parameters, no annotations, and a sibling with similar purpose, the description is severely incomplete. It omits method options, column specification, threshold meaning, and output format.

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

Parameters1/5

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

Schema description coverage is 0%; the description adds no meaning to any of the 4 parameters. Defaults in the schema provide minimal info, but the description does not compensate for the lack of parameter documentation.

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 'detect' and the resource 'outliers in numeric columns', but does not differentiate from the sibling tool 'find_anomalies' which may have overlapping 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?

No guidance on when to use this tool versus alternatives like 'find_anomalies', and no prerequisites or context are provided.

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

disable_auto_saveC

Disable auto-save for a session.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, and the description lacks details about side effects, prerequisites, reversibility, or error conditions.

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 sentence, very concise and to the point. It could benefit from slightly more structure but is appropriately front-loaded.

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's simplicity and the presence of an output schema, the description is too minimal. It lacks context about the effect, return value, and relationship to sibling tools.

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

Parameters2/5

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

The schema has one parameter 'session_id' with 0% description coverage. The description adds no meaning beyond what the parameter name suggests.

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 action 'disable' and the resource 'auto-save for a session', distinguishing it from sibling tools like 'configure_auto_save' and 'get_auto_save_status'.

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 such as 'configure_auto_save' or 'get_auto_save_status'.

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

export_csvC

Export session data to various formats.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes
file_pathNo
formatNocsv
encodingNoutf-8
indexNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/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 full burden. It does not disclose behaviors such as file overwriting, error handling, authentication needs, or side effects. The description is too minimal for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words, achieving good conciseness. However, it lacks any structured breakdown (e.g., bullet points) and is not front-loaded with critical information beyond the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 parameters, no annotations, and an output schema), the description is grossly incomplete. It does not explain return values, error conditions, or any constraints beyond the schema.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description adds no parameter context. It does not explain the role of parameters like 'file_path', 'encoding', or 'index'. The baseline assumes compensation is needed, but none is provided.

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?

Description states 'Export session data to various formats,' clearly indicating the action (export) and resource (session data). While it mentions various formats, the tool name 'export_csv' is slightly misleading but corrected by the description. It does not differentiate from sibling tool 'export_history', which likely has a different scope.

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 on when to use this tool versus alternatives. There is no mention of prerequisites, context, or exclusions. The description is purely declarative.

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

export_historyC

Export operation history to a file.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes
file_pathYes
formatNojson

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

No annotations provided; description does not disclose side effects (e.g., whether export is read-only or modifies state). Does not mention permissions or expected behavior (e.g., file overwrite). Name suggests read-only, but not confirmed.

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?

Single sentence, no fluff. However, conciseness sacrifices necessary detail. It earns its place but could be expanded slightly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of 3 parameters, no annotations, and no param descriptions, the description is severely lacking. It does not explain the output schema or how the export works relative to siblings. An agent would struggle to use this tool correctly.

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

Parameters1/5

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

Zero schema description coverage, and the description does not explain any parameter. 'session_id', 'file_path', and 'format' are left to guess. The agent cannot infer valid values or usage without additional information.

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 action (export) and resource (operation history) and target (to a file). It distinguishes from siblings like 'get_history' (returns data) and 'export_csv' (likely exports data rather than history). Could be more specific about what 'operation history' means.

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 on when to use this tool versus alternatives (e.g., export_csv, get_history). No prerequisites or context provided (e.g., session must exist). The description is minimal and does not help the agent decide.

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

fill_missing_valuesC

Fill or remove missing values.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes
strategyNodrop
valueNo
columnsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only states the action but not side effects (e.g., in-place modification), data requirements, or error conditions. This is insufficient for safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short (four words), which is efficient but comes at the cost of missing critical information. It should be longer to cover parameters and usage.

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 4 parameters, 0% schema coverage, and no annotations, the description is far from complete. Even with an output schema, the description fails to explain invocation context or return values.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description adds no parameter explanations. The strategy parameter's possible values, the purpose of 'value', and the scope of 'columns' are completely unexplained.

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 'Fill or remove missing values' clearly states the tool's action on missing values. It distinguishes from sibling tools like 'detect_outliers' or 'remove_duplicates', though it could be more specific about the filling strategies.

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 usage guidelines provided. The description does not indicate when to use fill vs remove, or how to choose among sibling tools. The agent receives no contextual cues for selection.

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

filter_rowsD

Filter rows based on conditions.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes
conditionsYes
modeNoand

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1.8/5.0
Behavior1/5

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

With no annotations provided, the description carries full burden for behavior. It does not disclose whether filtering is destructive or temporary, nor the effect on session state. Critical behavior is omitted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence is too brief for a tool with 3 parameters and an output schema. It lacks necessary details while not being effectively concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (3 params, output schema exists), the description is severely incomplete. No information on return values, behavior, or how to construct conditions.

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

Parameters1/5

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

Schema description coverage is 0%. The description adds no extra meaning to the parameters (session_id, conditions, mode). The structure of 'conditions' and meaning of 'mode' remain unexplained.

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 'Filter rows based on conditions' indicates a verb and resource, but the resource is vague ('rows' of what?). It does not differentiate from sibling tools like 'select_columns' or 'sort_data'.

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 on when to use this tool versus alternatives such as 'select_columns' or 'detect_outliers'. No context provided for appropriate usage.

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

find_anomaliesC

Find anomalies in the data using multiple detection methods.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes
columnsNo
sensitivityNo
methodsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It mentions 'using multiple detection methods' but does not disclose what those methods are, whether data is modified, or the nature of the output (output schema exists but is not referenced).

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, concise sentence that front-loads the verb and resource. It avoids wordiness, making it easy to parse quickly.

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?

Despite having an output schema, the description does not mention return values or structure. With 4 parameters and no schema descriptions, the description is too sparse to fully guide an agent. Important context like available detection methods and sensitivity meaning is missing.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no parameter-level information. Parameters like 'sensitivity', 'methods', and 'columns' are completely unexplained. The phrase 'multiple detection methods' hints at the 'methods' parameter but is insufficient.

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 'find' and resource 'anomalies in the data', which gives a good sense of the tool's purpose. However, it does not differentiate from the sibling tool 'detect_outliers', which likely has a similar function.

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 on when to use this tool versus alternatives like 'detect_outliers'. There is no mention of prerequisites, limitations, or typical use cases. The description is entirely generic.

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

get_auto_save_statusC

Get auto-save status for a session.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only states 'Get auto-save status', implying a read operation, but does not mention any side effects, prerequisites (e.g., session must exist), or performance characteristics.

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 redundant words. It is appropriately sized for a simple tool.

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 simplicity (one parameter, output schema exists), the description is minimal but sufficient for basic understanding. However, it could benefit from mentioning that the output schema defines the status structure.

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

Parameters2/5

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

Schema description coverage is 0%. The description adds no explanation for the required parameter 'session_id'. Although it is implied from context, the description should elaborate on its purpose.

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 action 'Get' and resource 'auto-save status' for a session. It distinguishes from sibling tools like 'configure_auto_save' and 'disable_auto_save' which imply modification. However, it lacks specificity about the status type.

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. For example, it does not mention that it should be called after configuring auto-save or before disabling it.

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

get_column_statisticsC

Get detailed statistics for a specific column.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes
columnYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are present, so the description carries full burden. It merely states 'get detailed statistics' without specifying what statistics are included (e.g., count, mean, std) or any behavioral traits like side effects or permissions. This is insufficient for a data retrieval tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (one sentence), but this brevity comes at the cost of missing critical details. It is not optimally concise; it sacrifices informativeness for short length.

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's complexity (2 params, output schema exists) and many siblings, the description is too sparse. It fails to hint at output content or differentiate from similar tools like 'get_statistics' or 'get_value_counts', leaving the agent underinformed.

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

Parameters1/5

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

Schema description coverage is 0%. The description adds no meaning beyond the parameter names and types. It does not explain the expected format of 'column' (e.g., name or index) or the role of 'session_id'. Without elaboration, the parameters remain ambiguous.

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 tool retrieves detailed statistics for a specific column. It distinguishes from siblings like 'get_statistics' (likely overall) and 'get_value_counts' (more specific), leaving no ambiguity.

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 lacks context, prerequisites, or exclusion criteria, making it hard for an agent to decide when to invoke it.

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

get_correlation_matrixC

Calculate correlation matrix for numeric columns.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes
methodNopearson
columnsNo
min_correlationNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations and a minimal description, there is no disclosure of behavioral traits such as whether the tool modifies data, performance implications, or output structure. The description carries the full burden but adds little.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short (one sentence), which is concise but lacks structure. It has no wasted words, but brevity comes at the cost of completeness.

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 four parameters with no schema descriptions, no annotations, and no mention of the output schema (which exists), the description is insufficient to fully understand the tool's usage and behavior.

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

Parameters2/5

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

Schema coverage is 0%, yet the description only mentions 'numeric columns' without clarifying the purpose of each parameter (e.g., 'method', 'columns', 'min_correlation'). No added value beyond the implicit schema.

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 action ('calculate') and the resource ('correlation matrix for numeric columns'), effectively distinguishing it from sibling tools like 'get_column_statistics' or 'detect_outliers'.

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, or on prerequisites. The description lacks context for appropriate usage.

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

get_historyB

Get operation history for a session.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, potential side effects, or data volume considerations. For a read operation, it should at least imply safety, but it remains silent.

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 sentence with no superfluous words, achieving maximum conciseness for the given 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?

Given the existence of an output schema and only two simple parameters, the description could be minimally adequate. However, the lack of parameter details and behavioral context reduces completeness.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description adds no clarity on parameters like 'session_id' format or 'limit' behavior (e.g., pagination, default value). Parameter names alone are insufficient.

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 'Get operation history for a session.' clearly states the action (get) and the resource (operation history for a session). It distinguishes this tool from siblings like clear_history, export_history, and close_session.

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 usage guidance is provided. The description does not specify when to use this tool, prerequisites, or alternatives among sibling tools like get_session_info or list_sessions.

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

get_server_infoA

Get information about the CSV Editor capabilities.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only says 'get information.' It does not disclose whether the tool is read-only, idempotent, or if it requires any setup. The behavioral traits are minimal.

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?

A single clear sentence that conveys the purpose without any wasted words. It is appropriately front-loaded and concise for the tool's simplicity.

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 has no parameters and an output schema exists (though not shown), the description is adequate. It could be more specific about what 'capabilities' includes, but it is sufficiently complete for a simple info tool.

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?

The tool has no parameters, so the schema coverage is 100%. Baseline for 0 parameters is 4. The description adds no param info because none exist, which is appropriate.

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 tool retrieves information about CSV Editor capabilities, which is a specific verb-resource combination. It distinguishes from sibling tools that focus on data manipulation or session details.

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 on when to use this tool versus alternatives like get_session_info or health_check. The description does not mention any prerequisites or exclusions.

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

get_session_infoC

Get information about a specific session.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, and the description fails to disclose behavioral traits such as whether the operation is read-only, requires authentication, or has side effects. It simply states 'Get information' without further 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 a single sentence with no redundancy, achieving maximum conciseness. It front-loads the key information without unnecessary words.

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 tool is simple with one parameter, but the description lacks contextual completeness: no mention of return value structure (though output schema exists), required session existence, or error conditions. It is minimally adequate.

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

Parameters2/5

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

The input schema defines one parameter ('session_id') with no description, and the tool description does not explain its meaning, format, or examples. With 0% schema description coverage, the description should compensate but does not.

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 uses a specific verb ('Get') and resource ('information about a specific session'), clearly communicating the tool's function. However, it does not distinguish from sibling tools like 'list_sessions' or 'close_session', which also operate on sessions.

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. For example, it does not mention that this tool retrieves detailed info for one session while 'list_sessions' provides an overview of all sessions.

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

get_statisticsC

Get statistical summary of numerical columns.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes
columnsNo
include_percentilesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It indicates a read-like operation, but does not mention output format, side effects, or whether the tool is idempotent. The name implies safety, but the description is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise. However, it omits essential details, making it under-specified rather than simply brief.

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 an output schema and three parameters, the description is incomplete. It does not explain the return value or parameter semantics, and it fails to differentiate from sibling tools.

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

Parameters1/5

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

The description gives no information about the three parameters (session_id, columns, include_percentiles). With 0% schema description coverage, the description should compensate, but it does not.

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 retrieves a statistical summary of numerical columns. It uses a specific verb and resource, but it does not differentiate from sibling tool 'get_column_statistics', which suggests similar 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?

No guidance is provided on when to use this tool versus alternatives like 'get_column_statistics' or other analysis tools. The description gives no context for selection.

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

get_value_countsC

Get value counts for a column.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes
columnYes
normalizeNo
sortNo
ascendingNo
top_nNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits. It does not mention what happens if the column is missing, performance implications, or output behavior such as handling of null values or empty results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, very concise, but it lacks structure and fails to front-load essential details like parameter usage. It is appropriately brief but at the cost of completeness.

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 6 parameters and no schema descriptions, the description is too minimal. Although an output schema exists, the description does not cover parameter semantics or usage scenarios, leaving significant gaps for an agent.

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

Parameters2/5

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

Schema description coverage is 0%, and the description adds no explanation for parameters like 'session_id' or 'top_n'. While some parameter names are self-explanatory, crucial context is missing, requiring the agent to infer meanings.

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 'Get value counts for a column' clearly states the verb and resource, and it distinguishes from siblings like 'get_column_statistics' that provide different aggregations.

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 such as 'filter_rows' or 'group_by_aggregate'. The description lacks context for appropriate usage.

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

group_by_aggregateD

Group data and apply aggregation functions.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes
group_byYes
aggregationsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1.8/5.0
Behavior1/5

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

With no annotations, the description must disclose behavioral traits. It fails to mention whether the tool modifies the session data, returns a new view, or requires a session. No information about side effects or constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is under-specified for a tool with multiple required parameters and complex inputs. It sacrifices completeness for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (3 required params, nested objects, output schema), the description is far from complete. It does not explain how the tool interacts with the session or what the output contains.

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

Parameters1/5

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

The input schema has 3 parameters with 0% description coverage. The description adds no explanation of what 'session_id', 'group_by', or 'aggregations' mean or how they should be formatted. The 'aggregations' object is especially opaque.

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 'Group data and apply aggregation functions' states the general action but lacks specificity about what kind of aggregation (e.g., sum, average) or how grouping works. It is not a tautology, but it is vague and does not differentiate from sibling tools like filter_rows or sort_data.

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 does not mention prerequisites, exclusions, or comparison to other data manipulation tools on the server.

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

health_checkB

Check the health status of the CSV Editor.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It states the tool 'checks' but does not clarify that it is read-only, has no side effects, or what response format to expect. With an output schema present, the description could at least mention that the result indicates operational status. This lack of transparency is a significant gap.

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, front-loaded sentence with no unnecessary words. It efficiently conveys the core purpose. Perfect for a tool with zero parameters.

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 low complexity (no parameters, output schema exists), the description is sufficiently complete. It covers the essential purpose. However, it could briefly mention that the output (defined in schema) will indicate health status (e.g., ok/error), but this is optional since the schema exists.

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?

The tool has no parameters, so the input schema is fully covered (100%). The description does not need to explain parameters. According to calibration rules, 0 parameters yields a baseline of 4. The description adds no confusion, so the score remains 4.

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 'Check the health status of the CSV Editor.' It uses a specific verb and resource, and it differentiates well from sibling tools focused on editing or data manipulation. However, it could be more precise about what 'health status' encompasses (e.g., server connectivity, service availability).

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, such as other checking tools like get_server_info. For a health check, it would be helpful to indicate that this is a quick ping and not a deep diagnostic. No exclusions or prerequisites are mentioned.

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

list_sessionsB

List all active sessions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are present, so the description bears full responsibility for behavioral disclosure. It only states the action without revealing side effects, permission requirements, or whether it is idempotent/read-only. For a tool that lists sessions, more context on what 'active' means and whether any state is modified would be beneficial.

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, consisting of a single sentence with no extraneous words. It front-loads the essential information effectively.

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 simplicity of the tool (no parameters, output schema present), the description is largely complete. However, it could be improved by briefly noting the context of sessions (e.g., related to a workspace or application), but the output schema likely covers return details.

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?

The input schema has no parameters, and the description adds no parameter information beyond what the schema provides. With 100% schema coverage for zero parameters, a baseline of 4 is appropriate.

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 lists all active sessions. It uses specific verb 'list' and resource 'active sessions', which is unambiguous. However, it does not distinguish from sibling tools like get_session_info, which might provide details on a specific session.

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 usage guidance is provided. The description does not indicate when to use this tool versus alternatives such as get_session_info or close_session, nor does it mention any prerequisites or context.

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

load_csvC

Load a CSV file into a session.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes
encodingNoutf-8
delimiterNo,
session_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided. The description only states the action without disclosing side effects, permissions, or constraints beyond loading a CSV.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, but it lacks additional structure. Given the complexity, it could be more informative without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is incomplete for a tool with 4 parameters and no schema descriptions. No mention of output, error conditions, or session lifecycle is provided.

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

Parameters1/5

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

Schema coverage is 0%, and the description does not explain any of the four parameters (file_path, encoding, delimiter, session_id).

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 verb 'Load', the resource 'CSV file', and the destination 'into a session'. It distinguishes from siblings like load_csv_from_url and load_csv_from_content.

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 on when to use this tool versus alternatives. Siblings exist (load_csv_from_url, load_csv_from_content) but no context is provided for choosing this tool.

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

load_csv_from_contentB

Load CSV data from string content.

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYes
delimiterNo,
session_idNo
has_headerNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior1/5

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

No annotations are provided, and the description does not disclose any behavioral traits such as whether the tool mutates state, requires authentication, or handles sessions. The one-sentence description is entirely insufficient for 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 a single sentence that efficiently conveys the core purpose. It is front-loaded and avoids redundancy, but could include more detail without being overly verbose.

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?

Despite having an output schema, the description omits important context such as how the loaded data is returned, session interaction, and parameter roles. It is inadequate for a tool with four parameters and no annotations.

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

Parameters2/5

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

With 0% schema description coverage, the description adds no meaning for the delimiter, session_id, or has_header parameters. Only the 'content' parameter is implied by the description, leaving three parameters unexplained.

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 tool loads CSV data from a string content. It distinguishes itself from sibling tools like 'load_csv' and 'load_csv_from_url' by specifying the source as string content.

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 implies usage when CSV data is available as a string, but it does not explicitly mention when to use this tool over alternatives or provide exclusions. The context is clear but lacks direct guidance.

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

load_csv_from_urlC

Load a CSV file from a URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
encodingNoutf-8
delimiterNo,
session_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.3/5.0
Behavior1/5

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

No annotations exist, so the description must fully convey behavioral traits. It only states 'Load a CSV file from a URL' without revealing side effects (e.g., network call, file size limits, error handling, or whether it modifies session state). This is critically insufficient for a tool that likely performs an external fetch.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (one short sentence), but at the cost of missing critical details. It is not well-structured for an AI agent, lacking any breakdown of behavior or parameters. While brevity can be good, here it borders on under-specification.

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?

Despite the presence of an output schema (which reduces the need to describe return values), the description fails to cover basic operational context such as how the URL is processed, what happens on failure, or how the session_id parameter affects behavior. With 4 parameters and no annotations, the description is notably incomplete.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not elaborate on any parameter. The meaning of 'url', 'encoding', 'delimiter', and 'session_id' is completely absent. The default values exist in the schema but their purpose or constraints are not explained, leaving the agent to guess.

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 action ('Load') and the resource ('CSV file from a URL'). It is specific about loading from a URL, which distinguishes it from other file sources. However, it does not explicitly contrast with sibling tools that load CSV from other sources, so it lacks strong 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?

No guidance is provided on when to use this tool versus alternatives such as 'load_csv' or 'load_csv_from_content'. There is no mention of prerequisites, limitations, or context (e.g., URL validation, network requirements), leaving the agent without decision support.

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

profile_dataC

Generate comprehensive data profile.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes
include_correlationsNo
include_outliersNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2/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. It only says 'generate' without indicating whether the tool is read-only, what side effects occur, or what the output entails. The agent cannot determine if this is a mutation or an analysis tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, making it short, but it sacrifices critical information. It is under-specified rather than concise, as every sentence should earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of multiple sibling tools and three parameters, the description is wholly inadequate. It fails to explain what a 'data profile' includes, how it differs from other analysis tools, or what the output schema provides.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain any of the three parameters (session_id, include_correlations, include_outliers). The agent has no clue what these parameters control or how to use them.

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 'Generate comprehensive data profile,' which identifies a specific verb and resource. However, it remains vague because 'comprehensive data profile' is not defined, and sibling tools like get_statistics, get_correlation_matrix, and detect_outliers overlap in functionality without clear 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?

No guidance is provided on when to use this tool versus alternatives. The description does not mention scenarios, prerequisites, or exclusions, leaving the agent to guess based on tool names alone.

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

redoC

Redo a previously undone operation.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

No annotations exist, and the description does not disclose side effects, error conditions (e.g., no operation to redo), or whether redo is destructive. The agent lacks critical behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is short but not optimally concise—it sacrifices clarity for brevity. Every word is used, but more detail would be warranted.

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's simplicity (one parameter, no nested objects) and the presence of an output schema, the description should still provide context about redo history and session linking. It fails to do so, leaving gaps in the agent's understanding.

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

Parameters1/5

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

The input schema has one required parameter 'session_id' with no description, and schema description coverage is 0%. The description does not explain the parameter's purpose (e.g., which session's redo history to use), leaving the agent to guess.

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 action ('Redo a previously undone operation'), which is distinct from sibling tools like 'undo' (reverse) and 'restore_to_operation' (point-in-time restore). However, it lacks specificity about scope or limitations.

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 on when to use redo versus undo or restore_to_operation. It does not mention that a prior undo is required or what happens if the redo stack is empty.

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

remove_columnsC

Remove columns from the dataframe.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes
columnsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided, so description must cover behavior. Only states 'remove columns' implying mutation but does not disclose if operation is reversible, affects the original dataframe, or any side effects on the session.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is very short and front-loaded, but it lacks necessary details for a data mutation tool. While concise, it sacrifices completeness; additional context would improve utility without becoming verbose.

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 two required parameters, no annotations, and is a mutation operation, the description is insufficient. It does not explain return behavior (despite output schema existing), nor does it clarify session context or column removal semantics.

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

Parameters2/5

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

Schema description coverage is 0%, and the description adds no extra meaning beyond parameter names. It does not explain that 'session_id' identifies the dataframe session or that 'columns' is an array of column names to remove.

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?

Description clearly states the verb 'remove' and resource 'columns' from 'dataframe'. It directly conveys the primary action. However, it does not distinguish from sibling tools like 'select_columns' or 'rename_columns', missing 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?

No guidance on when to use this tool versus alternatives like 'select_columns' or 'filter_rows'. No context on prerequisites (e.g., session existence) or when removal is appropriate.

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

remove_duplicatesC

Remove duplicate rows.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes
subsetNo
keepNofirst

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description must disclose behavioral traits. It fails to describe if data is modified in place, irreversible, or how duplicates are identified (e.g., row selection criteria).

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 with no waste. However, it lacks any structural elements like sections or examples, which limits its helpfulness.

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?

There is an output schema, so return values are partially covered. However, for a data modification tool, the description omits important context like whether the operation is reversible or requires a session ID.

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

Parameters1/5

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

With 0% schema description coverage and 3 unexplained parameters, the description adds no meaning. 'subset' and 'keep' are not clarified despite defaults and potential impact on behavior.

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 explicitly states 'Remove duplicate rows,' clearly indicating the verb and resource. Among sibling tools like 'filter_rows' or 'detect_outliers', this uniquely identifies the operation.

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 guidelines provided on when to use this tool versus alternatives like 'filter_rows' or 'check_data_quality'. There is no mention of prerequisites or context.

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

rename_columnsC

Rename columns in the dataframe.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes
mappingYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.5/5.0
Behavior2/5

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

No annotations are present, so the description must disclose behavior. It only states 'rename columns' without explaining effects (e.g., in-place mutation, return of modified dataframe, error conditions). Important behavioral traits are missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise, but it lacks necessary detail. Oversimplification leads to ambiguity; it is not effectively compact.

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 presence of many sibling tools (e.g., 'remove_columns', 'select_columns'), the description fails to position this tool within the workflow. The output schema exists but is not referenced. The description is insufficient for an agent to use the tool correctly.

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

Parameters2/5

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

The schema coverage is 0%. The description does not explain the 'session_id' or 'mapping' parameters. The mapping object schema implies old-to-new name pairs, but the description adds no clarification beyond the schema.

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 action ('rename') and the resource ('columns in the dataframe'). The verb and object are specific, making the tool's purpose clear. However, it does not differentiate from sibling tools like 'update_column' or 'add_column'.

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 or when to prefer alternatives. The description does not mention prerequisites, scenarios, or exclusions.

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

restore_to_operationC

Restore session data to a specific operation point.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes
operation_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It only says 'restore session data to a specific operation point' without specifying whether the operation is destructive, reversible, or has side effects. It fails to provide necessary behavioral context.

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 very concise—one sentence with no extraneous words. It front-loads the core action. However, its brevity comes at the cost of completeness, which is reflected in other scores.

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 that the tool has two required parameters, no annotations, but an output schema exists, the description is too vague. It does not explain what an 'operation point' is or how the restore affects session state, leaving significant gaps for the agent.

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

Parameters2/5

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

The input schema has two required parameters (session_id, operation_id) with no descriptions (0% coverage). The description does not explain these parameters, leaving the agent without meaning beyond the schema. It adds no value to 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 action ('restore') and the target ('session data to a specific operation point'). It provides a specific verb and resource, which is helpful. However, it does not differentiate from sibling tools like 'undo' or 'redo', which might serve similar purposes.

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 lacks any guidance on when to use this tool versus alternatives (e.g., undo, redo, or other session restore methods). There is no mention of context, prerequisites, or exclusion criteria.

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

select_columnsC

Select specific columns from the dataframe.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes
columnsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It only says 'select' but does not disclose whether selection modifies the dataframe or returns a view, whether it supports complex column selections, or any side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very concise, single sentence. No fluff, but lacks necessary detail, making it under-specified rather than efficiently informative.

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?

While output schema exists (covering return values), the description omits crucial behavioral and context info (e.g., mutability, scope, error conditions), making it incomplete for safe invocation.

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

Parameters1/5

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

Input schema has 0% description coverage, and the description adds no meaning to parameters like session_id or columns (e.g., format, allowed values).

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?

Description clearly states verb 'select' with resource 'specific columns from the dataframe', distinguishing it from sibling tools like remove_columns or rename_columns.

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 on when to use this tool versus alternatives, no prerequisites mentioned (e.g., session must be active), and no context on typical use cases.

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

sort_dataC

Sort data by columns.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes
columnsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.1/5.0
Behavior1/5

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

No annotations are provided, and the description does not disclose any behavioral traits beyond the basic sort action. There is no mention of mutability, stability, or side effects, leaving the agent unaware of potential impacts.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

While the description is short, it sacrifices informativeness for brevity. It fails to add value beyond the tool name, and every sentence (just one) does not earn its place because it could be replaced by a more detailed description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of the data environment with 30+ sibling tools and the lack of annotations or output schema details, the description is drastically incomplete. It does not convey sorting direction, stability, or interaction with session state.

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

Parameters1/5

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

The input schema has 0% description coverage for parameters. The description only mentions 'by columns' but does not explain the format or expected values for the 'columns' array or the purpose of 'session_id'. The agent has no semantic guidance beyond the schema structure.

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 'Sort data by columns.' clearly states the verb 'sort' and the resource 'data by columns', distinguishing it from other data manipulation tools like filter_rows or group_by_aggregate. However, it lacks specificity about sort order or behavior.

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 sibling tools such as filter_rows or group_by_aggregate. There is no mention of prerequisites, when to avoid, or alternatives.

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

trigger_manual_saveC

Manually trigger a save for a session.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/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 full burden for behavioral disclosure. It implies a mutation (saving data) but does not disclose side effects, safety (idempotent?), or any dependencies, leaving the agent with minimal insight beyond the action.

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 with no superfluous words. It is perfectly concise for the information it conveys.

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?

With an output schema available but not referenced, the description misses an opportunity to clarify return values. Given the tool's simplicity and one parameter, the description still lacks context about when saving occurs, implications for state, and relation to sibling tools like 'configure_auto_save'.

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

Parameters2/5

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

The single parameter 'session_id' is not described in the input schema (0% schema description coverage). The tool description adds no meaning beyond what the schema already provides, and the parameter purpose is only inferred from context.

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 action ('Manually trigger a save') and the target ('for a session'). It is specific and distinct from siblings like 'configure_auto_save' or 'close_session', though it does not elaborate on the exact scope of 'save' (e.g., disk vs memory).

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 on when to use this tool versus alternatives (e.g., auto-save, explicit close). The description lacks context such as prerequisites (session must exist) or situations where manual save is appropriate.

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

undoC

Undo the last operation in a session.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 full burden. It only states it undoes the last operation without disclosing reversibility, side effects, or what happens to session state. Critical details are missing for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise (one sentence) and gets the core purpose across, but it is overly terse and lacks important details. It is not wasteful but could be more informative.

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 that there is an output schema and only one parameter, the description is incomplete. It does not explain the output or any behavioral guarantees. Essential information for a tool that modifies state is missing.

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

Parameters1/5

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

Schema description coverage is 0%. The description adds no meaning beyond the schema; it does not explain the session_id parameter or its purpose. A baseline score of 1 is warranted.

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 it undoes the last operation in a session. It uses a specific verb ('Undo') and resource ('last operation in a session'), distinguishing it from siblings like 'redo' and 'restore_to_operation'.

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 implies usage for the most recent operation but provides no explicit guidance on when to use versus alternatives. No exclusions or prerequisites are mentioned.

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

update_columnC

Update values in a specific column with simple operations like replace, extract, split, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes
columnYes
operationYes
valueNo
patternNo
replacementNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description must fully disclose behavioral traits. It only says 'Update values' without specifying whether changes are permanent, if the session is modified in-place, or if the operation is reversible (e.g., via undo). It also does not mention required permissions, error handling, or any side effects. This is a significant gap for a mutation tool.

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 sentence that is front-loaded with the core action. It is concise enough to avoid unnecessary verbosity. However, it could be slightly expanded to include key parameter guidance without losing conciseness.

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's complexity (6 parameters, no annotations) and the presence of many sibling data manipulation tools, the description is severely incomplete. It does not explain the required parameters (session_id, column, operation), the behavior of different operations, or how results are returned (though an output schema exists). The description leaves the agent with many open questions for correct invocation.

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

Parameters2/5

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

The input schema has 6 parameters with 0% description coverage. The description mentions 'replace, extract, split' as example operations but does not map these to the 'operation' parameter or explain the roles of 'value', 'pattern', and 'replacement'. Without this mapping, the agent cannot infer how to correctly set parameters. The description adds minimal semantic value beyond the parameter names.

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 'Update' and the resource 'values in a specific column', and gives example operations (replace, extract, split). However, it does not differentiate from sibling tools like fill_missing_values or filter_rows, which could also modify column values. The purpose is clear but not uniquely distinguishing.

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 add_column, replace, or split. There is no mention of prerequisites, limitations, or context in which this tool is preferred. The description only states what it does, leaving the agent without direction for tool selection.

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

validate_schemaC

Validate data against a schema definition.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes
schemaYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It only states 'validate' without disclosing side effects (e.g., read-only, error behavior), return value, or whether it modifies data. This is insufficient for an agent to understand behavioral traits.

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, concise sentence with no redundancy. It is appropriately sized, but some additional context could be added without becoming verbose.

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's complexity (nested object parameter, no annotations, missing parameter docs), the description is insufficient. It does not explain the validation context, output, or prerequisites, leaving the agent without critical information.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no meaning to the two parameters (session_id and schema). The description does not explain what the schema object expects or how to use session_id. Baseline 4 is not met; description must compensate but fails.

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 'Validate data against a schema definition' clearly states the verb (validate) and resource (data against schema). It distinguishes from sibling tools like check_data_quality, which is broader. However, it could be more specific about which data (likely session data) is being validated.

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 usage guidance is provided. The description does not indicate when to use this tool versus alternatives such as check_data_quality or other validation-related tools. No prerequisites or context are given.

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. Dates show when Glama detected each change.

  1. 39 tool updatesv1.0.1
    • Changedadd_column1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedchange_column_type1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedcheck_data_quality1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedclear_history1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedclose_session1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedconfigure_auto_save1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changeddetect_outliers1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changeddisable_auto_save1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedexport_csv1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedexport_history1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedfill_missing_values1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedfilter_rows1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedfind_anomalies1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedget_auto_save_status1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedget_column_statistics1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedget_correlation_matrix1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedget_history1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedget_server_info1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedget_session_info1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedget_statistics1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedget_value_counts1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedgroup_by_aggregate1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedhealth_check1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedlist_sessions1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedload_csv1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedload_csv_from_content1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedload_csv_from_url1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedprofile_data1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedredo1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedremove_columns1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedremove_duplicates1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedrename_columns1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedrestore_to_operation1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedselect_columns1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedsort_data1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedtrigger_manual_save1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedundo1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedupdate_column1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedvalidate_schema1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
  2. 36 tool updatesv1.0.0
    • Changedadd_column4 fields changed
      • removedInput schema / properties / formula / title
        Removed value: -"Formula"
      • removedInput schema / properties / name / title
        Removed value: -"Name"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
      • removedInput schema / properties / value / anyOf
        Removed value: -[
        -  {},
        -  {
        -    "type": "null"
        -  }
        -]
    • Changedchange_column_type4 fields changed
      • removedInput schema / properties / column / title
        Removed value: -"Column"
      • removedInput schema / properties / dtype / title
        Removed value: -"Dtype"
      • removedInput schema / properties / errors / title
        Removed value: -"Errors"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
    • Changedcheck_data_quality2 fields changed
      • removedInput schema / properties / rules / title
        Removed value: -"Rules"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
    • Changedclear_history1 field changed
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
    • Changedclose_session1 field changed
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
    • Changedconfigure_auto_save10 fields changed
      • removedInput schema / properties / backup_dir / title
        Removed value: -"Backup Dir"
      • removedInput schema / properties / custom_path / title
        Removed value: -"Custom Path"
      • removedInput schema / properties / enabled / title
        Removed value: -"Enabled"
      • removedInput schema / properties / encoding / title
        Removed value: -"Encoding"
      • removedInput schema / properties / format / title
        Removed value: -"Format"
      • removedInput schema / properties / interval_seconds / title
        Removed value: -"Interval Seconds"
      • removedInput schema / properties / max_backups / title
        Removed value: -"Max Backups"
      • removedInput schema / properties / mode / title
        Removed value: -"Mode"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
      • removedInput schema / properties / strategy / title
        Removed value: -"Strategy"
    • Changeddetect_outliers4 fields changed
      • removedInput schema / properties / columns / title
        Removed value: -"Columns"
      • removedInput schema / properties / method / title
        Removed value: -"Method"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
      • removedInput schema / properties / threshold / title
        Removed value: -"Threshold"
    • Changeddisable_auto_save1 field changed
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
    • Changedexport_csv5 fields changed
      • removedInput schema / properties / encoding / title
        Removed value: -"Encoding"
      • removedInput schema / properties / file_path / title
        Removed value: -"File Path"
      • removedInput schema / properties / format / title
        Removed value: -"Format"
      • removedInput schema / properties / index / title
        Removed value: -"Index"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
    • Changedexport_history3 fields changed
      • removedInput schema / properties / file_path / title
        Removed value: -"File Path"
      • removedInput schema / properties / format / title
        Removed value: -"Format"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
    • Changedfill_missing_values4 fields changed
      • removedInput schema / properties / columns / title
        Removed value: -"Columns"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
      • removedInput schema / properties / strategy / title
        Removed value: -"Strategy"
      • removedInput schema / properties / value / anyOf
        Removed value: -[
        -  {},
        -  {
        -    "type": "null"
        -  }
        -]
    • Changedfilter_rows3 fields changed
      • removedInput schema / properties / conditions / title
        Removed value: -"Conditions"
      • removedInput schema / properties / mode / title
        Removed value: -"Mode"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
    • Changedfind_anomalies4 fields changed
      • removedInput schema / properties / columns / title
        Removed value: -"Columns"
      • removedInput schema / properties / methods / title
        Removed value: -"Methods"
      • removedInput schema / properties / sensitivity / title
        Removed value: -"Sensitivity"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
    • Changedget_auto_save_status1 field changed
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
    • Changedget_column_statistics2 fields changed
      • removedInput schema / properties / column / title
        Removed value: -"Column"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
    • Changedget_correlation_matrix4 fields changed
      • removedInput schema / properties / columns / title
        Removed value: -"Columns"
      • removedInput schema / properties / method / title
        Removed value: -"Method"
      • removedInput schema / properties / min_correlation / title
        Removed value: -"Min Correlation"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
    • Changedget_history2 fields changed
      • removedInput schema / properties / limit / title
        Removed value: -"Limit"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
    • Changedget_session_info1 field changed
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
    • Changedget_statistics3 fields changed
      • removedInput schema / properties / columns / title
        Removed value: -"Columns"
      • removedInput schema / properties / include_percentiles / title
        Removed value: -"Include Percentiles"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
    • Changedget_value_counts6 fields changed
      • removedInput schema / properties / ascending / title
        Removed value: -"Ascending"
      • removedInput schema / properties / column / title
        Removed value: -"Column"
      • removedInput schema / properties / normalize / title
        Removed value: -"Normalize"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
      • removedInput schema / properties / sort / title
        Removed value: -"Sort"
      • removedInput schema / properties / top_n / title
        Removed value: -"Top N"
    • Changedgroup_by_aggregate3 fields changed
      • removedInput schema / properties / aggregations / title
        Removed value: -"Aggregations"
      • removedInput schema / properties / group_by / title
        Removed value: -"Group By"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
    • Changedload_csv4 fields changed
      • removedInput schema / properties / delimiter / title
        Removed value: -"Delimiter"
      • removedInput schema / properties / encoding / title
        Removed value: -"Encoding"
      • removedInput schema / properties / file_path / title
        Removed value: -"File Path"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
    • Changedload_csv_from_content4 fields changed
      • removedInput schema / properties / content / title
        Removed value: -"Content"
      • removedInput schema / properties / delimiter / title
        Removed value: -"Delimiter"
      • removedInput schema / properties / has_header / title
        Removed value: -"Has Header"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
    • Changedload_csv_from_url4 fields changed
      • removedInput schema / properties / delimiter / title
        Removed value: -"Delimiter"
      • removedInput schema / properties / encoding / title
        Removed value: -"Encoding"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
      • removedInput schema / properties / url / title
        Removed value: -"Url"
    • Changedprofile_data3 fields changed
      • removedInput schema / properties / include_correlations / title
        Removed value: -"Include Correlations"
      • removedInput schema / properties / include_outliers / title
        Removed value: -"Include Outliers"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
    • Changedredo1 field changed
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
    • Changedremove_columns2 fields changed
      • removedInput schema / properties / columns / title
        Removed value: -"Columns"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
    • Changedremove_duplicates3 fields changed
      • removedInput schema / properties / keep / title
        Removed value: -"Keep"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
      • removedInput schema / properties / subset / title
        Removed value: -"Subset"
    • Changedrename_columns2 fields changed
      • removedInput schema / properties / mapping / title
        Removed value: -"Mapping"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
    • Changedrestore_to_operation2 fields changed
      • removedInput schema / properties / operation_id / title
        Removed value: -"Operation Id"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
    • Changedselect_columns2 fields changed
      • removedInput schema / properties / columns / title
        Removed value: -"Columns"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
    • Changedsort_data2 fields changed
      • removedInput schema / properties / columns / title
        Removed value: -"Columns"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
    • Changedtrigger_manual_save1 field changed
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
    • Changedundo1 field changed
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
    • Changedupdate_column6 fields changed
      • removedInput schema / properties / column / title
        Removed value: -"Column"
      • removedInput schema / properties / operation / title
        Removed value: -"Operation"
      • removedInput schema / properties / pattern / title
        Removed value: -"Pattern"
      • removedInput schema / properties / replacement / title
        Removed value: -"Replacement"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
      • removedInput schema / properties / value / title
        Removed value: -"Value"
    • Changedvalidate_schema2 fields changed
      • removedInput schema / properties / schema / title
        Removed value: -"Schema"
      • removedInput schema / properties / session_id / title
        Removed value: -"Session Id"
  3. 39 tool updates
    • First observedadd_column
    • First observedchange_column_type
    • First observedcheck_data_quality
    • First observedclear_history
    • First observedclose_session
    • First observedconfigure_auto_save
    • First observeddetect_outliers
    • First observeddisable_auto_save
    • First observedexport_csv
    • First observedexport_history
    • First observedfill_missing_values
    • First observedfilter_rows
    • First observedfind_anomalies
    • First observedget_auto_save_status
    • First observedget_column_statistics
    • First observedget_correlation_matrix
    • First observedget_history
    • First observedget_server_info
    • First observedget_session_info
    • First observedget_statistics
    • First observedget_value_counts
    • First observedgroup_by_aggregate
    • First observedhealth_check
    • First observedlist_sessions
    • First observedload_csv
    • First observedload_csv_from_content
    • First observedload_csv_from_url
    • First observedprofile_data
    • First observedredo
    • First observedremove_columns
    • First observedremove_duplicates
    • First observedrename_columns
    • First observedrestore_to_operation
    • First observedselect_columns
    • First observedsort_data
    • First observedtrigger_manual_save
    • First observedundo
    • First observedupdate_column
    • First observedvalidate_schema

TDQS

B3/5.0
Disambiguation4/5

Most tools have distinct purposes, but there is slight overlap between statistics-related tools (get_statistics, get_column_statistics, get_value_counts) and between outlier/anomaly detection (detect_outliers, find_anomalies). Overall, an agent can distinguish them with careful description reading.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in lowercase snake_case (e.g., add_column, load_csv_from_url). No mixing of conventions, making the naming predictable and easy to understand.

Tool Count4/5

With 39 tools, the server is heavy but covers the full scope of CSV editing, including data loading, manipulation, analysis, session management, and export. The count is appropriate for the comprehensive feature set, though slightly above the ideal range.

Completeness5/5

The toolkit covers the entire lifecycle of CSV operations: loading (from various sources), exploration (statistics, profiling), manipulation (add/remove/rename columns, fill missing, remove duplicates, sorting, filtering, grouping), validation, undo/redo, session management, and export. No obvious gaps for typical CSV editing tasks.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Enables comprehensive CSV file management including creating, editing, analyzing, and transforming CSV data anywhere in the filesystem. Provides statistical analysis, data validation, filtering, and grouping capabilities through MCP protocol over stdio transport.
    15
    -
  • A
    license
    A
    quality
    Not graded
    maintenance
    An MCP server that enables AI assistants to load, query, and analyze local CSV files using tools for filtering, aggregation, and grouping. It provides capabilities to describe schemas, calculate statistics, and sample data directly from CSV files.
    6
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables the analysis of CSV and Parquet files by providing tools for statistical summaries, data previews, and structure exploration. It allows users to query local datasets and create sample data using natural language.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    A local MCP server for analyzing CSV files from your filesystem, particularly suited for chatbot conversation logs. Allows listing, reading, filtering, merging, and statistical analysis of CSV data via natural language.
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/santoshray02/csv-editor'

If you have feedback or need assistance with the MCP directory API, please join our Discord server