Skip to content

feat: add ibkr-reader skill (read-only)#78

Open
himself65 wants to merge 1 commit into
mainfrom
add-ibkr-reader
Open

feat: add ibkr-reader skill (read-only)#78
himself65 wants to merge 1 commit into
mainfrom
add-ibkr-reader

Conversation

@himself65

Copy link
Copy Markdown
Owner

Summary

Adds a read-only Interactive Brokers reader (ibkr-reader) to the finance-data-providers plugin group, built on IBKR's official Agentic MCP connector. Verified against a live authenticated connection (June 2026).

This is the pivot from the closed Robinhood reader (#77): Robinhood's agentic MCP exposed no option market data, whereas IBKR genuinely reads option details.

Verified option-detail support (the gate)

Live SNDK snapshot returned real data:

Metric Value
Implied vol (underlying, annualized) 98.98% (is_valid: true)
Historical vol (30d) 95.07%
IV percentile (13w/26w/52w) 0.41 / 0.42 / 0.56
Option volume (calls/puts) 148,089 / 132,009
Option OI (calls/puts) 151,026 / 272,275

get_price_snapshot returns IV per option contract (implied_vol, option_midpoint_iv); get_price_history supports OPT/FOP bars.

Read allowlist / write denylist

Reads: get_account_summary · get_account_balances · get_account_positions · get_account_orders · get_account_trades · get_order_instructions · get_price_snapshot · get_price_history · search_contracts · get_company_themes · get_company_connections · get_theme_details · search_investment_topics

Never called (denylist): create_order_instruction · delete_order_instruction · provide_customer_feedback

Read-only is self-imposed (the MCP is trade-capable, no server-side read-only mode); the skill enumerates the live tool list at runtime and treats unknown tools as forbidden. Matches the repo rule: no AI trade execution.

Honest limitations (documented in the skill)

  • No option-chain enumerationsearch_contracts resolves the underlying only (no strikes/expiries/IDs). Per-contract option IDs come from get_account_positions (held contracts).
  • No greeks (IV only); greeks live in IBKR's Client Portal Web API, not this connector.
  • So a full multi-strike IV skew must come from tradingview-reader / funda-data; IBKR covers the underlying IV regime, IV percentile, put/call skew, and per-contract IV of held options.

Changes

  • New skill: plugins/data-providers/skills/ibkr-reader/SKILL.md, README.md, references/tools.md
  • Wiring: root README.md table, plugins/data-providers/plugin.json (description + keywords), .claude-plugin/marketplace.json

Verification

  • description 970 chars (under the 1024 skill-lint cap), no angle brackets
  • marketplace.json / plugin.json validate as JSON
  • Every tool named in the skill matches the live IBKR registry (read allowlist or denylisted write)
  • Adversarial review pass (read-only discipline intact, options limitations honest); field labels cross-checked against live call responses

🤖 Generated with Claude Code

Add a read-only Interactive Brokers account reader to the
finance-data-providers plugin group, built on IBKR's official Agentic MCP
connector. Confirmed against a live authenticated connection (June 2026).

Unlike the Robinhood agentic MCP (which exposed no option market data), the
IBKR MCP genuinely reads option details:
- get_price_snapshot returns implied volatility (underlying via
  implied_vol_underlying + per option contract via implied_vol /
  option_midpoint_iv), IV percentile, historical vol, and put/call open
  interest + volume (verified live: SNDK underlying IV ~98.98% annualized).
- get_price_history supports OPT/FOP historical bars.

Read allowlist: get_account_summary/balances/positions/orders/trades,
get_order_instructions, get_price_snapshot, get_price_history,
search_contracts, get_company_themes/connections, get_theme_details,
search_investment_topics.

Write denylist (never called): create_order_instruction,
delete_order_instruction, provide_customer_feedback.

Honestly documents the real limitations: the MCP has no option-chain
enumeration tool (search_contracts resolves the underlying only, no
strikes/expiries/IDs) and no greeks (IV only; greeks live in IBKR's Client
Portal Web API, not this connector). So a full multi-strike IV skew must
come from tradingview-reader / funda-data; IBKR covers the underlying IV
regime, IV percentile, put/call skew, and per-contract IV of held options.
The skill enumerates the live tool list at runtime and treats unknown tools
as forbidden.

Wires the skill into the root README, plugins/data-providers/plugin.json
(description + keywords), and the marketplace manifest.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant