spark-ordernet-mcp

spark-ordernet-mcp

Read-only MCP server for accessing Spark/Ordernet brokerage accounts, including Meitav Trade, Psagot, IBI, Nesua, and Gaon. Enables querying holdings, transactions, orders, returns, security lookup, price history, standing orders, and market news via natural language.

Category
Visit Server

README

Spark Ordernet MCP

Read-only MCP access to Spark / Ordernet brokerage accounts, including Meitav Trade. The server exposes current holdings, transactions, orders, returns, security lookup, price history, standing orders, and market news.

The authenticated client is constrained to an exact GET allowlist. Authentication is the only POST request; order entry, cancellation, money movement, currency conversion, and account changes are not reachable.

Requirements

  • Python 3.11 or newer
  • uv
  • A supported Spark / Ordernet brokerage login

Run the MCP server

Use the packaged command directly from GitHub:

uvx --from git+https://github.com/anhermon/spark-ordernet-mcp \
  spark-ordernet-mcp

Configure an MCP client with credentials supplied only through its environment:

{
  "mcpServers": {
    "ordernet": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/anhermon/spark-ordernet-mcp",
        "spark-ordernet-mcp"
      ],
      "env": {
        "ORDERNET_BROKER": "meitav",
        "ORDERNET_USERNAME": "${ORDERNET_USERNAME}",
        "ORDERNET_PASSWORD": "${ORDERNET_PASSWORD}"
      }
    }
  }
}

Supported broker slugs include meitav, psagot, ibi, nesua, and gaon.

Install the Codex skill

Ask Codex to install:

https://github.com/anhermon/spark-ordernet-mcp/tree/main/spark-ordernet

Or clone the repository and copy spark-ordernet/ into ~/.codex/skills/spark-ordernet/.

Private portfolio report

After cloning the repository, create the ignored credential file and run:

cp .env.example .env
# Edit .env locally.
uv run --env-file .env python scripts/generate_portfolio_report.py

The report is written atomically to reports/portfolio-analysis.html with mode 0600. Reusable broker snapshots are stored under the ignored reports/.spark-cache/ directory with owner-only permissions. Completed years are reused automatically, making subsequent reports faster and less dependent on the broker's availability.

The report resolves numeric instrument IDs to safe public names when possible, normalizes income and fees to ILS using transaction-date FX, provides sortable historical-position columns, and plots indexed price action only across recorded holding lifecycles. Missing FX or market history is shown explicitly instead of being guessed.

  • --refresh refreshes all historical snapshots.
  • --offline reproduces the last successful cached report.
  • --no-cache disables cache reads and writes for one run.
  • --cache-ttl 300 controls reuse of recent current-year snapshots.

The generated report and cache contain private financial data. They are ignored by Git and must not be published.

Development checks

Install the Git hooks once per clone:

uvx --from pre-commit pre-commit install

The hooks reject source and configuration files longer than 800 lines, run Ruff, and execute the unit-test suite. Run the same checks across the repository before pushing:

uvx --from pre-commit pre-commit run --all-files

GitHub Actions runs this command on every push and pull request. Individual checks can also be run directly:

uv run python scripts/check_file_size.py .
uv run python -m unittest discover -s tests
uv run --with ruff ruff check .

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured