MCP Integration
Connect any AI assistant to Pulse synthetic market data using the Model Context Protocol.
The Pulse MCP server exposes our market data and backtesting tools as LLM-callable functions via the Model Context Protocol. Ask your AI assistant to analyse spread behaviour, run a TWAP backtest, or profile order book depth — all in natural language.
The MCP server never returns raw market data. All responses are aggregated statistics or backtest results, keeping payloads small and LLM-friendly.
Available tools
The following tools are registered on the MCP server. Your AI assistant will automatically discover them when connected.
| Tool | Description |
|---|---|
| list_available_data | Discover available symbols and calibration dates, filtered by symbol, exchange, provider or date |
| list_scenarios | List market scenarios and their default parameters |
| run_simulation | Submit a Monte Carlo simulation job |
| check_job | Get status of a simulation job |
| list_jobs | List all simulation jobs for the current user |
| get_job_results | Get results for all simulations in a job |
| list_cached_simulations | List cached baseline simulations (free tier) |
| list_sim_files | List available files for a simulation |
| get_mid_price_series | Download mid-price time series for a simulation |
| get_exec_schedule | Download execution schedule for algo simulations |
| get_sim_params | Get simulation configuration parameters |
| get_sim_metrics | Get simulation result metrics |
Available data
See Download data for the full symbol list, available cached simulations, and output file details.
Discovering symbols and dates
list_available_data is where most conversations start, and the catalog is too large to hand an assistant in one response. It therefore summarises by default — one row per instrument with date_count, first_date and last_date in place of the per-date detail — and accepts filters to narrow the listing:
| Argument | Description |
|---|---|
| symbol | Exact ticker, e.g. "700.HK". Returns that instrument's full date detail |
| date | Calibration date "YYYY-MM-DD". Returns the instruments ready on it |
| exchange | Exchange protocol, e.g. "hkex_securities" |
| provider | Data provider, e.g. "omd" or "bmll" |
| limit / offset | Page the listing; defaults to the first 50 instruments |
| include_dates | Return per-date detail for every instrument in the page |
You rarely need to name these yourself — asking "which dates can I simulate 700.HK on?" or "what is ready on 2 September 2025?" is enough for the assistant to pick the right filter. The response reports total alongside returned, so it can tell when a listing was truncated and page for the rest.
The same ticker can appear under more than one data provider, with different dates and tick sizes — Tencent is 700.HK from omd and 700 from bmll. A date that exists for one will not necessarily exist for the other, so if a simulation is rejected for an unavailable date, check the provider before the date.
Prerequisites
- A Pulse API key — get one from your Dashboard
- Node.js installed (for the
mcp-remotebridge used by Claude Desktop)
Claude Code (CLI)
The quickest way to connect — add the server in one command:
claude mcp add pulse -s user \
--transport http \
https://pulse-mcp.simudyne.com/mcp \
--header "X-API-Key: YOUR_API_KEY"Restart Claude Code and you are ready to go. Ask it to "run a flash crash simulation for 700.HK".
Claude Desktop
1. Open your config file
On macOS it is located at:
~/Library/Application Support/Claude/claude_desktop_config.jsonOn Windows:
%APPDATA%\\Claude\\claude_desktop_config.json2. Add the Pulse MCP server
Paste the following into the mcpServers object, replacing YOUR_API_KEY with your actual key:
{
"mcpServers": {
"pulse": {
"command": "npx",
"args": [
"mcp-remote",
"https://pulse-mcp.simudyne.com/mcp",
"--header",
"X-API-Key: YOUR_API_KEY"
],
"timeout": 300000
}
}
}The timeout is set to 5 minutes (300 000 ms). Some tools like run_simulation submit asynchronous jobs, so you can use check_job to poll for completion. 5 minutes is a safe default for most operations.
3. Restart Claude Desktop
Fully quit Claude Desktop (Cmd+Q on macOS) and reopen it. You should see a tools icon at the bottom of the chat input showing pulse with 12 tools available.
Try asking: "What symbols are available for simulation?"
Any MCP-compatible client
The Pulse MCP server works with any tool that supports the Model Context Protocol — including Cursor, Windsurf, VS Code + GitHub Copilot, Cline, Zed, and many others. To connect, you need three things:
What you need
- MCP server URL —
https://pulse-mcp.simudyne.com/mcp - Your API key — passed as an
X-API-Keyheader with every request - Node.js — required for the
mcp-remotebridge that converts between stdio and HTTP (most desktop clients use stdio under the hood)
Generic configuration
MCP is a client- and model-agnostic protocol, so the same server works regardless of which assistant you use — only the config file location differs between clients. Replace YOUR_API_KEY with your actual key and paste this block into your client's MCP server configuration:
{
"mcpServers": {
"pulse": {
"command": "npx",
"args": [
"mcp-remote",
"https://pulse-mcp.simudyne.com/mcp",
"--header",
"X-API-Key: YOUR_API_KEY"
],
"timeout": 300000
}
}
}If your client supports Streamable HTTP transport directly (e.g. via a url field), you can point it straight at https://pulse-mcp.simudyne.com/mcp and skip the mcp-remote bridge entirely. Pass your API key as an X-API-Key header.