Skip to main content
Glama
SET-MCP

SET-MCP

by batprem

SET-MCP

SET-MCP is a Python package that provides tools for serving Model Context Protocol which can access the Securities Exchange of Thailand (SET). It allows AI agents to retrieve comprehensive financial statements including income statements, balance sheets, and cash flow statements for listed companies.

Features

  • Retrieve financial statements for SET-listed companies

  • Support for multiple financial statement types:

    • Income Statement

    • Balance Sheet

    • Cash Flow Statement

  • Historical data retrieval with customizable date ranges

  • Command-line interface for easy integration

  • FastMCP integration for enhanced functionality

Related MCP server: edgar-mcp

Installation

The package requires Python 3.11 or higher. You can install it using pip:

pip install set-mcp

Installing via Smithery

To install set-mcp for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install set-mcp --client claude

Usage

Command Line Interface

The package provides a command-line interface for easy access to financial data:

set-mcp --transport stdio

Using with uvx

Run

uvx set-mcp

Using with pipx

pipx install set-mcp
pipx run set-mcp

MCP.json example

{
    "mcpServers": {
      "set_mcp": {
        "command": "/path/to/bin/uvx", // Edit to your uvx path
        "args": [
            "set-mcp"
        ],
      }
    }
}

Vercel

Coming soon

Available options:

  • --port: Port to listen on for SSE (default: 8000)

  • --host: Host to listen on (default: 0.0.0.0)

  • --transport: Transport type (choices: stdio, sse, default: stdio)

Note: SSE is not yet implemented

Python API

You can also use the package programmatically in your Python code:

from set_mcp import get_financial_statement

# Get financial statements for a specific company
result = await get_financial_statement(
    symbol="PTT",  # Company symbol
    from_year=2023,
    to_year=2024
)

Development

Setup Development Environment

  1. Clone the repository:

git clone https://github.com/yourusername/set-mcp.git
cd set-mcp
  1. Create and activate a virtual environment:

python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  1. Install development dependencies:

pip install -e ".[dev]"

Running Tests

python test_client.py

The output should be no error

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Author

Available Tools

1 tool
get_financial_statementA

Get the balance sheet of stock in The Securities Exchange of Thailand (SET).

Args:
    symbol (str): Stock symbol in The Securities Exchange of Thailand (SET).
    from_year (int): The start YEAR of the financial statement for example 2024.
    to_year (int): The end YEAR of the financial statement for example 2024.

Returns:
    str: The constructed financial statement.
    Include Income Statement, Balance Sheet, and Cash Flow Statement in CSV format with | as the delimiter.

Inputs: symbol (required), from_year (required), to_year (required).

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 1 tool

    Disambiguation5/5

    With only one tool, there is no risk of confusion between tools. The tool's purpose is clearly defined.

    Naming Consistency5/5

    The single tool name 'get_financial_statement' follows a consistent verb_noun pattern, which is clear and predictable.

    Tool Count3/5

    One tool is borderline for the server's purpose. While it provides a specific function, the scope could warrant additional tools (e.g., listing stocks).

    Completeness3/5

    The tool returns comprehensive financial statements, but lacks supporting features like listing available symbols or filtering by statement type, which are notable gaps.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Provides programmatic access to Japan's EDINET system to search for listed companies and retrieve annual or quarterly financial reports. It parses XBRL filings into structured data, enabling AI assistants to analyze balance sheets, income statements, and cash flows.
      143 PyPI
      19
      Apache 2.0
    • A
      license
      A
      quality
      B
      maintenance
      Provides access to SEC EDGAR financial data, enabling AI agents to fetch company filings, financial metrics, and narrative sections. It supports natural-language metric searching and extracts structured data from 10-K, 10-Q, and 8-K reports.
      6
      45 PyPI
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables access and analysis of Japanese corporate financial data (PL/BS/CF) via EDINET API. Supports searching companies, listing reports, and comparing financials through natural language queries.
      1
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables LLM agents to retrieve normalized US-GAAP financial statements from SEC EDGAR—income statement, balance sheet, and cash flow—with point-in-time as-reported figures and per-value SEC source provenance for citation.
      6
      42 PyPI
      MIT

    Appeared in Searches