Bridges TradeOS trading intelligence into any MCP client, exposing ticker search, chart technical analysis, macro news feeds, and custom agent management through natural language prompts. You can connect via streamable HTTP (recommended for Cursor and Claude Code, handles OAuth automatically) or stdio with a local npm install and access token. The stdio path is a proxy to the same TradeOS mcp-call endpoint, useful when your client only supports command transport. Ships with a Claude Code plugin in the repo. Includes a browser OAuth helper script that prints your JWT. If you're building trading workflows in AI assistants and need live market data, spread comparisons, or TA signals without writing API clients, this gives you those primitives as MCP tools.
TRADEOS_ACCESS_TOKEN*secretOAuth Bearer for mcp-call. Run: npx -y @tradeos/tradeos-mcp-test 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