safetrade-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@safetrade-mcpget the BTC/USDT ticker"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
safetrade-mcp
Docs-driven Model Context Protocol server for the SafeTrade REST API.
This MCP is intentionally not a one-tool-per-endpoint wrapper. It gives agents a small generic client that reads SafeTrade's OpenAPI docs, validates requests against those docs by default, signs private calls internally, and keeps API secrets out of prompts and command lines.
Tools
safetrade_openapi
Inspect the SafeTrade OpenAPI spec cached by the MCP.
Arguments:
pathoptional API path, such as/trade/public/tickersor/trade/account/members/memethodoptional HTTP method whenpathis supplied
Use this first to discover paths, methods, query parameters, body schemas, and response shapes.
safetrade_request
Execute a generic SafeTrade REST request.
Arguments:
method:GET,POST,PUT,PATCH, orDELETE; defaultGETpath: relative SafeTrade API path starting with/query: object of query parametersbody: JSON body for non-GET requestsauth:auto,none, orrequired; defaultautovalidate: validate method/path against OpenAPI before sending; defaulttruetimeoutMs: request timeout; default15000, max60000confirmDangerous: must beALLOW_WITHDRAWfor withdraw mutations when withdraws are enabled
Related MCP server: specrun
Safety model
Credentials are read from environment variables or a local key file.
Credentials are never returned in tool output.
Key files must not be group/world readable. Mode
600is required.Withdraw mutation endpoints are blocked by default.
To allow withdraw mutations, both conditions are required:
environment variable
SAFETRADE_ALLOW_WITHDRAW=truerequest argument
confirmDangerous: "ALLOW_WITHDRAW"
For normal agent use, create a SafeTrade API key without withdraw permission and IP-lock it at SafeTrade.
Secrets
Preferred key file:
{
"apiKey": "...",
"apiSecret": "..."
}Default path:
~/.config/opencode/keys/safetrade.jsonPermissions:
chmod 600 ~/.config/opencode/keys/safetrade.jsonEnvironment variables are also supported:
SAFETRADE_API_KEY=...
SAFETRADE_API_SECRET=...Install
bun installRun
bun run index.tsSelf-test:
bun run index.ts --self-testThe self-test checks:
OpenAPI lookup works
live public
/trade/public/tickersrequest returns HTTP 200withdraw mutation guard blocks before request
If credentials are configured, MCP clients can also call private endpoints such as /trade/account/members/me through safetrade_request.
OMP MCP config example
{
"mcpServers": {
"safetrade": {
"type": "stdio",
"command": "/home/cachybtw/.bun/bin/bun",
"args": [
"run",
"/home/cachybtw/.config/opencode/mcp/safetrade-mcp/index.ts"
],
"env": {
"PATH": "/home/cachybtw/.local/bin:/home/cachybtw/.bun/bin:/usr/local/bin:/usr/bin:/bin",
"SAFETRADE_KEYS_FILE": "/home/cachybtw/.config/opencode/keys/safetrade.json"
},
"enabled": true
}
}
}Auth details
The signing implementation follows SafeTrade's official example client:
header
X-Auth-Apikey: API keyheader
X-Auth-Nonce: millisecond timestampheader
X-Auth-Signature:HMAC_SHA256(apiSecret, nonce + apiKey)as lowercase hex
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/NikkeTryHard/safetrade-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server