APEX Research MCP Server
README.md
# APEX Research — MCP Server (FastMCP)
A [Model Context Protocol](https://modelcontextprotocol.io) server that exposes a quantitative
trading-research toolkit as tools an LLM/agent can call. Built in Python with **FastMCP**.
Each tool is a plain typed Python function; FastMCP turns its type hints + docstring into the
JSON schema the model sees. Tools run real computation over real market datasets.
## Tools
| Tool | What it does |
|---|---|
| `list_datasets` | Report which market datasets + live forward-test logs are available |
| `run_orb_backtest(instrument, cost_bps)` | Backtest the opening-range-breakout rule on M15 data; returns expectancy (R), win rate, profit factor, max drawdown |
| `forward_test_report(market)` | Summarise a live forward-test log (n, expectancy, win rate) |
| `search_graveyard(query)` | Search already-rejected hypotheses so an agent doesn't re-test a dead idea |
## Run it
```bash
pip install fastmcp pandas numpy
python mcp_server/apex_mcp.py # starts the MCP server (stdio transport)
```
## Test it (no external client needed)
```bash
python mcp_server/test_apex_mcp.py # in-memory FastMCP Client calls every tool
```
## Connect it to an MCP client (e.g. Claude Desktop)
Add to the client's MCP config:
```json
{
"mcpServers": {
"apex-research": {
"command": "python",
"args": ["C:\\Users\\user\\Desktop\\Apex\\mcp_server\\apex_mcp.py"]
}
}
}
```
Then the model can call, e.g. *"backtest the ORB rule on DAX"* and it invokes `run_orb_backtest`.
## What this demonstrates
- Building **MCP servers in Python with FastMCP** (typed tools, auto-generated schemas)
- Clean tool design: clear contracts, input validation, graceful errors
- Local testing of an MCP server with an in-memory client
- Real backend/data work (pandas/numpy over multi-year market data)
*Built by M. Junaid Shahid.*
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues