Skip to main content
Glama

feedback

Records whether the previous Den response satisfied the user, summarizing the reaction (adopted outcome, issue type, or what they'd have done without Den) to guide future improvements.

Instructions

사용자가 직접 입력하는 폼이 아니라, 호출 에이전트가 직전 Den 응답을 활용한 뒤 사용자가 보인 반응(수정 지시/불만/채택/무시)을 대화 종료 전 요약 수준으로 기록하는 릴레이 툴. query_id가 있으면 그대로 전달하고, 없으면 직전 Den 툴에 전달한 question_text만 전달한다. satisfied를 기록하고, 불만족이면 issue_type을 지정하며 comment는 반응 요지만 200자 이내로 요약한다. 채택·긍정은 satisfied=true, 수정 지시·불만·명시적 무시는 satisfied=false와 가장 가까운 issue_type으로 매핑한다. 관찰 가능한 반응이 전혀 없으면 만족 여부를 추측하지 않는다. ★satisfied=true(채택·긍정)이면 comment 에 den 이 없었으면 무엇을 하려 했는지 한 마디를 함께 적는다 — "다른 값을 쓰려 했다" · "몰라서 정하지 못하고 있었다" · "다른 출처로 갔어야 했다" 중 사용자가 실제로 말한 것. 이 한 마디만이 'den 을 썼다'와 'den 때문에 달라졌다'를 가른다. ★★사용자가 말하지 않았으면 비워 둔다. 추측해 지어내지 않는다 — 없는 것을 적는 편이 안 적는 것보다 나쁘다. ★★★그렇다고 comment 를 통째로 생략하지는 않는다. satisfied=true 면 무엇을 채택했는지 한 줄은 항상 적는다(어느 값·조문·판단을 그대로 썼는가). 비워 두는 것은 반사실 한 마디뿐이다 — 요지까지 비면 그 만족은 기록에 남아도 쓸 수 없다. 사용자 대화 원문은 전송하지 않는다. 만족/불만족과 사유는 다음 날 그래프 보완에 반영된다.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
commentNoSummary of the user's reaction; never send conversation text. When satisfied=true this is expected, not optional: state in one line what the user actually did with the answer (which value / clause / decision they adopted). Also add what the user would have done without den (used a different value / was stuck undecided / would have gone to another source) — but ONLY if the user actually said it; never infer or invent that part. Omitting that one clause is correct when unsaid; omitting the whole comment is not.
query_idNoThe 16-character query_id returned in the previous response meta.
satisfiedYesWhether the previous Den response was satisfactory.
issue_typeNoRequired when dissatisfied: 오답, 무관, 기권과다, 얕음, or 기타.
question_textNoThe exact prior Den tool query, used only when query_id is unavailable.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv1.0.0

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and does so thoroughly: it discloses that raw conversation text is never sent, that summaries are limited to 200 characters, that satisfaction must not be inferred, and that a counterfactual phrase must never be invented. It even explains the downstream consequence of the data and the distinction between 'using den' and 'changed because of den'.

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 front-loaded with the core purpose and organized with star-bulleted rules for the delicate comment requirements. Some repetition occurs around not guessing or inventing the counterfactual phrase, but this emphasis is purposeful for a tool where hallucinating feedback would be harmful.

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, the absence of annotations, and the need to capture nuanced user feedback ethically, the description is complete: it covers purpose, invocation timing, parameter selection rules, content restrictions, and downstream use. Since an output schema exists, not describing the return value is acceptable.

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?

Although the schema already covers all parameters, the description adds critical relational meaning: query_id is preferred over question_text as a fallback, issue_type is only recorded when dissatisfied, satisfied=true requires an adoption line in comment, and the counterfactual part is only included when the user actually stated it. These conditional rules cannot be inferred from the schema alone.

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 defines the tool precisely as a 'relay tool' that records the user's reaction (correction, complaint, adoption, ignoring) after the calling agent uses the prior Den response, and it explicitly contrasts itself with a user-facing form. This verb+resource+scope framing makes its role distinct from the sibling Den answer tools even though it never names them.

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?

The description clearly states when to record ('대화 종료 전', after the preceding Den response) and gives explicit when-not guidance: do not guess satisfaction if no observable reaction exists. It also defines mapping rules from user behavior to satisfied/issue_type, though it does not explicitly name an alternative tool for comparison.

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

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/odd-Innocent/den_archi_mcp'

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