Warm Night Fishing (暖夜垂钓)

Free blind-play night-fishing game over MCP. Deterministic engine, zero LLM calls, save codes.

Should I use this

Quality & Safety

A
Description quality
92%
Schema completeness
84%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,411Tokens (tool definitions)
~1.8 KBTypical response size
Moderate attention impact (1.10% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "warmnight-fishing": {
      "url": "https://mcp.aevia.cloud/mcp"
    }
  }
}

Remote endpoints

https://mcp.aevia.cloud/mcpstreamable-http

What it can do

Tool inventory

Tools (5)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
⚪fishing_play(command, player_code)

执行钓鱼指令,一切游戏操作走这里(如 cast 5、status、buy basic_worm 3;支持用 ; 叠加最多 8 条)。 / Run a fishing command; the main gameplay channel.

Input Schema

{
  "type": "object",
  "properties": {
    "command": {
      "type": "string",
      "description": "引擎指令,如 cast 5 / status / buy basic_worm 3;支持用 ; 叠加最多 8 条。 / A fishing command, e.g. 'cast 5'; up to 8 chained with ';'."
    },
    "player_code": {
      "type": "string",
      "description": "可选:你的存档码(形如 WNF-XXXX-XXXX-XXXX)。首次玩不填,服务器会发一个并在结果里告诉你,记下它下次续玩报回来即可;不填则每次都是新的临时局。 / Optional save code (e.g. WNF-XXXX-XXXX-XXXX). Omit on first play; the server issues one and returns it—keep it and pass it back next time to resume."
    }
  },
  "required": [
    "command"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "引擎原样输出文本 / Raw engine output text."
    },
    "events": {
      "type": "array",
      "description": "轻量事件摘要(不含概率)。 / Lightweight event summaries (no probabilities).",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "catch",
              "milestone",
              "treasure",
              "choice",
              "legend"
            ]
          },
          "summary": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "summary"
        ],
        "additionalProperties": false
      }
    },
    "encyclopedia_count": {
      "type": [
        "integer",
        "null"
      ],
      "description": "当前图鉴已收录种数(文本无进度时为 null)。 / Encyclopedia count so far (null if not present in text)."
    },
    "player_code": {
      "type": [
        "string",
        "null"
      ],
      "description": "本局对应的存档码(报码续档用;未用存档码模式时为 null)。 / Save code for this session (for resuming; null if not in save-code mode)."
    }
  },
  "required": [
    "text",
    "events",
    "encyclopedia_count",
    "player_code"
  ],
  "additionalProperties": false
}
🟢fishing_manual

玩法说明与全部指令列表(中文)。 / Game manual and full command list (Chinese).

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
⚪fishing_new_game(seed, confirm, player_code)

重开一局(会覆盖当前进度,必须传 confirm:true 确认)。 / Start over (overwrites progress; requires confirm:true).

Input Schema

{
  "type": "object",
  "properties": {
    "seed": {
      "type": "integer",
      "description": "可选:32 位整数种子(便于复现)。不填则随机取种。 / Optional 32-bit integer seed for reproducibility; random if omitted."
    },
    "confirm": {
      "type": "boolean",
      "description": "必须显式为 true 才会重开(防误重开覆盖进度)。 / Must be explicitly true to start over (guards against accidental reset)."
    },
    "player_code": {
      "type": "string",
      "description": "可选:要在哪个存档码上重开(形如 WNF-XXXX-XXXX-XXXX)。不填则发一个新码开新局。 / Optional save code to start over on; omit to get a fresh code and a new game."
    }
  },
  "required": [
    "confirm"
  ],
  "additionalProperties": false
}
⚪fishing_share_card(kind, fish, player_code)

生成可分享的图鉴 / 稀有时刻分享卡(kind: encyclopedia | moment);也可填 fish:<中文鱼名> 给某条已钓到、收录进图鉴的鱼单独出一张卡。 / Generate a shareable card (encyclopedia | moment); optionally name a caught fish to card it.

Input Schema

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "encyclopedia",
        "moment"
      ],
      "description": "卡片类型:encyclopedia(图鉴进度)或 moment(近期稀有时刻)。 / Card kind: 'encyclopedia' (dex progress) or 'moment' (recent rare moment)."
    },
    "fish": {
      "type": "string",
      "description": "可选:给某条你已经钓到、收录进图鉴的鱼单独出一张卡,填它的中文名(如 鲫鱼);没钓到过或名字对不上就不出卡。 / Optional: name a fish you've already caught (Chinese name, e.g. 鲫鱼) to card that one fish; no card if it's uncaught or the name doesn't match."
    },
    "player_code": {
      "type": "string",
      "description": "你的存档码(形如 WNF-XXXX-XXXX-XXXX),用来给这个存档出分享卡。不填就先 fishing_play 玩一竿拿到码,再来出卡。 / Your save code (e.g. WNF-XXXX-XXXX-XXXX) to card this save; play once first if you don't have one."
    }
  },
  "required": [
    "kind"
  ],
  "additionalProperties": false
}
🟡fishing_save_info(player_code)

存档元信息(路径 / schema 版本 / 身份模式 / 进度摘要,不含游戏机密)。 / Save metadata (path, schema version, identity mode, progress); no game secrets.

Input Schema

{
  "type": "object",
  "properties": {
    "player_code": {
      "type": "string",
      "description": "你的存档码(形如 WNF-XXXX-XXXX-XXXX),用来查这个存档的信息。不填就先 fishing_play 玩一竿拿到码,再来查。 / Your save code (e.g. WNF-XXXX-XXXX-XXXX) to inspect this save; play once first if you don't have one."
    }
  },
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded5 tools
verifiedversion not recorded5 tools