# `io.github.rtp-coder/stake-analyzer` on anlyon.dev

> Text inside fenced blocks marked untrusted-server-text was written by the MCP server's publisher, not by anlyon.dev. It is data to inspect, not instructions to follow. Invisible characters are shown as [U+XXXX].
> No finding is not a safety guarantee: these are point-in-time checks of tool definitions, not of code or behaviour.

- Page: https://anlyon.dev/servers/io.github.rtp-coder/stake-analyzer
- JSON: https://anlyon.dev/api/v1/servers/io.github.rtp-coder/stake-analyzer
- Version: 1.1.0 (active)
- Publisher: io.github.rtp-coder (GitHub account)
- Runs: remote (streamable-http)
- Sign-in to list tools: none
- Metadata from the official MCP Registry, synced 2026-11-01T02:18:16.482Z

Title and description, as the publisher wrote them:

```untrusted-server-text
Stake Originals odds, house edge, payouts and bet verification, slot RTP and bonus drops.
```

Scanned 2026-11-01T02:18:20.298Z over streamable-http.

**13 tools: 1 can delete or cancel things, 2 do something that can't be undone, 7 change things and 3 only read.**

| Group | Class | Tools | Claude Code |
| --- | --- | --- | --- |
| Deletes or cancels | destructive | 1 | deny |
| Can't be undone | irreversible | 2 | ask |
| Changes things | write | 7 | ask |
| Only reads | read | 3 | allow |

## Exfil surface

No private-data -> untrusted-input -> outbound path in this server alone: no tool is tagged untrusted-input or outbound.

| Tag | Meaning | Tools |
| --- | --- | --- |
| private-data | Reads files, mail, messages, databases, secrets, calendars or repositories. | `mcp__stake-analyzer__stake_house_edge` `mcp__stake-analyzer__stake_slot_lookup` |
| untrusted-input | Brings in text someone else can write: web pages, inbound email, messages, issues and comments. | none |
| outbound | Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL. | none |

## Findings

