Skip to main content
Glama
noyacg-mcp

noyacg-mcp

by kwkare

讯息(未读数 / 评论回覆 / 社區回覆 / 系統訊息)

noy_inbox
Read-only

Reads site inbox messages, returning unread counts for polling or paged lists of comment, community, and system messages so agents can monitor replies.

Instructions

读取站内讯息。kind=count 只取未读计数(最省,适合轮询);kind=comment 是「书籍评论的回覆」;kind=community 是「我参与过的帖子下的回复流」——它不是严格的「别人回复我」,需要自己按 cid 过滤自己的帖子。站内没有「标记已读」接口:打开消息页即自动已读。

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "noy_inbox"
  }
}

Input Schema

NameRequiredDescriptionDefault
kindNocount = 未读数;comment / community / system = 三类消息列表count
pageNo页码,从 1 开始
limitNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds behavior beyond the annotations: there is no mark-as-read endpoint, and opening the message page auto-marks messages read — a side effect an agent must know about before polling or displaying. It also discloses the cost/cheapness tradeoff of the count mode. It does not describe the shape of returned items or pagination limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the purpose, then walks through kind values in order of cost, and closes with the read-state caveat. Dense but every clause carries information; a slightly tighter structure would separate the 'no mark-as-read' caveat more clearly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description still conveys what each mode returns (counts vs. lists) and the read-state side effect, which is enough to call it correctly. Missing detail on pagination limits and the item fields of each list mode keeps it from a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%; the schema documents the kind enum but leaves limit with only bounds/default and page only as 'starting from 1'. The description enriches kind with semantic meaning and polling advice, offsetting the schema gaps, though limit (max 80) and page behavior are never explained in prose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ('读取站内讯息') and then enumerates the meaning of each kind, so an agent knows exactly what is retrieved. It does not, however, distinguish itself from the sibling noy_read_comment_replies, which plausibly overlaps with kind=comment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives actionable selection guidance between modes: kind=count is '最省,适合轮询', while the other kinds return lists. It also warns that kind=community is not strictly 'replies to me' and requires filtering by cid yourself. It stops short of naming alternative tools or stating when not to use this one at all.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.