mcpField
T
tiger

tiger

github.com/starchild-ai-agentOther3070 installsUpdated 6d ago
Repository

About tiger

A command-line skill for querying and trading US, Hong Kong, and A-share markets through Tiger Open's SDK. It supports account and market data operations, with account-format checks and an extra confirmation for live orders.

Key features

  1. 01Account status and asset checks
  2. 02Quotes and price history
  3. 03Positions and order queries
  4. 04Market and limit orders
  5. 05Paper/live account-format guard

Use cases

  1. 01Check account status before use
  2. 02Review holdings and executions
  3. 03Retrieve a ticker quote or history
  4. 04Place a paper or confirmed live order

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/starchild-ai-agent/official-skills --skill tiger

After installing, type/tigerin Claude Code to confirm it loaded.

Bundled filesscripts/tiger_cli.py

Details

From the project README

What this is

☁️ Cloud broker — runs directly in the container via the official tigeropen SDK. Covers US, HK, and A-share markets.

Auth is RSA-signed static key: a tiger_id + a local PKCS#1 private key (PEM) + your account number. No OAuth, no token refresh.

Paper/live guard: a Tiger paper (sandbox) account number is exactly 17 numeric digits (e.g. 20191106192858300); standard/global accounts are not. The chosen --profile must match the account format or the command fails closed. Live placement additionally requires --confirm-live. Note: paper accounts don't support GTC, so it's auto-forced to DAY.

Get your credentials

  1. Open a Tiger account and apply for API access at the Tiger Open Platform (登录 → 开发者 / API).
  2. Generate an RSA key pair (the platform requires PKCS#1). On any machine:
    openssl genrsa -out tiger_private_key.pem 2048      # PKCS#1 private key
    openssl rsa -in tiger_private_key.pem -pubout -out tiger_public_key.pem
    
  3. On the Open Platform, paste the public key content (between the BEGIN/END lines) to bind it. Note your tiger_id (developer id) shown there.
  4. Find your account number: paper account from the sandbox/模拟 section (17 digits); live/standard account from your real account page.
  5. Keep the private key safe — it never leaves your machine. Provide either its file path or paste the PEM contents via secure input.

Configure (.env)

Request via secure input — never paste keys/PEM in chat.

VariableRequiredNotes
TIGER_IDyesdeveloper tiger_id
TIGER_PRIVATE_KEY_PATHone of thesepath to the PKCS#1 PEM file
TIGER_PRIVATE_KEYone of theseinline PEM (use \n for newlines); written to ~/.tiger_private_key.pem (0600)
TIGER_PAPER_ACCOUNTfor paper17-digit sandbox account (or set TIGER_ACCOUNT)
TIGER_LIVE_ACCOUNTfor livereal account number (or set TIGER_ACCOUNT)

TIGER_ACCOUNT is a fallback used by whichever profile if the profile-specific var isn't set.

Usage

pip install tigeropen (first run; already present in this workspace). JSON output. Default profile paper.

python skills/tiger/scripts/tiger_cli.py status
python skills/tiger/scripts/tiger_cli.py account
python skills/tiger/scripts/tiger_cli.py positions
python skills/tiger/scripts/tiger_cli.py orders [--executions]
python skills/tiger/scripts/tiger_cli.py quote --symbol AAPL
python skills/tiger/scripts/tiger_cli.py history --symbol AAPL --period 1d --limit 90
# place (paper): qty in units only; market or limit; --currency default USD
python skills/tiger/scripts/tiger_cli.py place --symbol AAPL --side buy --qty 1 --type market
python skills/tiger/scripts/tiger_cli.py place --symbol AAPL --side buy --qty 1 --type limit --limit-price 180 --tif day
python skills/tiger/scripts/tiger_cli.py cancel --order-id <id>
# live:
python skills/tiger/scripts/tiger_cli.py --profile live --confirm-live place --symbol AAPL --side buy --qty 1

Periods: 1m 5m 15m 30m 1h 1d 1w 1M (note: 1m=minute, 1M=month, case-sensitive). Symbols are bare tickers (AAPL, 00700) — set --currency (USD/HKD/...) for non-USD.

Gotchas

  • Tiger has no notional path for stocks — always use --qty (units), never --notional.
  • status validates the profile/account match (17-digit guard) and pings assets. Run it first.
  • If you bound the public key but get auth errors, confirm the key is PKCS#1 (the openssl genrsa output), not PKCS#8.

Comments

Markdown supported