Production-grade MCP server and AI tools for the Godot engine
BetSlip Doctor is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Your agent grades every slip A+ to F-, links your books and tracks your record. No wager placement.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http betslip-doctor-mcp https://api.betslipdoctor.ai/api/mcp
# 2 — ask your agent for something these tools do
# get_tracked_slips, track_slip, get_todays_board and 59 more
BetSlip Doctor costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http betslip-doctor-mcp https://api.betslipdoctor.ai/api/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
62 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Read the authenticated user's tracked ticket trees and tracking lifecycle. Set view: app to read the current app saved-ticket library instead. Provider placement ids and sportsbook deep links are never returned.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| limit | integer | no | Legacy tracked trees: max 50. Current app view: max 20. |
| view | string | no | Use current app saved-ticket library; omit for tracked trees. |
| search | string | no | Current app view only. |
| cursor | string | no | Current app view only. |
Create or revise one of the authenticated user's ticket trees. This stores truth state only; it never places, prepares, or hands off a wager.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| client_mutation_id | string | yes | Caller-generated idempotency key. |
| ticket_id | string | no | Server ticket id when revising an existing tracked slip. |
| expected_revision | integer | no | Required with ticket_id; stale writes fail with a conflict. |
| ticket | object | yes | BSD two-level BetTicketContract. SGP children stay nested under one outer pick. |
Live sports board: upcoming and in-play games with main-market prices (moneyline, spread, total) and the best posted price per selection across connected books. Decision support; never a guarantee and never a wager. The default board may reserve/spend odds-refresh units under the app rules; retries deduplicate only within the existing 60-second usage bucket. Set view: app for the current app Live
| Parameter | Type | Required | Notes |
|---|---|---|---|
| leagues | array | no | League labels to filter by, e.g. ['MLB','NFL']. Omit for all leagues. |
| limit | integer | no | Legacy main-market board: max 50. Current app games view: max 20. |
| offset | integer | no | Window offset for paging (default 0). |
| view | string | no | Use the current app Live board; omit for the legacy main-market board. |
| category | string | no | Current app view only. Source-bound categories require request; board_snapshot reads one complete prewarmed page without provider work; games uses the existing board filters. |
| request | no | Required for event_catalog, event_prices or board_snapshot. Pass the exact original source-bound request; never relabel source IDs or periods. | |
| league | string | no | Current app view only. |
| cursor | string | no | Current app view only. |
Use version bsd-agent-grade-v1 and a unique commandKey (16-120 characters) for every action. quote requires depth plus exactly one of ticketId (saved UUID) or ticket (exact confirmed manual ticket); funding is optional. start requires quoteId. cancel requires jobId. A quote discloses the allowance; start reserves it and returns a durable job. Use get_saved_reports for progress and the saved result
| Parameter | Type | Required | Notes |
|---|---|---|---|
| version | string | yes | — |
| action | string | yes | — |
| commandKey | string | yes | — |
| depth | string | no | — |
| funding | string | no | — |
| ticketId | string | no | — |
| ticket | object | no | — |
| quoteId | string | no | — |
| jobId | string | no | — |
For current Grade, send version bsd-agent-grade-v1 and action: list (optional limit 1-20 and cursor), job or report (jobId UUID required), or progress (jobId UUID required; optional after 0-1000000 and limit 1-100). Readiness requires a readable saved report. For legacy reports only, omit version/action and send optional report_id and limit 1-25. Never mix current and legacy fields.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| version | string | no | — |
| action | string | no | — |
| limit | integer | no | — |
| cursor | string | no | — |
| representation | string | no | — |
| jobId | string | no | — |
| after | integer | no | — |
| report_id | string | no | Legacy saved report ID; omit version and action. |
The authenticated user's imported betting-history ledger: W-L record, stake and net over lifetime/30d/7d windows, sync freshness, and their most recent bets. Numbers come only from the user's own imported slips; nothing is fabricated. Set view: app for the current app History summary with its source, currency and limitation rules.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| recent | integer | no | Legacy-only: how many recent bets to include (default 5). Do not send with view: app. |
| view | string | no | Use the current app History summary; omit for legacy imported history. |
| range | string | no | Current app view only. 1y is a rolling calendar year; ytd is year to date. |
| recordKind | string | no | Current app view only. |
| currency | string | no | Current app view only; ISO 4217 code. |
| category | string | no | Current app History read with view: app. Context takes only original recordId and recordKind; other categories require request. Advice also requires the original record references. |
| request | no | Use the existing History filters/cursor for this category. Advice before placement is distinct from current or retrospective responses. | |
| recordId | string | no | Original owned History record ID; advice or context category only. |
Compare posted prices across books for each leg of a slip (main markets). Reports every book's quote, the best price for the bettor, and how much the user's own line gives up. Only describes books with real posted data; never places a wager. May reserve/spend odds-refresh units under the app rules; retries deduplicate only within the existing 60-second usage bucket.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bookKey | string | no | — |
| jurisdiction | string | no | — |
| intent | string | no | — |
| legs | array | yes | — |
The app Doctor conversation. Send version bsd-agent-doctor-v1 and one action: open (commandKey, optional owned subject), threads, conversation (threadId), quota, quote (commandKey, threadId, current sequence, text, optional responseStyle learning/technical/roast), memory (current confirmed notes), remember (commandKey, explicitly requested note/correction), forget (commandKey, note id/current revi
| Parameter | Type | Required | Notes |
|---|---|---|---|
| version | string | yes | — |
| action | string | yes | — |
| commandKey | string | no | Stable key for one write action and all its retries. |
| threadId | string | no | — |
| ticketId | string/null | no | — |
| reportId | string/null | no | — |
| history | object | no | — |
| sequence | integer | no | Current thread sequence from conversation. |
| text | string | no | — |
| responseStyle | string | no | This reply only. Omit to preserve the account default. |
| note | object | no | — |
| id | string | no | Exact owned note ID to remove. |
| expectedRevision | integer | no | — |
| confirmation | string | no | — |
| quoteId | string | no | — |
| jobId | string | no | — |
| before | integer | no | — |
| after | integer | no | — |
Send version bsd-agent-tail-v1 and action doctor_picks (today’s saved Doctor picks and recent settled results), feed (optional feed/profileId/listId/search/limit/cursor) or post (postId). Read the same account-filtered Tail feed or one visible post as the BSD app. Moderation, follows, mutes, private lists and cursor binding use the app service.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| version | string | yes | — |
| action | string | yes | — |
| feed | string | no | — |
| profileId | string | no | — |
| listId | string | no | — |
| search | string | no | — |
| limit | integer | no | — |
| cursor | string | no | — |
| postId | string | no | — |
| fadedByLimit | integer | no | — |
| fadedByCursor | string | no | — |
Send version bsd-agent-tail-v1. Preview a draft from either an owned saved Grade report (reportId, text, showStake, placement) or saved Doctor exchange (source doctor_exchange, threadId, messageId, text) through the app service. Publish only after showing the exact preview and getting the customer’s confirmation. For action publish reuse the same draft and previewBinding, pass confirmation PUBLISH
| Parameter | Type | Required | Notes |
|---|---|---|---|
| version | string | yes | — |
| action | string | yes | — |
| commandKey | string | no | — |
| confirmation | string | no | — |
| draft | object | yes | The exact app post draft: either a saved Grade report or a saved Doctor exchange. |
| previewBinding | string | no | — |
| placementConfirmation | string | no | — |
| fWarning | string/null | no | — |
Use action settlement with ticketId to read this owned entry’s result (history.read also required). Use bsd-pickem-grade-v2. check returns per-pick availability without research or a model call; letters are not scored yet. quote saves the owned Power or complete Flex child-ticket structure. Whole-entry Grade stays unavailable without confirmed book payouts and supported engine shape. start never b
| Parameter | Type | Required | Notes |
|---|---|---|---|
| version | string | yes | — |
| action | string | yes | — |
| selections | array | no | — |
| ticketId | string | no | — |
| commandKey | string | no | — |
| entry | no | — | |
| childTicketIds | array | no | — |
| depth | string | no | — |
| quoteId | string | no | — |
| jobId | string | no | — |
Board only: client-reported Live section pricing p50/p95, held durations and error/retry/crash counts over the last 24 hours.
No parameter schema on file.
Board only: read a technical diagnostic packet by bundle id, attached to the named observation. No account or journey text.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | — |
Persist a Grade quote for an owned saved ticketId or exactly one confirmed manual ticket, with the requested depth and optional funding. May save that manual ticket. Returns the app allowance quote; does not start work. Show the quote before requesting a start. Keep the caller-generated commandKey (16-120 characters) stable for this action and all retries. Action and version are fixed by this tool
| Parameter | Type | Required | Notes |
|---|---|---|---|
| commandKey | string | yes | — |
| depth | string | no | — |
| funding | string | no | — |
| ticketId | string | no | — |
| ticket | object | no | — |
Start the owned Grade quoteId after the customer has seen and accepted its allowance quote. Reserves app allowance and queues the same durable Grade job; consent, tier, credit and admission rules apply. Returns a job, not a completed answer. Keep the caller-generated commandKey (16-120 characters) stable for this action and all retries. Action and version are fixed by this tool; do not supply them
| Parameter | Type | Required | Notes |
|---|---|---|---|
| commandKey | string | yes | — |
| quoteId | string | yes | — |
Cancel an owned Grade jobId through the app service. Stops eligible work and releases its remaining reservation under the existing app rules; cannot undo provider work already performed. Keep the caller-generated commandKey (16-120 characters) stable for this action and all retries. Action and version are fixed by this tool; do not supply them.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| commandKey | string | yes | — |
| jobId | string | yes | — |
Read the authenticated account’s current Grade library, with optional limit 1-20 and account-bound cursor. Never starts research. Action and version are fixed by this tool; do not supply them.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| limit | integer | no | — |
| cursor | string | no | — |
| representation | string | no | — |
Read the owned Grade jobId and its current durable status. Never starts or resumes work. Action and version are fixed by this tool; do not supply them.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| jobId | string | yes | — |
Read saved progress for the owned Grade jobId, with optional after sequence and limit 1-100. Progress is not proof that a saved report is ready; never starts work. Action and version are fixed by this tool; do not supply them.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| jobId | string | yes | — |
| representation | string | no | — |
| after | integer | no | — |
| limit | integer | no | — |
Return the verified immutable saved report for an owned completed Grade jobId. Returns unavailable until the real saved report is readable; never grades again. Action and version are fixed by this tool; do not supply them.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| jobId | string | yes | — |
Persist an app Doctor thread, optionally attached to an owned ticket, report or history item. Does not start a reply or spend a consult allowance. Keep the caller-generated commandKey (16-120 characters) stable for this action and all retries. Action and version are fixed by this tool; do not supply them.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| commandKey | string | yes | — |
| ticketId | no | — | |
| reportId | no | — | |
| history | object | no | — |
Read this account’s saved app Doctor threads. Does not generate an answer. Action and version are fixed by this tool; do not supply them.
No parameter schema on file.
Read the owned threadId, saved user messages, Doctor answers and jobs; optional before pages older messages. Does not generate a new answer. Action and version are fixed by this tool; do not supply them.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| threadId | string | yes | — |
| before | integer | no | — |
Read this account’s current app consult allowance, held and used amounts, and reset information. Does not reserve a consult. Action and version are fixed by this tool; do not supply them.
No parameter schema on file.
Read this authenticated account’s bettor model, optionally filtered by topic: confirmed notes and revisions, separately attributed Honcho inferred context, source IDs when supplied, generation, recall state and as-of. Unavailable inference stays unavailable. Memory and AI consent apply; recalled statements never establish bet outcomes or change Grade math. Action and version are fixed by this tool
| Parameter | Type | Required | Notes |
|---|---|---|---|
| topic | string | no | — |
Read this authenticated account’s confirmed notes, active status, current revisions and memory generation. Longer-term Honcho personalization is recalled inside consults. These notes are user-reported preferences and lessons, not authoritative betting outcomes. Action and version are fixed by this tool; do not supply them.
No parameter schema on file.
Save only a preference, goal, constraint or context note the customer explicitly asked Doctor to remember. Corrections require the exact owned note id and expectedRevision from get_doctor_memory. note.confirmation must be save_for_future_consults. Do not silently infer mastery or save sporting results; those belong in saved betting records. A committed edit rotates inferred memory so a superseded
| Parameter | Type | Required | Notes |
|---|---|---|---|
| commandKey | string | yes | — |
| note | object | yes | — |
Remove the exact owned note only after the customer explicitly asks to forget it. Requires current id/expectedRevision and confirmation forget_for_future_consults. Rotates inferred memory under the existing account service; saved conversations remain separately retained until deleted. Keep the caller-generated commandKey (16-120 characters) stable for this action and all retries. Action and versio
| Parameter | Type | Required | Notes |
|---|---|---|---|
| commandKey | string | yes | — |
| id | string | yes | — |
| expectedRevision | integer | yes | — |
| confirmation | string | yes | — |
Persist an app consult quote for text in the owned threadId at its current sequence, with optional responseStyle learning/technical/roast for this reply. Omit for the account default. Returns the allowance quote without starting a reply. Show the quote before requesting a start. Keep the caller-generated commandKey (16-120 characters) stable for this action and all retries. Action and version are
| Parameter | Type | Required | Notes |
|---|---|---|---|
| commandKey | string | yes | — |
| threadId | string | yes | — |
| sequence | integer | yes | — |
| text | string | yes | — |
| responseStyle | string | no | — |
Start the owned consult quoteId after the customer has seen and accepted the quote. Reserves app allowance and queues the existing Doctor job; app AI consent, tier, credit, cost cap and admission rules apply. Does not return an answer before it is saved. Keep the caller-generated commandKey (16-120 characters) stable for this action and all retries. Action and version are fixed by this tool; do no
| Parameter | Type | Required | Notes |
|---|---|---|---|
| commandKey | string | yes | — |
| quoteId | string | yes | — |
Read the owned Doctor jobId, including its real saved answer when available. Never generates or restarts a reply. Action and version are fixed by this tool; do not supply them.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| jobId | string | yes | — |
Read saved events for the owned Doctor jobId, optionally after a sequence. Never starts a consult. Action and version are fixed by this tool; do not supply them.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| jobId | string | yes | — |
| after | integer | no | — |
Cancel an owned Doctor jobId under the app cancellation and reservation rules. Cannot undo a reply or provider work already completed. Keep the caller-generated commandKey (16-120 characters) stable for this action and all retries. Action and version are fixed by this tool; do not supply them.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| commandKey | string | yes | — |
| jobId | string | yes | — |
Read today’s saved Doctor picks and recent settled WON/LOST/PUSH results. Uses the app’s account permissions and paid-leg lock; no generation or current-price claim. Action and version are fixed by this tool; do not supply them.
No parameter schema on file.
Doctor ticket posts include result WON/LOST/PUSH when settled, null otherwise. Read the app Tail feed with its account-filtered community, following, own, profile, bookmark or private-list visibility. Uses app moderation, mutes and account-bound cursor rules; does not post. Action and version are fixed by this tool; do not supply them.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| feed | string | no | — |
| profileId | string | no | — |
| listId | string | no | — |
| search | string | no | — |
| limit | integer | no | — |
| cursor | string | no | — |
Doctor ticket posts include result WON/LOST/PUSH when settled, null otherwise. Read one app Tail postId visible to this account under the same moderation and privacy rules. Supply fadedByLimit (1-25) or fadedByCursor to include the permitted public confirmed-Fade profile page. May contain another community member’s published content; does not post. Action and version are fixed by this tool; do not
| Parameter | Type | Required | Notes |
|---|---|---|---|
| postId | string | yes | — |
| fadedByLimit | integer | no | — |
| fadedByCursor | string | no | — |
Compute the exact app sharing preview and binding from an owned saved Grade report or Doctor exchange draft. Does not publish. Show the returned preview to the customer before requesting publication. Action and version are fixed by this tool; do not supply them.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| draft | yes | — |
Submit the exact customer-approved draft and previewBinding to the app moderation queue. Requires confirmation PUBLISH_POST, placementConfirmation and fWarning. Shares approved content with the Tail community when moderation allows; this irreversible send never places a wager. Keep the caller-generated commandKey (16-120 characters) stable for this action and all retries. Action and version are fi
| Parameter | Type | Required | Notes |
|---|---|---|---|
| commandKey | string | yes | — |
| confirmation | string | yes | — |
| draft | yes | — | |
| previewBinding | string | yes | — |
| placementConfirmation | string | yes | — |
| fWarning | yes | — |
Create an owned ticket tree in building state with a stable client_mutation_id for retries. Stores truth only; never prepares or places a wager. Cannot revise an existing slip.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| client_mutation_id | string | yes | Caller-generated idempotency key. |
| ticket | object | yes | BSD two-level BetTicketContract. SGP children stay nested under one outer pick. |
Overwrite the owned tracked ticket_id with the supplied ticket tree in building state. Requires expected_revision; stale writes fail with the same app conflict. Keep client_mutation_id stable for retries. Never prepares or places a wager.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| client_mutation_id | string | yes | Caller-generated idempotency key. |
| ticket_id | string | yes | Server ticket id when revising an existing tracked slip. |
| expected_revision | integer | yes | Required with ticket_id; stale writes fail with a conflict. |
| ticket | object | yes | BSD two-level BetTicketContract. SGP children stay nested under one outer pick. |
Read the current SharpSports league catalog and per-league team membership, or read/save your leagues and teams. Use original source-qualified IDs. Logos are unavailable. Get the current revision before a confirmed set: merge imports device selections with account order first; replace saves Settings selections and allows clearing. Reuse a stable commandKey for retries. This changes preferences onl
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | — |
| league | string | no | — |
| selections | object | no | — |
| mode | string | no | — |
| expectedRevision | integer | no | — |
| confirmed | boolean | no | — |
| commandKey | string | no | — |
Preview actual supported opposite selections for a visible Tail post at the customer’s bookId and jurisdiction. Unavailable legs remain unavailable; this is not the mathematical complement of a parlay. After explicit customer review, confirm with the original preview binding, post revision, exact stake/currency/settlement fields and CONFIRM_COPY_TICKET. Keep commandKey stable on retries. Saves a p
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | — |
| postId | string | yes | — |
| bookId | string | no | — |
| jurisdiction | string | no | — |
| commandKey | string | no | — |
| request | object | no | — |
Open the visible post’s original saved full Grade or Doctor analysis using the app’s existing paid research access. Requires Tail and saved-report read consent. A subscription_required response means the customer needs the approved upgrade flow; do not start research or substitute a private report. Picks stay visible through get_tail_post.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| postId | string | yes | — |
Read or save this account’s Grade risk preference, factor weights, analysis depth and unit size. Saving requires the exact confirmed settings, current revision and a stable command key. Risk preference is separate from computed report risk. No Grade or research starts.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | — |
| settings | object | no | — |
| expectedRevision | integer | no | — |
| confirmed | boolean | no | — |
| commandKey | string | no | — |
Read the visible capper’s mandatory 30-day W-L-P and canonical net units, plus original record windows and public unit-integrity dates. Net units come from immutable placement-time per-pick units. Missing historical basis remains unknown. Unit-size changes apply forward only. No dollar stake, unit cash value or private audit data is returned.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| profileId | string | yes | — |
Read the canonical 30-day public leaderboard ordered by immutable placement-time net units. Only complete saved unit coverage is ranked. Returns the same records as capper profiles; no cash amounts.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| limit | integer | no | — |
Preview then explicitly confirm your own capper or club links. Supply draft {profileId,target: profile or club,expectedRevision,links:[{platform,handle?,url?}]}. Array order is display order; omit a platform to remove it. Use [] for no links, or null for club links to inherit the capper profile. One per platform: x, instagram, tiktok, youtube, discord, facebook. For Discord/Facebook provide url an
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | — |
| draft | object | yes | — |
| commandKey | string | no | — |
| previewBinding | string | no | — |
| confirmation | string | no | — |
Read the public club summary/About and ordered Find me on links with the same account visibility as the app. No membership or private feed is returned.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| clubId | string | yes | — |
Read deterministic patterns from this account’s settled betting history, with coverage, sample sizes, thresholds and source ticket IDs.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| range | string | no | — |
| limit | integer | no | — |
Return the verified immutable saved report for an owned completed Grade jobId. Returns unavailable until the real saved report is readable; never grades again. Action and version are fixed by this tool; do not supply them. Show the saved result in an interactive BSD card in the chat. Use this tool when the customer wants to see their saved result. This is a read-only view.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| jobId | string | yes | — |
Read the owned threadId, saved user messages, Doctor answers and jobs; optional before pages older messages. Does not generate a new answer. Action and version are fixed by this tool; do not supply them. Show the saved result in an interactive BSD card in the chat. Use this tool when the customer wants to see their saved result. This is a read-only view.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| threadId | string | yes | — |
| before | integer | no | — |
Doctor ticket posts include result WON/LOST/PUSH when settled, null otherwise. Read the app Tail feed with its account-filtered community, following, own, profile, bookmark or private-list visibility. Uses app moderation, mutes and account-bound cursor rules; does not post. Action and version are fixed by this tool; do not supply them. Show the saved result in an interactive BSD card in the chat.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| feed | string | no | — |
| profileId | string | no | — |
| listId | string | no | — |
| search | string | no | — |
| limit | integer | no | — |
| cursor | string | no | — |
Doctor ticket posts include result WON/LOST/PUSH when settled, null otherwise. Read one app Tail postId visible to this account under the same moderation and privacy rules. Supply fadedByLimit (1-25) or fadedByCursor to include the permitted public confirmed-Fade profile page. May contain another community member’s published content; does not post. Action and version are fixed by this tool; do not
| Parameter | Type | Required | Notes |
|---|---|---|---|
| postId | string | yes | — |
| fadedByLimit | integer | no | — |
| fadedByCursor | string | no | — |
Show the connected account’s recorded profit/loss chart and actual win/loss counts. Requires currency and settlement source; never combine currencies or sources. Records use the same cursor and newest-first order as show_history_records and the app; pass recordPage.next to continue. Range/filter controls use the same app services. Missing results remain marked.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| range | string | no | — |
| includePickemEntries | boolean | no | — |
| recordKind | string | no | — |
| advice | string | no | — |
| adviceBasis | string | no | — |
| bookId | string | no | — |
| league | string | no | — |
| sport | string | no | — |
| result | string | no | — |
| graded | string | no | — |
| search | string | no | — |
| currency | string | yes | — |
| source | string | yes | — |
| cursor | string | no | — |
| limit | integer | no | — |
Show a bounded page of owned History records and their saved Grade association. Use the returned cursor for more. Preserve provider versus self-reported provenance.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | object | yes | — |
| cursor | string | no | — |
Read one real CSV export page for the owned History filters. Returns complete/next, filename and CSV. Never call a partial page a full export. No account mutation.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | object | yes | — |
| cursor | string | no | — |
Show an owned saved ticket with its exact single-book saved picks, odds and stake. Does not open a sportsbook or place anything. Offers a supported sportsbook handoff and optional Grade.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| ticketId | string | yes | — |
Prepare the existing app’s fresh, vetted direct sportsbook link for an owned saved ticket. Choose the same sportsbook as the saved ticket and the customer-provided state, or null if unknown. Returns full-slip or explicit individual-selection/manual fallbacks with expiry. Set sendToPhone=true only on an explicit customer request; this sends an ID-only push to that account’s registered devices. The
| Parameter | Type | Required | Notes |
|---|---|---|---|
| ticketId | string | yes | — |
| quoteAcceptance | object | no | — |
| platform | string | yes | — |
| bookKey | string | yes | — |
| state | yes | — | |
| sendToPhone | boolean | no | Set true only when the customer explicitly asks to send this exact saved-ticket handoff to their BSD phone. Omit otherwise. |
Show current supported prices for tailing or fading one visible public post at the customer’s chosen bookId and jurisdiction. Use original provider IDs, not guessed book names. Preserves changed/unavailable legs and exact preview binding. Does not save, Grade, publish or place.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| mode | string | yes | — |
| bookId | string | yes | — |
| jurisdiction | string | yes | — |
| postId | string | yes | — |
After the customer reviews every current leg and confirms the exact stake/currency/settlement fields, save the app’s owned Tail/Fade ticket using the preview binding and CONFIRM_COPY_TICKET. Keep commandKey stable on retries. Returns an unplaced slip; never places a wager or grades automatically.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| confirmation | string | yes | — |
| mode | string | yes | — |
| bookId | string | yes | — |
| jurisdiction | string | yes | — |
| expectedPostRevision | integer | yes | — |
| previewBinding | string | yes | — |
| clientSlipId | string | yes | — |
| clientRevision | integer | yes | — |
| currency | string | yes | — |
| stakeMinor | integer | yes | — |
| offeredReturnMinor | yes | — | |
| settlementTerms | object | yes | — |
| postId | string | yes | — |
| commandKey | string | yes | — |
Read your shared capper home (omit clubId to resolve your own club or no-club state), including server-derived role and roleBasis: actual member growth, weekly tails, Discover rank, weekly capper race rank with its ET window and payout date, and verified monthly earnings, with their original windows, provenance and unavailable states. Requires both club-management and earnings consent. Missing met
| Parameter | Type | Required | Notes |
|---|---|---|---|
| clubId | string | no | — |
Open a visible club pick’s original saved Grade with the same club membership and paid research access as the app. Requires club and saved-report read consent. This reads saved analysis without starting research.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| clubId | string | yes | — |
| postId | string | yes | — |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install BetSlip Doctor or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | moderate | capability blast radius (moderate) — client exposure if the model is manipulated | −3 |
| coverage-honesty | manifest | inspection depth (manifest) — how much of the target the scan could see | −4 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
The scan read each tool’s name, description, input schema and annotations exactly as the server listed them the last time it answered us; no code was reviewed. We ask the server again about once a month, and a list that changed is graded again.
The implementation source was not read — this reflects the declared tool metadata only.
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. moderate is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| get_tracked_slips | no tags | |
| track_slip | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| get_todays_board | external-sink | external-sink: declares readOnlyHint: false, destructiveHint: true, openWorldHint: true |
| grade_slip | external-sink | external-sink: declares readOnlyHint: false, destructiveHint: true, openWorldHint: true |
| get_saved_reports | no tags | |
| get_history_summary | no tags | |
| price_shop_slip | external-sink | external-sink: declares readOnlyHint: false, destructiveHint: true, openWorldHint: true |
| doctor_conversation | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| tail_read | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| tail_post | external-sink | external-sink: declares readOnlyHint: false, destructiveHint: true, openWorldHint: true |
| grade_pickem_entry | state-write | state-write: declares readOnlyHint: false |
| get_app_health | no tags | |
| get_app_diagnostic | no tags | |
| quote_grade | state-write | state-write: declares readOnlyHint: false |
| start_grade | external-sink | external-sink: declares readOnlyHint: false, destructiveHint: true, openWorldHint: true |
| cancel_grade | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| list_grade_jobs | no tags | |
| get_grade_job | no tags | |
| get_grade_progress | no tags | |
| get_grade_report | no tags | |
| open_doctor_conversation | state-write | state-write: declares readOnlyHint: false |
| list_doctor_conversations | no tags | |
| get_doctor_conversation | no tags | |
| get_doctor_quota | no tags | |
| get_bettor_profile | no tags | |
| get_doctor_memory | no tags | |
| remember_doctor_note | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| forget_doctor_note | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| quote_doctor_reply | state-write | state-write: declares readOnlyHint: false |
| start_doctor_reply | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| get_doctor_job | no tags | |
| get_doctor_events | no tags | |
| cancel_doctor_reply | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| get_doctor_picks | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| get_tail_feed | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| get_tail_post | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| preview_tail_post | no tags | |
| publish_tail_post | external-sink | external-sink: declares readOnlyHint: false, destructiveHint: true, openWorldHint: true |
| create_tracked_slip | state-write | state-write: declares readOnlyHint: false |
| revise_tracked_slip | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| onboarding_preferences | state-write | state-write: declares readOnlyHint: false |
| fade_post | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| view_tail_analysis | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| grade_settings | state-write | state-write: declares readOnlyHint: false |
| get_capper_record | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| get_capper_top | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| set_profile_links | external-sink | external-sink: declares readOnlyHint: false, destructiveHint: true, openWorldHint: true |
| get_club_profile | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| get_betting_leaks | no tags | |
| show_saved_grade | no tags | |
| show_doctor_conversation | no tags | |
| show_tail_feed | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| show_tail_post | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| show_betting_history | no tags | |
| show_history_records | no tags | |
| export_betting_history | no tags | |
| show_saved_slip | no tags | |
| prepare_sportsbook_handoff | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| preview_tail_slip | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| copy_tail_slip | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| club_dashboard | no tags | |
| view_club_pick_analysis | no tags |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.4.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish BetSlip Doctor can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.