For your AI · API & MCP
Let your AI read the signals.
If you work with an AI assistant or with your own tools, you can let them read Signals Room signals automatically - no copy-paste from Telegram. It is read-only: your AI sees the signals, it never touches your money.
In plain words
What is it, exactly?
Your AI needs data to be useful. Normally you would open Telegram, read a signal and type it into your own assistant. With the API you skip all of that: your assistant asks us for the signals and gets them already structured.
Same signals, machine-ready
The signals your AI receives are exactly the ones sent to Telegram and shown in the platform: pair, direction, leverage, entry, stop-loss and 2-6 take-profits.
It follows the updates too
Your AI sees how many take-profits have been reached and when a signal is closed, with our objective result recorded automatically (for example +1.2R).
You stay in control
Your AI adapts the signal to your account - size, risk, which trades to take - on the exchange you already use. We never place orders and never hold funds.
Who it is for
Built for people who automate.
Professional traders, systematic traders, developers and anyone who already has an AI assistant doing part of the work.
Get your personal key
In the platform, after your subscription or free trial is active, open your profile and generate an API key. It is shown once, and you can regenerate it whenever you want.
Connect your AI
If your app speaks MCP (Claude Desktop, Cursor…) you paste one URL and your key. Otherwise you give your assistant the plain REST address. Both read the same data.
It checks for you
Tell your assistant to check every few minutes. It reports what is open and what has changed. The key stops working the moment your subscription expires.
For developers & AI agents
Technical details.
Everything below is the exact contract of the service: endpoints, authentication, the shape of the data and the limits. Two surfaces share the same key and the same data: a plain REST API (universal) and an MCP endpoint (for AI apps that support it). Both are read-only.
REST API
| Method & path | What it returns |
|---|---|
| GET /signals | List of signals. Query filters: status = open | closed | all (default open), pair (e.g. BTC/USDT), direction = long | short, limit. |
| GET /signals/<id> | One signal by its id. |
MCP endpoint
JSON-RPC 2.0 over HTTP, stateless (no session to manage). It exposes two tools:
| Tool | Arguments |
|---|---|
| list_signals | status, pair, direction, limit |
| get_signal | id |
Example request
curl "https://www.signalsroom.com/webapp/api/v1/index.php/signals?status=open" \
-H "Authorization: Bearer YOUR_API_KEY"Example response
{
"generated_at": "2026-10-05T12:02:11Z",
"status": "open",
"count": 1,
"signals": [
{
"id": 231,
"provider": 5,
"pair": "MON/USDT",
"direction": "short",
"leverage": 2,
"margin_mode": "cross",
"entry": 0.0321,
"stop_loss": 0.03264607,
"take_profits": [0.03177236, 0.03144472, 0.03111708],
"is_free": false,
"published_at": "2026-10-05T10:02:38Z",
"status": "open",
"tp_reached": 1,
"entry_filled_at": "2026-10-05T10:05:00Z",
"closed_at": null,
"outcome": null,
"close_price": null,
"result_r": null,
"note": ""
}
]
}Fields of a signal
| pair, direction, leverage, margin_mode | How the trade is built (margin_mode: cross / isolated). |
| entry, stop_loss, take_profits[] | The levels: entry-target, stop and the take-profits. |
| status | open, closed or cancelled. |
| tp_reached | How many take-profits have been reached so far. |
| entry_filled_at, closed_at | When the entry was filled and when it closed (UTC). |
| outcome, close_price, result_r | The recorded result (e.g. vinta, +1.2R). |
| is_free, published_at, note | Free or premium, when it was published, the note. |
MCP configuration
For an MCP-capable app (for example Claude Desktop or Cursor):
{
"mcpServers": {
"signals-room": {
"type": "http",
"url": "https://www.signalsroom.com/webapp/api/v1/index.php/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}Limits & rules
- Read-only. The API only returns data. It never places orders and never touches funds.
- Rate limit: 60 requests per hour per key. Checking every 5 minutes means 12 per hour.
- Open signals are always returned; closed signals stay available for 24 hours after closing, with their result.
- Keys are personal, work only while the subscription is active, and can be regenerated at any time.
Errors
| 401 invalid_key | Missing, wrong, revoked or expired key. |
| 403 subscription_expired | The subscription or trial is not active. |
| 403 account_disabled | The account is disabled. |
| 429 rate_limited | Too many requests in the hour. |
Questions
Frequently asked
Can my AI read the signals automatically?
Does the API place trades?
What does the API return?
What is MCP?
How often should the AI check?
Give your AI the data it needs.
Start with the free trial, generate your key in the profile and connect your assistant. The signals are the same, only more useful.