Bridges TradeOS trading intelligence into Claude and other MCP clients via stdio or HTTP. Exposes ticker search, chart technical analysis, macro news feeds, and a custom agent interface that lets you build and query trading strategies from natural language. OAuth flow handled client-side for HTTP mode, or you can run the npm package locally with a bearer token. Built for traders who want to pull live market data, compare spreads, and run TA directly in their AI chat without switching to a terminal or web dashboard. Ships with a Claude Code plugin and detailed Cursor config examples. Proxy architecture means all the heavy lifting happens on TradeOS servers, you just get the MCP transport layer.
TRADEOS_ACCESS_TOKEN*secretOAuth Bearer for mcp-call. Run: npx -y @tradeos/tradeos-mcp oauth, then paste the printed token.
TradeOS MCP lets you connect TradeOS trading intelligence to MCP-compatible AI tools, so your assistant can analyze markets, search tickers, compare spreads, use macro context, and manage custom trading agents directly from natural-language prompts.
This repo publishes @tradeos/tradeos-mcp on npm: a stdio MCP bridge that proxies tools to TradeOS Streamable HTTP (mcp-call). You can connect in two ways:
| Mode | Best for | Auth |
|---|---|---|
| HTTP (recommended) | Cursor, Claude Code, most MCP clients | Browser OAuth in the client |
| npm stdio | Clients that only support command / stdio | TRADEOS_ACCESS_TOKEN env var |
Production endpoint (both modes ultimately call this):
https://ai.tradeos.xyz/api/agent/mcp/mcp-call
Product docs: TradeOS MCP integration & usage
No npm install. The client handles OAuth.
Edit user config ~/.cursor/mcp.json (Windows: %USERPROFILE%\.cursor\mcp.json):
{
"mcpServers": {
"tradeos": {
"url": "https://ai.tradeos.xyz/api/agent/mcp/mcp-call"
}
}
}
Save, restart Cursor (or refresh MCP in Settings → MCP), then complete OAuth when prompted.
Use the bundled plugin in tradeos-skills/:
claude --plugin-dir ./tradeos-skills
Then complete OAuth and run /tradeos:analyze. Full plugin workflow (validate, community marketplace submit): tradeos-skills/README.md — aligned with Claude plugin docs.
Use when your client requires a local process (command + stdio).
Do not rely on npx inside MCP on Windows (cache/path issues). Install once to a fixed directory:
mkdir -p ~/tradeos-mcp-run # Windows: mkdir %USERPROFILE%\Downloads\tradeos-mcp-run
cd ~/tradeos-mcp-run # Windows: cd %USERPROFILE%\Downloads\tradeos-mcp-run
npm install @tradeos/tradeos-mcp
Pin a version if you prefer, e.g. @tradeos/tradeos-mcp@1.0.0.
TRADEOS_ACCESS_TOKENRun the OAuth helper (opens browser → log in on TradeOS → prints token):
# Linux / macOS
npx -y -p @tradeos/tradeos-mcp tradeos-mcp-oauth
# Or subcommand on main bin:
npx -y @tradeos/tradeos-mcp oauth
# Or, from your install directory:
node node_modules/@tradeos/tradeos-mcp/scripts/fetch-token.mjs
Windows (recommended):
cd /d %USERPROFILE%\Downloads\tradeos-mcp-run
node node_modules\@tradeos\tradeos-mcp\scripts\fetch-token.mjs
Copy the printed JWT (eyJ...). For local development of this repo, copy into .env:
cp .example.env .env
# TRADEOS_ACCESS_TOKEN=eyJ...
End users who only npm install the package do not need .env — set the token in MCP client config (mcp.json) instead.
Do not commit tokens to git.
{
"mcpServers": {
"tradeos-npm": {
"command": "node",
"args": [
"C:/Users/YOU/Downloads/tradeos-mcp-run/node_modules/@tradeos/tradeos-mcp/build/index.js"
],
"env": {
"TRADEOS_ACCESS_TOKEN": "eyJ..."
}
}
}
}
Replace YOU and the path with your actual install location. Use forward slashes or escaped backslashes in JSON.
If Cursor cannot find node, set the full path:
"command": "C:/nvm4w/nodejs/node.exe"
Enable tradeos-npm in Settings → MCP. Status should show connected with tools listed.
Environment variables in mcp.json do not apply to your shell. Set the token in the same terminal session:
REM Windows CMD
set TRADEOS_ACCESS_TOKEN=eyJ...
node C:\Users\YOU\Downloads\tradeos-mcp-run\node_modules\@tradeos\tradeos-mcp\build\index.js
# Linux / macOS
export TRADEOS_ACCESS_TOKEN=eyJ...
node ~/tradeos-mcp-run/node_modules/@tradeos/tradeos-mcp/build/index.js
Success:
[tradeos-mcp] remote: https://ai.tradeos.xyz/api/agent/mcp/mcp-call
[tradeos-mcp] stdio bridge ready
Press Ctrl+C to stop. Cursor starts its own process; you do not need to keep this terminal open.
node + install path in mcp.json, not npx, for MCP.C:\Program Files\nodejs\node_cache, run once:
npm config set cache "%USERPROFILE%\.npm-cache"
npx @pkg tradeos-mcp-oauth may run the wrong bin on Windows. Prefer:
npx -y -p @tradeos/tradeos-mcp tradeos-mcp-oauth
or node .../scripts/fetch-token.mjs from your install directory.rmdir /s /q "%USERPROFILE%\.npm-cache\_npx"
| Item | Value |
|---|---|
| Package | @tradeos/tradeos-mcp |
| MCP Registry name | io.github.TradeOS-AI/tradeos-mcp |
| Bin: MCP bridge | tradeos-mcp |
| Bin: OAuth token | tradeos-mcp-oauth |
| OAuth subcommand | oauth on bin tradeos-mcp |
Install:
npm install @tradeos/tradeos-mcp
git clone https://github.com/TradeOS-AI/tradeos-mcp.git
cd tradeos-mcp
npm ci
npm run build
npm run oauth:token # browser OAuth → prints token (copy into .env if needed)
npm run registry:verify
| Script | Purpose |
|---|---|
npm run build | Compile stdio bridge to build/ |
npm run oauth:token | Browser OAuth → print token |
npm run registry:verify | Pre-publish checks (package.json ↔ server.json) |
npm run registry:sync-version <ver> | Sync version from release tag |
Push a version tag to trigger .github/workflows/publish-mcp.yml:
git tag v1.0.0
git push origin v1.0.0
v1.0.0) publish to npm latest and the MCP Registry.v1.0.0-beta.1) publish with an npm dist-tag matching the prerelease label (e.g. beta).NPM_TOKEN (Classic Automation token for @tradeos).Verify on the registry API:
curl "https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.TradeOS-AI/tradeos-mcp"
| Symptom | Likely cause | Fix |
|---|---|---|
TRADEOS_ACCESS_TOKEN is required | Token not set in env / mcp.json | Run oauth helper; set env in MCP config |
unauthorized on connect | Expired or invalid token | Re-run oauth; paste fresh JWT (no Bearer prefix) |
EPERM / node_cache | npm cache under Program Files | npm config set cache "%USERPROFILE%\.npm-cache" |
TAR_ENTRY_ERROR / 'tradeos-mcp' is not recognized | npx failed on Windows | Local install + node path in mcp.json |
MODULE_NOT_FOUND for node_modules/... | Ran script from wrong directory | cd to install dir or use absolute path |
| Token works in terminal, not in Cursor | mcp.json path or token mismatch | Match paths; restart Cursor / refresh MCP |
| MCP connects but no tools | Wrong server enabled | Disable broken localhost entries; use production HTTP URL or working tradeos-npm |
tradeos-skills/ — Claude Code plugin + analyze skillserver.json — MCP Registry manifestio.github.ericm1018/skillfm-llm-cost-optimizer-openai-anthropic-usage
io.github.mikerawsonnz/llm-orchestration-agent
io.github.mikerawsonnz/authenticated-llm-agent
labforgedev/copilot-memory-mcp
csoai-org/agent-prompt-injection-firewall-mcp
io.github.mikerawsonnz/authenticated-multi-llm-agent