Skip to main content
Glama
slemos

eToro MCP Server

by slemos

Search the history of eToro actions

etoro_get_action_history
Read-onlyIdempotent

Searches the local history of actions this server prepared and the user executed, rejected or let expire (persisted in a SQLite file, so it survives restarts and covers other sessions). Newest first.

Instructions

Searches the local history of actions this server prepared and the user executed, rejected or let expire (persisted in a SQLite file, so it survives restarts and covers other sessions). Newest first. Free-text query matches the summary, the action name and ids (order, position, instrument, action). Also returns today's executed total against the daily limits. To let the user browse and search it themselves, call etoro_open_history instead.

Input Schema

NameRequiredDescriptionDefault
toNoLast day (included), YYYY-MM-DD.
fromNoFirst day, YYYY-MM-DD (UTC time).
limitNo
queryNoWords to look for, for example a ticker or an order id. All words must match.
actionNoAction name, for example open_position, close_position, modify_position, cancel_order.
offsetNo
statusNo
environmentNoOnly this environment. Default: both.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.10.0

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description goes further with real behavioral context: state is persisted in SQLite, survives restarts and spans other sessions, results come newest-first, and it also returns today's executed total against daily limits. Pagination behavior is left unstated, keeping it short of a 5.

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?

Three sentences, zero filler, and the core scope is front-loaded before the persistence note, the query semantics, and the sibling redirect. Every sentence earns its place.

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

Completeness4/5

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

For an 8-parameter, no-output-schema tool it covers the essentials, including the side-channel return of today's executed total and the ordering of results. It does not explain pagination (limit/offset) or the status/environment filters, which an agent must infer from the schema.

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 coverage is 63%, so some parameters (limit, offset, status) are undocumented. The description compensates meaningfully by explaining what `query` actually matches (summary, action name, and order/position/instrument/action ids) and implying result ordering, which is more than the schema alone conveys.

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?

States a specific verb and resource with scope: searches the *local* action history the server prepared and the user executed, rejected or let expire. This cleanly separates it from broker-side siblings like etoro_get_trade_history and from the UI-facing etoro_open_history.

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?

Explicitly names the alternative and the condition that selects it: 'To let the user browse and search it themselves, call etoro_open_history instead.' It also clarifies the tool's remit (actions this server prepared and the user acted on) versus other history tools.

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