mcp-server-saxo-openapi
by nohikomiso
README.md
# Saxo Bank OpenAPI MCP Server
A specialized [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server acting as a **reference manual and knowledge base** for the Saxo Bank OpenAPI.
**Version:** 0.3.5 · **Spec snapshot:** 2026-07-08
## Purpose
This server is **not an execution client**. It does NOT execute trades, place orders, or modify portfolios.
It helps AI agents generate Saxo Bank API code by combining:
1. **Rich endpoint specs** from crawled `spec/json` (nested parameters, request/response samples).
2. **Critical warnings** on dangerous endpoints (`/orders`, `/positions`).
3. **`saxo://docs/pitfalls.md`** — survival guide for Saxo-specific quirks.
## Tools
| Tool | Description |
|------|-------------|
| `search_saxo_endpoints(query)` | Discover endpoints by keyword. |
| `get_saxo_endpoint_spec(method, path, depth?)` | Parameters, samples, warnings. |
| `get_saxo_schema_spec(schema_name, depth?)` | Drill into nested schemas. |
| `get_saxo_workflow_guide(use_case)` | `close_position` or `if_done_oco` workflows. |
## Resources
| URI | Description |
|-----|-------------|
| `saxo://docs/pitfalls.md` | Netting, ForceOpen close (§1b), Stop/StopIfTraded, IsForceOpen, UIC, Precheck. |
## Installation
### MCP (Cursor / Claude Desktop)
```json
{
"mcpServers": {
"saxo-openapi": {
"command": "uvx",
"args": ["mcp-server-saxo-openapi"]
}
}
}
```
### CLI fallback
```bash
uvx --from mcp-server-saxo-openapi saxo-doc-helper search-endpoints orders
uvx --from mcp-server-saxo-openapi saxo-doc-helper get-endpoint POST /trade/v2/orders --depth 1
```
## What changed in 0.3.0
0.2.0 mistakenly used a single `saxo_openapi.json` for lookup (shallow schemas). **0.3.0 restores the rich `spec/json` index** while keeping pitfalls and warnings from 0.2.0.
See [CHANGELOG.md](https://github.com/nohikomiso/mcp-server-saxo-openapi/blob/main/CHANGELOG.md).
## Known limitations
- Warnings are advisory; agents may skip `pitfalls.md`.
- `response_parameters` trees are sparse in some crawled specs; `response_sample` JSON is more reliable.
- Pitfalls reflect practical experience; not a substitute for Saxo's official docs.
## License
MIT — see [LICENSE](https://github.com/nohikomiso/mcp-server-saxo-openapi/blob/main/LICENSE).
TDQS
B3.2/5.0
Scored across 4 tools
Disambiguation5/5
Each tool has a distinct purpose: endpoint specs, schema specs, workflow guides, and search. There is no overlap in functionality.
Naming Consistency4/5
Three tools use 'get_saxo_' prefix while one uses 'search_saxo_'. The pattern is mostly consistent, with a minor deviation.
Tool Count5/5
Four tools are well-suited for this niche API documentation server, providing essential operations without unnecessary clutter.
Completeness4/5
The set covers endpoint specs, schema details, workflow guidance, and search. A minor gap could be a tool for listing all endpoints, but search largely compensates.
Maintenance
ActivitySlowing
ResponsivenessNo issues