Skip to main content
Glama
Satsuj1n

xp-mcp

by Satsuj1n

import_extract_csv

Import CSV from XP Investimentos to update portfolio positions. Re-importing the same file updates existing data without duplicates, returning counts, warnings, and a preview of parsed positions.

Instructions

Import a CSV exported from XP Investimentos (Posicao Consolidada, Extrato). Idempotent: re-importing the same file updates existing positions instead of duplicating. Returns counts, warnings, and a preview of the first 5 parsed positions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
file_pathYesAbsolute path to a CSV exported from XP (Posicao Consolidada, Extrato, etc.).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.12.0

TDQS

A3.8/5.0
Behavior3/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 discloses idempotency (re-import updates instead of duplicating) and mentions the return content (counts, warnings, preview). However, it does not clarify whether new positions are created if they don't exist, or any permission requirements or error conditions for a mutation tool. It provides useful but incomplete 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.

Conciseness5/5

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

The description is two sentences with no fluff. It front-loads the primary purpose and idempotency, then briefly states return values. Every sentence earns its place, and the structure is easy to scan.

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

Completeness4/5

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

For a tool with one parameter and no output schema, the description covers the essential usage details: what input it expects, the idempotent behavior, and the nature of the return. It does not cover error scenarios or prerequisites beyond the file path, but these are minor for a straightforward import tool. The description is largely complete for an agent to call it correctly.

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

Parameters3/5

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

Schema description coverage is 100% and the sole parameter file_path already includes the format details (CSV from XP, Posicao Consolidada, Extrato). The description repeats this information but adds no new meaning about the parameter, such as format constraints or path requirements. Baseline 3 is appropriate given the schema's completeness.

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 (import), the resource (a CSV exported from XP Investimentos), and even specifies the export types (Posicao Consolidada, Extrato). It also notes the idempotent behavior and what it returns, so an agent can immediately understand what the tool does and how it differs from sibling import tools that handle PDFs.

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 when to use it (when you have a CSV from XP) but does not explicitly contrast it with alternatives like import_xperformance_pdf or import_bank_extract_pdf. There's no 'when not to use' or mention of conditions that would select another tool. The guidance is inferred from the resource type rather than stated.

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