Fantasy Solvers – Balatro Lab
Supported Balatro scoring and exact small-deck play/discard analysis with verified explanations.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"balatro-lab": {
"url": "https://balatro.fantasysolvers.com/mcp"
}
}
}远程端点
https://balatro.fantasysolvers.com/mcpstreamable-http它能做什么
工具清单
工具(4)
🟢evaluate_hand(contract_version, discards, held, jokers, levels, ...)
Versioned optimized immediate score from bengine-core. Played and held order is optimized, not evaluated literally. Unsupported effects are rejected.
输入模式
{
"type": "object",
"properties": {
"contract_version": {
"const": "balatro-web-v1",
"type": "string"
},
"discards": {
"maximum": 4,
"minimum": 0,
"type": "integer"
},
"held": {
"items": {
"pattern": "^[23456789TJQKA][SHCD](:[bmwgsxofhpR]+)?$",
"type": "string"
},
"maxItems": 8,
"minItems": 0,
"type": "array"
},
"jokers": {
"items": {
"additionalProperties": false,
"properties": {
"edition": {
"enum": [
"none",
"foil",
"holographic",
"polychrome"
],
"type": "string"
},
"id": {
"enum": [
"joker",
"banner",
"mystic_summit",
"greedy_joker",
"jolly_joker",
"devious_joker",
"the_duo",
"fibonacci",
"smiley_face",
"photograph",
"baron",
"shoot_the_moon",
"raised_fist",
"four_fingers",
"shortcut",
"smeared_joker",
"pareidolia",
"hack",
"sock_and_buskin",
"half_joker"
],
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"maxItems": 5,
"type": "array"
},
"levels": {
"additionalProperties": {
"maximum": 255,
"minimum": 1,
"type": "integer"
},
"propertyNames": {
"enum": [
"high_card",
"pair",
"two_pair",
"three_of_a_kind",
"straight",
"flush",
"full_house",
"four_of_a_kind",
"straight_flush",
"five_of_a_kind",
"flush_house",
"flush_five"
]
},
"type": "object"
},
"played": {
"items": {
"pattern": "^[23456789TJQKA][SHCD](:[bmwgsxofhpR]+)?$",
"type": "string"
},
"maxItems": 5,
"minItems": 1,
"type": "array"
},
"request_id": {
"maxLength": 100,
"minLength": 1,
"type": "string"
}
},
"required": [
"contract_version",
"played"
],
"additionalProperties": false
}🟢recommend_action(analysis_mode, budget_score_calls, contract_version, explain_actions, request_id, ...)
Exact small-deck mathematical action values under optimal continuation in the supported model, not estimated real-game success. Returns all optimal ties and fully reconciled draw explanations; no recommendation on incomplete jobs. No A2/full-deck sampling.
输入模式
{
"type": "object",
"properties": {
"analysis_mode": {
"const": "exact_blind_survival",
"type": "string"
},
"budget_score_calls": {
"maximum": 1000000,
"minimum": 1,
"type": "integer"
},
"contract_version": {
"const": "balatro-web-v1",
"type": "string"
},
"explain_actions": {
"items": {
"additionalProperties": false,
"properties": {
"cards": {
"items": {
"pattern": "^[23456789TJQKA][SHCD](:[bmwgsxofhpR]+)?$",
"type": "string"
},
"maxItems": 5,
"minItems": 1,
"type": "array"
},
"kind": {
"enum": [
"play",
"discard"
],
"type": "string"
}
},
"required": [
"kind",
"cards"
],
"type": "object"
},
"maxItems": 4,
"type": "array"
},
"request_id": {
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"state": {
"additionalProperties": false,
"properties": {
"chips_needed": {
"exclusiveMinimum": 0,
"maximum": 1000000000000,
"type": "number"
},
"deck": {
"items": {
"pattern": "^[23456789TJQKA][SHCD](:[bmwgsxofhpR]+)?$",
"type": "string"
},
"maxItems": 12,
"minItems": 0,
"type": "array"
},
"discards_left": {
"maximum": 2,
"minimum": 0,
"type": "integer"
},
"hand": {
"items": {
"pattern": "^[23456789TJQKA][SHCD](:[bmwgsxofhpR]+)?$",
"type": "string"
},
"maxItems": 8,
"minItems": 1,
"type": "array"
},
"hands_left": {
"maximum": 2,
"minimum": 1,
"type": "integer"
},
"id": {
"maxLength": 100,
"type": "string"
},
"jokers": {
"items": {
"additionalProperties": false,
"properties": {
"edition": {
"enum": [
"none",
"foil",
"holographic",
"polychrome"
],
"type": "string"
},
"id": {
"enum": [
"joker",
"banner",
"mystic_summit",
"greedy_joker",
"jolly_joker",
"devious_joker",
"the_duo",
"fibonacci",
"smiley_face",
"photograph",
"baron",
"shoot_the_moon",
"raised_fist",
"four_fingers",
"shortcut",
"smeared_joker",
"pareidolia",
"hack",
"sock_and_buskin",
"half_joker"
],
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"maxItems": 5,
"type": "array"
},
"levels": {
"additionalProperties": {
"maximum": 255,
"minimum": 1,
"type": "integer"
},
"propertyNames": {
"enum": [
"high_card",
"pair",
"two_pair",
"three_of_a_kind",
"straight",
"flush",
"full_house",
"four_of_a_kind",
"straight_flush",
"five_of_a_kind",
"flush_house",
"flush_five"
]
},
"type": "object"
}
},
"required": [
"hand",
"deck",
"hands_left",
"discards_left",
"chips_needed"
],
"type": "object"
}
},
"required": [
"contract_version",
"state"
],
"additionalProperties": false
}🟢compare_actions(analysis_mode, budget_score_calls, contract_version, explain_actions, request_id, ...)
Compare all immediate plays or exact small-deck play/discard values, with the same contract and validation as HTTP. Exact mode limits: 12 draw cards, two hands, two discards. Select explain_actions for particular branches.
输入模式
{
"type": "object",
"properties": {
"analysis_mode": {
"default": "exact_blind_survival",
"enum": [
"exact_blind_survival",
"immediate_score"
],
"type": "string"
},
"budget_score_calls": {
"maximum": 1000000,
"minimum": 1,
"type": "integer"
},
"contract_version": {
"const": "balatro-web-v1",
"type": "string"
},
"explain_actions": {
"items": {
"additionalProperties": false,
"properties": {
"cards": {
"items": {
"pattern": "^[23456789TJQKA][SHCD](:[bmwgsxofhpR]+)?$",
"type": "string"
},
"maxItems": 5,
"minItems": 1,
"type": "array"
},
"kind": {
"enum": [
"play",
"discard"
],
"type": "string"
}
},
"required": [
"kind",
"cards"
],
"type": "object"
},
"maxItems": 4,
"type": "array"
},
"request_id": {
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"state": {
"additionalProperties": false,
"properties": {
"chips_needed": {
"exclusiveMinimum": 0,
"maximum": 1000000000000,
"type": "number"
},
"deck": {
"items": {
"pattern": "^[23456789TJQKA][SHCD](:[bmwgsxofhpR]+)?$",
"type": "string"
},
"maxItems": 52,
"minItems": 0,
"type": "array"
},
"discards_left": {
"maximum": 4,
"minimum": 0,
"type": "integer"
},
"hand": {
"items": {
"pattern": "^[23456789TJQKA][SHCD](:[bmwgsxofhpR]+)?$",
"type": "string"
},
"maxItems": 8,
"minItems": 1,
"type": "array"
},
"hands_left": {
"maximum": 4,
"minimum": 1,
"type": "integer"
},
"id": {
"maxLength": 100,
"type": "string"
},
"jokers": {
"items": {
"additionalProperties": false,
"properties": {
"edition": {
"enum": [
"none",
"foil",
"holographic",
"polychrome"
],
"type": "string"
},
"id": {
"enum": [
"joker",
"banner",
"mystic_summit",
"greedy_joker",
"jolly_joker",
"devious_joker",
"the_duo",
"fibonacci",
"smiley_face",
"photograph",
"baron",
"shoot_the_moon",
"raised_fist",
"four_fingers",
"shortcut",
"smeared_joker",
"pareidolia",
"hack",
"sock_and_buskin",
"half_joker"
],
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"maxItems": 5,
"type": "array"
},
"levels": {
"additionalProperties": {
"maximum": 255,
"minimum": 1,
"type": "integer"
},
"propertyNames": {
"enum": [
"high_card",
"pair",
"two_pair",
"three_of_a_kind",
"straight",
"flush",
"full_house",
"four_of_a_kind",
"straight_flush",
"five_of_a_kind",
"flush_house",
"flush_five"
]
},
"type": "object"
}
},
"required": [
"hand",
"deck",
"hands_left",
"discards_left",
"chips_needed"
],
"type": "object"
}
},
"required": [
"contract_version",
"state"
],
"additionalProperties": false,
"else": {
"properties": {
"state": {
"properties": {
"deck": {
"maxItems": 12
},
"discards_left": {
"maximum": 2
},
"hands_left": {
"maximum": 2
}
}
}
}
},
"if": {
"properties": {
"analysis_mode": {
"const": "immediate_score"
}
},
"required": [
"analysis_mode"
]
}
}🟢get_solver_capabilities
Engine/rules/build identity, contract version, supported effects, assumptions and limits.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}社区
证据