Skip to main content
Glama

upsert_punch_day

Insert or replace a full day's content in a daily punch card book. Specifies goals and modules for a given book and day, with idempotent behavior to avoid duplicate nodes.

Instructions

把「第 N 天」整天内容灌进打卡书(幂等:同 book+day 重调 = 覆盖,不重复建节点)。

天节点名由 BE 按 day 生成,goals 落节点 meta_json.goals(今日目标条,简短口径, 🔴 学生/家长可见 → 禁内部词:层/★/素材/薄弱/挑题)。modules 原样透传给 BE。

参数: book_id : 打卡书 id(🔴 字符串;list_books(book_type='daily_punch') 查,严禁编造) day : 第几天(1 起正整数;同一 day 重灌 = 整天覆盖,agent 侧批量修正走这条路) goals : 今日目标 ["乘法连续进位","小数退位减","年、月、日"](简短短语,非整句) modules : 模块数组,按卷面顺序排;两类结构 —— ① 计算模块(出题器现产,题目不在题库 → 内容随书存 content_json): {"type":"oral|vertical|stepwise", "title":"口算题", "items":[{"q":"357+276=","a":"633"}, ...]} type 三型 = oral 口算 / vertical 竖式 / stepwise 脱式;q 题面、a 答案成对给全 (答案缺失 = 解析卷开天窗)。题目由 generate_calc_items 产,无需再人工验算。 ② 轮换位(教辅真题,题在题库 → 引用不复制): {"type":"rotating", "title":"解决问题", "qids":["2077057695340310530", ...]} 🔴 qids = 题目 id 的字符串数组(雪花号,search_questions / 生成器给的原样字符串); 🔴 绝不传题面文本——题面由 BE 按 biz_question_block.block_json 渲染, 改题库即改打卡书,零漂移(D5/D11)。传文本 = 制造第二个半源,必被打回。

返回: {ok, node_id(str), item_ids:[str]};未登录/参数不合法/BE 报错 → {ok:false, reason}。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dayYes
goalsYes
book_idYes
modulesYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior5/5

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

With no annotations, the description fully covers behavioral aspects: idempotency, parameter constraints (day positive integer, goals privacy rules), module pass-through, return format and error conditions. This is comprehensive.

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?

The description is long but well-organized using bullet points and sections. It front-loads the core purpose and idempotency, then details parameters. While effective, it could be slightly more concise without losing clarity.

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

Completeness5/5

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

Given the tool's complexity (4 parameters, multiple module types, idempotency, privacy constraints), the description is thorough. It references relevant sibling tools, covers error handling, and specifies return values. No gaps identified.

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

Parameters5/5

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

Despite 0% schema description coverage, the description explains each parameter in depth: book_id sourcing, day semantics, goals content constraints, and modules structure with two types and their required fields (items vs qids). It adds significant value beyond the bare schema.

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

Purpose5/5

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

The description clearly states the tool's purpose: to upsert the full content of a specific day into a check-in book, with idempotency. It distinguishes itself from sibling tools like list_punch_days and get_punch_day by focusing on creating/overwriting a day's content.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use the tool (for creating or updating a full day, including batch corrections), warns against fabricating book_id, and details the two module types with their respective handling. It implies alternatives for viewing or reviewing content.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/RuntimeAll/teacher-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server