Skip to main content

MseeP.ai Security Assessment Badge

SSI Stock Data MCP

GitHub license GitHub stars

Table of Contents

1. Introduction

SSI Stock Data MCP is a Model Context Protocol (MCP) server for get VietNam stock intraday data. It enables AI assistants and tools to query intraday data using SSI FastConnect API programmatically and securely.

2. Features

  • List of stock codes by exchange
  • Retrieve detailed information of a stock code
  • Retrieve the list of stock codes in an index basket
  • Retrieve the list of index codes
  • Retrieve the open, high, low, close, volume, and value information of a stock code by each tick data
  • Retrieve the open, high, low, close, volume, and value information of a stock code by day
  • Retrieve the daily trading results of the composite index
  • Retrieve the daily trading information of a stock code
  • Docker containerization support
  • Support get realtime data via streaming adapter (planning)
  • Support order management and trading via MCP (future consideration)

3. Quickstart

3.1. Prerequisites

  • Python 3.12+
  • uv (for fast dependency management).
  • Docker (optional, for containerized deployment).
  • Ensure you register for SSI FastConnect service before running this MCP server. You can register at SSI FastConnect to get your consumer ID and secret.

Installing via Smithery

To install SSI Stock MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @archiephan78/ssi-stock-mcp-server --client claude

3.2. Local Run

  • Clone the repository:
# Clone the repository
$ git clone https://github.com/archiephan78/ssi-stock-mcp-server.git
  • Configure the environment variables
# Set environment variables (see .env.sample)
FC_DATA_URL=https://fc-data.ssi.com.vn/ #optional
FC_DATA_AUTH_TYPE=Bearer #optional
FC_DATA_CONSUMER_ID=your_consumer_id 
FC_DATA_CONSUMER_SECRET=your_consumer_secret  
  • Add the server configuration to your client configuration file. For example, for Claude Desktop:
{
  "mcpServers": {
    "SSIStockMCPServer": {
      "command": "uv",
      "args": ["--directory", "full-path", "run", "ssi-stock-mcp-server"],
      "env": {
        "FC_DATA_CONSUMER_ID": "id",
        "FC_DATA_CONSUMER_SECRET": "id",
        "FC_DATA_URL": "https://fc-data.ssi.com.vn/",
        "FC_DATA_AUTH_TYPE": "Bearer"
      }
    }
  }
}
  • Restart Claude Desktop to load new configuration.
  • You can now ask Claude to interact with data using natual language:
    • "chỉ số VN30 hôm nay có gì hot không"
    • "get volume room ngoại đã bán của SSI hôm nay"
    • "so sánh vol của SSI với VND trong ngày hôm nay"
    • "total matchvol của SSI trong 1 tuần trở lại đây"

3.3. Docker Run

  • Run it with pre-built image (or you can build it yourself):
$ docker run -p 8000:8000 
             -e FC_DATA_CONSUMER_ID=id 
             -e FC_DATA_CONSUMER_SECRET=id ghcr.io/archiephan78/ssi-stock-mcp-server
  • Running with Docker in Claude Desktop:
{
  "mcpServers": {
    "SSIStockMCPServer": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e", "FC_DATA_CONSUMER_ID",
        "-e", "FC_DATA_CONSUMER_SECRET",
        "ghcr.io/archiephan78/ssi-stock-mcp-server:latest"
      ],
      "env": {
        "FC_DATA_CONSUMER_ID": "your_username",
        "FC_DATA_CONSUMER_SECRET": "your_password"
      }
    }
  }
}

This configuration passes the environment variables from Claude Desktop to the Docker container by using the -e flag with just the variable name, and providing the actual values in the env object.

4. Tools

The MCP server exposes tools:

  • Get securities list: get_securities_list()
  • Get securities detail: get_securities_details()
  • Get index: get_index_components()
  • Get list index: get_index_list()
  • Get daily open,high,low,close: get_daily_ohlc()
  • Get intraday open,high,low,close: get_intraday_ohlc()
  • Get daily index: get_daily_index()
  • Get stock price: get_stock_price()

See src/ssi_stock_mcp_server/server.py for full API details.

5. Development

Contributions are welcome! Please open an issue or submit a pull request if you have any suggestions or improvements.

This project uses uv to manage dependencies. Install uv following the instructions for your platform.

# Clone the repository
$ git clone https://github.com/archiephan78/ssi-stock-mcp-server.git
$ uv venv
$ source .venv/bin/activate  # On Unix/macOS
$ .venv\Scripts\activate     # On Windows
$ uv pip install -e .
# run test
$ pytest

6. License

Apache 2.0

Contact / Support

  • Please open an issue on GitHub if you encounter any problems or need support.
  • Email: n/a

Metadata

Release files for iflow-mcp_archiephan78-ssi-stock-mcp-server 1.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp_archiephan78-ssi-stock-mcp-server 1.0.4
File Size Uploaded
iflow_mcp_archiephan78_ssi_stock_mcp_server-1.0.4.tar.gz 16.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_archiephan78-ssi-stock-mcp-server 1.0.4
File Interpreter ABI Platform
iflow_mcp_archiephan78_ssi_stock_mcp_server-1.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 30.6 kB

Release files / iflow_mcp_archiephan78_ssi_stock_mcp_server-1.0.4.tar.gz

Download URL iflow_mcp_archiephan78_ssi_stock_mcp_server-1.0.4.tar.gz
Size 16.1 kB
Tags Source
SHA-256 checksum
How to use checksums
91aafecc32a6dd14c52cd50a12aaff0c1ec69cb43873eb8467ed251dd448e03b
BLAKE2b-256 checksum
How to use checksums
d1bec21ad66763c00d2c30c3ecd8163fc6c6e7d0aadcabb87d5dd053a02c6c77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / iflow_mcp_archiephan78_ssi_stock_mcp_server-1.0.4-py3-none-any.whl

Download URL iflow_mcp_archiephan78_ssi_stock_mcp_server-1.0.4-py3-none-any.whl
Size 14.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
634f36d19d9d3cb3df0c42435c3382a37e5764ba0f36d04b73c66d72d06ae624
BLAKE2b-256 checksum
How to use checksums
2dcba93292d3aa8e3894ba88d84030078213ddef9c5f6cb6ca25016937bde710
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

1.0.4 This release

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page