Skip to main content
Glama
bharathvardhan

Climate MCP Server

rank_by_column

Rank groups by any numeric value to identify top donors, regions, or funds in climate finance data. Supports filters and ordering.

Instructions

    Rank any grouping column by any numeric column in any dataset.

    When to use:
      - Top donors or contributors by pledged or deposited amount
        (pledges.csv, group_by contributor or country).
      - Regional or recipient analysis (projects.csv, group_by
        world_bank_region or country).
      - LDC vs non-LDC, SIDS, sector (e.g. agriculture), grant vs loan —
        group_by the relevant column on projects.csv.
      - Which funds approve the most projects (fund.csv,
        value_column=number_of_projects_approved).
      - Ascending or descending order (ascending parameter).

    Do NOT use when:
      - The dataset is long-format (stage as row values) and you rank by
        stage — use rank_entities instead.
      - On fund.csv you only need standard pipeline stage totals ranked —
        prefer rank_entities(filename='fund.csv', group_by='fund',
        stage=...) for pledge/deposit/approval/disbursement.

    'value_column': any numeric column in the file.
    'filters': optional {column: value | [value, ...]} dict to narrow rows
      before ranking. List values use OR logic (any match kept).
      If a string value does not match exactly, substring fallback is tried:
      unambiguous → auto-resolved with filter_resolutions in response;
      ambiguous → error listing candidates; no match → error listing
      available values for that column.
    'top_k': number of groups to return (default 20, max 100). Check
      total_groups_found in the response to see if results were truncated.
    

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
top_kNo
filtersNo
filenameYes
group_byYes
ascendingNo
value_columnYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior4/5

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

With no annotations provided, the description takes on the full burden of behavioral disclosure. It details filter behavior (OR logic, substring fallback, error handling), top_k limits (default 20, max 100), and response contents (total_groups_found). It could explicitly state the tool is read-only, but overall transparency is high.

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 well-structured with sections (When to use, Do NOT use, parameter details). Every sentence provides value, though the length is justified by the tool's complexity. Slightly verbose but not wasteful.

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

Completeness5/5

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

For a complex tool with ranking, grouping, filtering, and multiple datasets, the description covers usage, parameters, edge cases (substring fallback), and response note. The presence of an output schema reduces the need to describe return format. The description is complete and leaves no critical gaps.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must explain parameters. It adds meaning for value_column, filters, and top_k, including default values and behavior. Filename, group_by, and ascending are self-explanatory from their names. The description compensates well but could elaborate on all parameters.

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's function: 'Rank any grouping column by any numeric column in any dataset.' It provides specific use cases and explicitly distinguishes from sibling tool rank_entities, making the purpose unambiguous.

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

Usage Guidelines5/5

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

The description includes a 'When to use' section with concrete examples (top donors, regional analysis) and a 'Do NOT use when' section that identifies alternatives (rank_entities) with specific conditions (long-format datasets, standard pipeline totals). This provides excellent guidance on when to choose this tool.

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

Install Server

Other Tools

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/bharathvardhan/Climate-Funds-Update-Integration-for-ClimateGPT-Using-Structured-MCP-Tools'

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