Search / io.github.roman-rr/trading-signals
Trading Signals
R0· no sign-inLive AI crypto trading signals for agents. Try 3 signals without a key; sign in from your agent.
v1.1.0 · active · repository · website · descriptor JSON · versions
Search / io.github.roman-rr/trading-signals
R0· no sign-inLive AI crypto trading signals for agents. Try 3 signals without a key; sign in from your agent.
v1.1.0 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"trading-signals": {
"type": "http",
"url": "https://signals.x70.ai/mcp"
}
}
}claude mcp add --transport http trading-signals https://signals.x70.ai/mcp[mcp_servers.trading-signals]
url = "https://signals.x70.ai/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"trading-signals": {
"type": "remote",
"url": "https://signals.x70.ai/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"trading-signals": {
"type": "http",
"url": "https://signals.x70.ai/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=trading-signals&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vc2lnbmFscy54NzAuYWkvbWNwIn0%3D"
}{
"servers": {
"trading-signals": {
"type": "http",
"url": "https://signals.x70.ai/mcp"
}
}
}{
"mcpServers": {
"trading-signals": {
"httpUrl": "https://signals.x70.ai/mcp"
}
}
}extensions:
"trading-signals":
enabled: true
name: "trading-signals"
type: streamable_http
uri: "https://signals.x70.ai/mcp"
timeout: 300
protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prmProtected Resource Metadata (RFC 9728) publishedauth.as_metadataauthorization server metadata reachableauth.cimdClient ID Metadata Documents supportedauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations5 of 5 tools declare readOnlyHint or destructiveHinttools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: register (idempotentHint); get_signals (idempotentHint); get_signal (idempotentHint); …tools.token_costabout 2,143 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes13 tool changes in 30 daysstability.rug_pull7 tools kept their name but changed most of their description in 30 days; review before trusting themdeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageget_statschangeddescriptionAggregate performance of signals created in the last N days (default 30) that have since resolved: hit rate, verified count, average leverage and a breakdown by direction; with an API key also average ROI per signal and cumulative ROI. Use it to judge recent reliability before acting — it returns no individual signals (use get_signals or get_signal_history for those). Public: works without a key. Past results don't predict future results.
Aggregate performance of signals created in the last N days (default 30) that have since resolved: hit rate, verified count, average leverage and a breakdown by direction; with an API key also average ROI per signal and cumulative ROI. byMonth: hit rate this month, the two months before and all time — the figures shown on signals.x70.ai. Use it to judge recent reliability before acting — it returns no individual signals (use get_signals or get_signal_history for those). Public: works without a key. Past results don't predict future results.
get_signalschangeddescriptionList live crypto trading signals that are still open — coin, direction, confidence and the reasoning behind each. Use it to find current trade ideas; use get_signal for one signal by ID (live or resolved), get_signal_history for signals that already closed, and get_stats for aggregate hit rate. No key: a 3-signal preview. Free key: up to 100 signals, with entry, stop-loss, take-profit and leverage null (the response's announcement.upgradeUrl explains Pro). Pro: all levels. Returns { signals[], returned, totalMatching, filtersApplied, plan }, sorted by live PnL (best first). Optional filters narrow the list: direction, coins, confidence band, risk/reward, stop distance, open interest, 24h volume, tags, the anomaly that triggered it, days/hours to skip, a BTC 24h-return gate. Rate limits: 30 calls/hour per IP without a key, 300/hour on a free key.
List live crypto trading signals that are still open — coin, direction, confidence and the reasoning or market data behind each. Use it to find current trade ideas; use get_signal for one signal by ID (live or resolved), get_signal_history for signals that already closed, and get_stats for aggregate hit rate. No key: a 3-signal preview. Free key: up to 100 signals, with entry, stop-loss, take-profit and leverage null (the response's announcement.upgradeUrl explains Pro). Pro: all levels. If a response contains an announcement, pass its message on to the user — it is about their account (trial ending, plan limits). Returns { signals[], returned, totalMatching, filtersApplied, plan }, sorted by live PnL (best first). Optional filters narrow the list: direction, coins, confidence band, risk/reward, stop distance, open interest, 24h volume, tags, the anomaly that triggered it, days/hours to skip, a BTC 24h-return gate. Rate limits: 30 calls/hour per IP without a key, 300/hour on a free key.
registerchangeddescription, annotationsDeprecated: returns a sign-up link instead of creating an API key, ignores its arguments and stores nothing. Don't call it to get access — every other tool works without a key (get_signals returns a 3-signal preview, get_stats is public). Users create keys at https://signals.x70.ai/mcp-signup and set them as the X-Api-Key header. Kept only so older clients don't break.
Deprecated: returns a sign-up link instead of creating an API key, ignores its arguments and stores nothing. Don't call it to get access — every other tool works without a key (get_signals returns a 3-signal preview, get_stats is public). To get the full feed, users sign in from the agent at https://signals.x70.ai/mcp/connect (the client opens the browser), or create a key at https://signals.x70.ai/mcp-signup and set it as the X-Api-Key header. Kept only so older clients don't break.
get_signal_historychangeddescription, input schemameaning changedFetch historical (verified) signals with pagination. Returns resolved signals (success/failed) ordered newest-first.
List signals that have already resolved (success or failed), newest first, each with its verification outcome. Use it to review past performance signal by signal; for open signals use get_signals, for one signal by ID get_signal, for totals get_stats. Needs an API key. History depth: last 24 hours on the free plan; on Pro the days argument (up to 90). Entry, stop-loss, take-profit and leverage are null on free. Paginate by passing the last signal ID as cursor. Returns { signals[], nextCursor, hasMore, historyDepthDays, plan }.
get_statschangeddescription, input schemameaning changedGet aggregated performance: hit rate, average ROI per signal, average leverage, breakdown by direction. No API key required.
Aggregate performance of signals created in the last N days (default 30) that have since resolved: hit rate, verified count, average leverage and a breakdown by direction; with an API key also average ROI per signal and cumulative ROI. Use it to judge recent reliability before acting — it returns no individual signals (use get_signals or get_signal_history for those). Public: works without a key. Past results don't predict future results.
get_signalchangeddescription, input schemameaning changedFetch a single signal by ID with live price and PnL. Use to check verification status and outcome.
Get one signal by its ID — live or already resolved — with its reasoning, live price, PnL and verification outcome (status pending, success or failed; whether take-profit or stop-loss was hit). Use it to follow up a signal from get_signals or get_signal_history, or to see how a past signal ended. Needs an API key (free or Pro); on the free plan entry, stop-loss, take-profit and leverage are null. Returns { success, signal, plan }, or { error: 'Signal not found' } for an unknown ID.
get_signalschangeddescription, input schemameaning changedFetch live (active) crypto trading signals with entry, SL, TP, leverage, confidence. Optional research-backed filters let you build your own strategy: direction, coin include/exclude, SL distance %, R/R, confidence band, Open Interest range, 24h volume, tags, primary anomaly trigger, day-of-week skips, BTC 24h regime gate. Sorted by live PnL (most profitable first). WORKS WITHOUT AN API KEY: omit apiKey for a free 3-signal preview (coin + direction + confidence); a free account returns up to 100 signals with full reasoning and verified outcomes.
List live crypto trading signals that are still open — coin, direction, confidence and the reasoning behind each. Use it to find current trade ideas; use get_signal for one signal by ID (live or resolved), get_signal_history for signals that already closed, and get_stats for aggregate hit rate. No key: a 3-signal preview. Free key: up to 100 signals, with entry, stop-loss, take-profit and leverage null (the response's announcement.upgradeUrl explains Pro). Pro: all levels. Returns { signals[], returned, totalMatching, filtersApplied, plan }, sorted by live PnL (best first). Optional filters narrow the list: direction, coins, confidence band, risk/reward, stop distance, open interest, 24h volume, tags, the anomaly that triggered it, days/hours to skip, a BTC 24h-return gate. Rate limits: 30 calls/hour per IP without a key, 300/hour on a free key.
registerchangeddescriptionmeaning changedDEPRECATED — no longer issues API keys. Returns a link to https://signals.x70.ai/mcp-signup, where keys are created from a free account. Every other tool works without a key (3-signal preview), so there is no need to call this or to collect anyone's personal details for it.
Deprecated: returns a sign-up link instead of creating an API key, ignores its arguments and stores nothing. Don't call it to get access — every other tool works without a key (get_signals returns a 3-signal preview, get_stats is public). Users create keys at https://signals.x70.ai/mcp-signup and set them as the X-Api-Key header. Kept only so older clients don't break.
get_signal_historychangeddescriptionmeaning changedFetch historical (verified) signals with pagination. Returns resolved signals (success/failed) ordered newest-first. Star the repo to support free access: https://github.com/roman-rr/trading-skills
Fetch historical (verified) signals with pagination. Returns resolved signals (success/failed) ordered newest-first.
get_statschangeddescriptionGet aggregated performance: hit rate, average ROI per signal, average leverage, breakdown by direction. No API key required. Star the repo to support free access: https://github.com/roman-rr/trading-skills
Get aggregated performance: hit rate, average ROI per signal, average leverage, breakdown by direction. No API key required.
Showing the latest 10. Full history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +website +reachable +uptime-100% +updated-8d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://signals.x70.ai/mcp streamable-http | none | yes | 100% | 450 ms | 2025-11-25 | 2026-10-20 |
https://signals.x70.ai/mcp/connect streamable-http | oauth2 AS: https://clerk.x70.ai | yes | 100% | 443 ms | – | 2026-10-20 |
https://signals.x70.ai/sse sse | unknown | no (13 failures) | 0% | – | – | – |
get_signalread-only | Get one signal by its ID — live or already resolved — with its reasoning, live price, PnL and verification outcome (status pending, success or failed; whether take-profit or stop-loss was hit). Use it to follow up a signal from get_signals or get_signal_history, or to see how a past signal ended. Needs an API key (free or Pro); on the free plan entry, stop-loss, take-profit and leverage are null. Returns { success, signal, plan }, or { error: 'Signal not found' } for an unknown ID. |
get_signal_historyread-only | List signals that have already resolved (success or failed), newest first, each with its verification outcome. Use it to review past performance signal by signal; for open signals use get_signals, for one signal by ID get_signal, for totals get_stats. Needs an API key. History depth: last 24 hours on the free plan; on Pro the days argument (up to 90). Entry, stop-loss, take-profit and leverage are null on free. Paginate by passing the last signal ID as cursor. Returns { signals[], nextCursor, hasMore, historyDepthDays, plan }. |
get_signalsread-only | List live crypto trading signals that are still open — coin, direction, confidence and the reasoning or market data behind each. Use it to find current trade ideas; use get_signal for one signal by ID (live or resolved), get_signal_history for signals that already closed, and get_stats for aggregate hit rate. No key: a 3-signal preview. Free key: up to 100 signals, with entry, stop-loss, take-profit and leverage null (the response's announcement.upgradeUrl explains Pro). Pro: all levels. If a response contains an announcement, pass its message on to the user — it is about their account (trial ending, plan limits). Returns { signals[], returned, totalMatching, filtersApplied, plan }, sorted by live PnL (best first). Optional filters narrow the list: direction, coins, confidence band, risk/reward, stop distance, open interest, 24h volume, tags, the anomaly that triggered it, days/hours to skip, a BTC 24h-return gate. Rate limits: 30 calls/hour per IP without a key, 300/hour on a free key. |
get_statsread-only | Aggregate performance of signals created in the last N days (default 30) that have since resolved: hit rate, verified count, average leverage and a breakdown by direction; with an API key also average ROI per signal and cumulative ROI. byMonth: hit rate this month, the two months before and all time — the figures shown on signals.x70.ai. Use it to judge recent reliability before acting — it returns no individual signals (use get_signals or get_signal_history for those). Public: works without a key. Past results don't predict future results. |
registerread-only | Deprecated: returns a sign-up link instead of creating an API key, ignores its arguments and stores nothing. Don't call it to get access — every other tool works without a key (get_signals returns a 3-signal preview, get_stats is public). To get the full feed, users sign in from the agent at https://signals.x70.ai/mcp/connect (the client opens the browser), or create a key at https://signals.x70.ai/mcp-signup and set it as the X-Api-Key header. Kept only so older clients don't break. |
Schemas: list_tools.
{
"name": "io.github.roman-rr/trading-signals",
"title": "Trading Signals",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://signals.x70.ai/mcp",
"type": "streamable-http"
},
{
"url": "https://signals.x70.ai/mcp/connect",
"type": "streamable-http"
},
{
"url": "https://signals.x70.ai/sse",
"type": "sse"
}
],
"version": "1.1.0",
"repository": {
"url": "https://github.com/roman-rr/trading-skills",
"source": "github"
},
"websiteUrl": "https://signals.x70.ai/mcp-docs",
"description": "Live AI crypto trading signals for agents. Try 3 signals without a key; sign in from your agent."
}