Skip to main content
Glama
IOL MCP Tool

IOL MCP Tool

IOL MCP Tool

A Model Context Protocol (MCP) tool for interacting with Invertir Online (IOL) API through Claude Desktop.

Prerequisites

  • Claude Desktop App for Mac

  • Python 3.8+

  • IOL trading account

  • Environment variables setup with your IOL credentials

Related MCP server: kiwoom-mcp

Installation

  1. Clone this repository:

git clone https://github.com/fernandezpablo85/mcpiol.git
cd mcpiol
  1. Install uv if you haven't already:

curl -LsSf https://astral.sh/uv/install.sh | sh
  1. Install dependencies:

uv sync
  1. Create a .env file in the project root with your IOL credentials:

IOL_USER=your_username
IOL_PASS=your_password

Configure Claude Desktop

  1. Open Claude Desktop configuration directory:

open ~/Library/Application\ Support/Claude
  1. Create or edit claude_desktop_config.json:

touch ~/Library/Application\ Support/Claude/claude_desktop_config.json
  1. Add the following configuration:

{
  "mcpServers": {
    "iol": {
      "command": "/Users/YOUR_USERNAME/.local/bin/uv",
      "args": [
        "--directory",
        "/Users/YOUR_USERNAME/projects/playground/mcpiol",
        "run",
        "main.py"
      ]
    }
  }
}

Important notes:

  • Replace YOUR_USERNAME with your actual username

  • Both the command and --directory paths must be absolute paths

  • You can find your uv installation path by running which uv in the terminal

Running Tests

To run the test suite:

pytest tests/test_client.py -v

For coverage report:

pytest tests/test_client.py --cov=client -v

Troubleshooting

  1. If tools don't appear in Claude Desktop:

    • Verify your configuration file is correct

    • Restart Claude Desktop

    • Check Python path and dependencies

  2. If authentication fails:

    • Verify your .env file exists and has correct credentials

    • Check IOL API status

    • Ensure your IOL account is active

License

MIT

Contributing

Feel free to open issues or submit pull requests.

Available Tools

8 tools
get_account_statusB

Get IOL (invertironline) account status and balances

Inputs: no named parameters.

get_historical_dataB
Get historical data for a stock
Args:
    symbol: The stock symbol (e.g., 'GGAL')
    start_date: Start date in YYYY-MM-DD format
    end_date: End date in YYYY-MM-DD format

Inputs: symbol (required), start_date (required), end_date (required).

get_operation_detailsC
Get detailed information about a specific IOL operation
Args:
    operation_number: The operation number to query

Inputs: operation_number (required).

get_operationsB
Get IOL (invertironline) account operations with optional filters
Args:
    start_date: Optional date in YYYY-MM-DD format to filter from
    end_date: Optional date in YYYY-MM-DD format to filter to
    status: Optional status ('pendientes', 'terminadas', 'canceladas')

Inputs: start_date, end_date, status.

get_past_week_performanceC

Get past week performance of a stock

Inputs: stock_symbol (required).

get_portfolioB

Get IOL (invertironline) investment portfolio

Inputs: no named parameters.

get_profile_dataB

Get IOL (invertironline) profile data

Inputs: no named parameters.

get_quoteC
Get current quote for a stock
Args:
    symbol: The stock symbol (e.g., 'GGAL')
    market: Market identifier (default: 'bCBA' for Argentina)

Inputs: symbol (required), market.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 8 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap: account status, historical data, operation details, operations list, past week performance, portfolio, profile data, and quotes. The descriptions clearly differentiate them, and an agent can easily select the right tool for each task without confusion.

    Naming Consistency5/5

    All tool names follow a consistent 'verb_noun' pattern using 'get_' as the verb prefix (e.g., get_account_status, get_historical_data). This uniformity makes the set predictable and easy to understand, with no deviations in naming style.

    Tool Count5/5

    With 8 tools, the count is well-scoped for a financial/trading server focused on IOL account and stock data. Each tool serves a specific function (e.g., retrieving account info, operations, portfolio, quotes), and there are no extraneous or missing tools for the domain.

    Completeness3/5

    The tool set covers read-only operations well (e.g., getting account status, portfolio, quotes, historical data), but there are notable gaps for a trading platform: no tools for executing trades, updating orders, or managing positions. This limits agents to monitoring and analysis without full lifecycle coverage.

    Maintenance

    ActivityNo data
    ResponsivenessSyncing

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      B
      quality
      Not graded
      maintenance
      An MCP server that enables Claude Desktop to access and analyze financial data through Yahoo Finance integration.
      1
      -
    • A
      license
      A
      quality
      D
      maintenance
      An MCP server that enables natural language control of Kiwoom Securities accounts through Claude Desktop. It provides tools for stock price lookup, buying and selling stocks, and analyzing portfolios or trade history via the Kiwoom REST API.
      11
      2
      MIT
    • A
      license
      A
      quality
      F
      maintenance
      MCP server for Interactive Brokers API integration, enabling account management, trading, market data, and short selling analysis through Claude.
      8
      35
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol (MCP) server that provides AI assistants like Claude with direct access to MetaAPI trading platform. Trade forex, stocks, and commodities through natural language conversations.
      1
      MIT