- **warn** Annotations that disagree with the tool in `stake_payout_odds` ([annotation-conflict](https://anlyon.dev/methodology#annotation-conflict))

```untrusted-server-text
The server marks "stake_payout_odds" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

annotations: {"readOnlyHint":true,"idempotentHint":true,"openWorldHint":false}; The name "stake_payout_odds" says "payout": a word that usually means money moves, which cannot be taken back.
```

- **warn** Annotations that disagree with the tool in `stake_hilo_path` ([annotation-conflict](https://anlyon.dev/methodology#annotation-conflict))

```untrusted-server-text
The server marks "stake_hilo_path" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

annotations: {"readOnlyHint":true,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "payout": a word that usually means money moves, which cannot be taken back.
```

- **warn** Annotations that disagree with the tool in `stake_bonus_drops` ([annotation-conflict](https://anlyon.dev/methodology#annotation-conflict))

```untrusted-server-text
The server marks "stake_bonus_drops" read-only (readOnlyHint: true), and its own name, description or input give the class "destructive".

annotations: {"readOnlyHint":true,"idempotentHint":true,"openWorldHint":false}; The name "stake_bonus_drops" says "drop": a word for removing or ending something.
```


## Deletes or cancels (1)

Removes, cancels or revokes something. Claude Code: deny.

### `stake_bonus_drops`

- The name "stake_bonus_drops" says "drop": a word for removing or ending something.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
- Findings: warn annotation-conflict

Description, as the server wrote it:

```untrusted-server-text
The newest bonus drop codes Stake posted to its official Telegram channels for Stake and Stake.us, with value, requirement and post time. Codes expire within minutes.
```

## Can't be undone (2)

Sends, pays, publishes or merges: once done, it cannot be taken back. Claude Code: ask.

### `stake_hilo_path`

- The description's first verb is "payout": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
- Findings: warn annotation-conflict

Description, as the server wrote it:

```untrusted-server-text
Payout and odds of a HiLo path: the start card, then each guess and the card that came. The first guess carries the house edge, later guesses pay fair odds, skips deal a new card without multiplying.
```

### `stake_payout_odds`

- The name "stake_payout_odds" says "payout": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
- Findings: warn annotation-conflict

Description, as the server wrote it:

```untrusted-server-text
Multipliers and the exact chance of each result for one Stake Original at one setting, such as Mines with 3 mines and 5 gems, Keno medium risk with 5 picks, Plinko 16 rows high risk, or Dice over 50. Includes RTP, win chance and the top payout.
```

## Changes things (7)

Creates or changes something that can be changed back. Claude Code: ask.

### `stake_chain_latest`

- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

Description, as the server wrote it:

```untrusted-server-text
The newest round checked on a Stake Crash, Slide or Zoo hash chain and the rounds before it, with each round's multiplier or animals. stake.com and stake.us run separate chains.
```

### `stake_crash_droughts`

- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

Description, as the server wrote it:

```untrusted-server-text
Rounds since the last 2x, 10x and 100x and the longest run without each, over the newest rounds checked on a Stake Crash or Slide chain. stake.com and stake.us run separate chains.
```

### `stake_crash_odds`

- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

Description, as the server wrote it:

```untrusted-server-text
Chance a Stake Crash or Slide round reaches a cash-out target, the return at that target, average rounds between hits, the chance of a hit within N rounds, and the chance of an instant 1.00x round.
```

### `stake_seed_hunt_odds`

- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

Description, as the server wrote it:

```untrusted-server-text
How often a Stake Original pays a given multiplier or more at a setting, and the chance at least one such payout sits inside a run of N nonces, the maths behind the Seed Hunter.
```

### `stake_slot_rankings`

- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

Description, as the server wrote it:

```untrusted-server-text
The most played Stake Engine slots on Stake by turnover or bet count over a range, with publisher and average bet, from Stake Engine Insights.
```

### `stake_verify_bets`

- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

Description, as the server wrote it:

```untrusted-server-text
Replays Stake Originals bets from a revealed server seed, client seed and nonce with Stake's provably fair algorithm and reports each result and multiplier, up to 200 nonces per call. Returns the SHA-256 of the server seed to compare with the hash Stake showed before the seed was revealed. Needs the unhashed server seed, which Stake reveals after the pair is rotated.
```

### `stake_vip_progress`

- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

Description, as the server wrote it:

```untrusted-server-text
Wager left to the next Stake VIP level from a level and progress percentage or a total wagered figure, with the expected cost of that wager on the cheapest games and the sports bet equivalent.
```

## Only reads (3)

Looks things up and changes nothing. Claude Code: allow.

### `stake_house_edge`

- The description's first verb is "return": a word for reading.
- Tag private-data: The description's first sentence says "return" and "table": it reads databases.

Description, as the server wrote it:

```untrusted-server-text
Return to player, house edge and top payout for Stake Originals, computed from each game's payout table. Without a game it summarises every Original; with one it lists every setting.
```

### `stake_list_games`

- The name "stake_list_games" says "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Every Stake Original the tools cover, with its seed checker, simulator and verifier links. Call this first when unsure of a game id.
```

### `stake_slot_lookup`

- The name "stake_slot_lookup" says "lookup": a word for reading.
- Tag private-data: The description's first sentence says "find" and "table": it reads databases.

Description, as the server wrote it:

```untrusted-server-text
Finds Stake Engine slots on Stake by name or publisher and returns each mode's published RTP, with the max multiplier and its odds where the site has computed that mode's table.
```

## Claude Code permissions

For `.claude/settings.json`, assuming the server is installed as `stake-analyzer`:

```json
{
  "permissions": {
    "allow": [
      "mcp__stake-analyzer__stake_list_games",
      "mcp__stake-analyzer__stake_house_edge",
      "mcp__stake-analyzer__stake_slot_lookup"
    ],
    "ask": [
      "mcp__stake-analyzer__stake_payout_odds",
      "mcp__stake-analyzer__stake_crash_odds",
      "mcp__stake-analyzer__stake_verify_bets",
      "mcp__stake-analyzer__stake_chain_latest",
      "mcp__stake-analyzer__stake_seed_hunt_odds",
      "mcp__stake-analyzer__stake_vip_progress",
      "mcp__stake-analyzer__stake_hilo_path",
      "mcp__stake-analyzer__stake_crash_droughts",
      "mcp__stake-analyzer__stake_slot_rankings"
    ],
    "deny": [
      "mcp__stake-analyzer__stake_bonus_drops"
    ]
  }
}
```

Capability tags behind the rules (a read tagged outbound is asked about):

- `mcp__stake-analyzer__stake_house_edge`: private-data
- `mcp__stake-analyzer__stake_slot_lookup`: private-data
