Skip to main content
Glama

chathook — AI 对话钩子 MCP Server

在 AI 完成任务后弹出原生输入对话框,让用户直接输入回复,保持对话不中断,直到用户明确结束。

工作原理

用户提问 → AI 处理任务 → AI 调用 chat_hook 工具
                                    ↓
                    弹出原生桌面对话框(输入框 + 提交按钮 + 倒计时)
                                    ↓
                     用户输入回复 / 关闭对话框结束
                                    ↓
                    工具返回用户输入 → AI 继续处理
                                    ↓
                        AI 再次调用 chat_hook ...
                                    ↓
                      用户关闭对话框 → 工具返回结束信号
                                    ↓
                         AI 结束回合,对话完成

Related MCP server: mcp-interactive-ui-server

安装

方式一:npx 从 npm 安装(推荐)

在 MCP 客户端的配置中添加:

{
  "mcpServers": {
    "chathook": {
      "command": "npx",
      "args": ["-y", "mcp-chathook"]
    }
  }
}

方式二:npx 从 GitHub 安装

{
  "mcpServers": {
    "chathook": {
      "command": "npx",
      "args": ["-y", "github:kedaya2025/mcp-chathook"]
    }
  }
}

方式三:本地运行

git clone https://github.com/kedaya2025/mcp-chathook.git
cd mcp-chathook
npm install
npm run build
{
  "mcpServers": {
    "chathook": {
      "command": "node",
      "args": ["<path-to>/mcp-chathook/dist/index.js"]
    }
  }
}

使用方法

系统提示词配置

在 AI Agent 的系统提示词 / 自定义指令中添加:

所有对话或任务结束时,都必须调用 chathook 工具来向用户确认工作进程,
除非用户结束该工具的调用视为任务完成不再调用。

License

MIT

Available Tools

1 tool
chat_hookA

Display an input dialog to the user and wait for their response.

IMPORTANT: After completing a task or response, you SHOULD call this tool to ask the user if they need anything else. This keeps the conversation alive without requiring the user to type a new message.

The tool will block until the user responds. Possible return values:

  • Normal text: The user's new request or feedback. Continue working.

  • [CHATHOOK:USER_DECLINED]: The user clicked 'Decline' (end conversation). Stop calling this tool and end your response.

  • [CHATHOOK:USER_CANCELLED]: The user cancelled the input. You may end your response or call this tool again.

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesThe message to display to the user. This should include a summary of what you've done and a prompt for what they'd like next.
suggestionsNoOptional quick-reply buttons. e.g. ['继续', '修改上面的内容', '结束对话']. The user can still type freely if they prefer.

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations, the description fully discloses that the tool blocks until user response. It lists three return value types with clear instructions on how to interpret each, covering both normal and special cases.

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

Conciseness5/5

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

The description is concise and well-structured: first sentence states purpose, then an important usage note, then blocking behavior and return values. Every sentence is meaningful and front-loaded.

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 simplicity, the description covers all necessary aspects: purpose, usage, blocking behavior, return values, and parameter usage. No output schema is needed as return values are explained.

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 100%, so baseline is 3. The description adds context beyond schema: the message should include a summary and prompt, and suggestions are for quick-reply buttons. This enhances understanding of how to use parameters effectively.

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: 'Display an input dialog to the user and wait for their response.' It also specifies when to use it (after completing a task), making the purpose distinct and actionable.

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 explicitly instructs to call this tool after completing a task or response. It also explains possible return values and how to handle them, including when to stop calling (USER_DECLINED) or when to continue.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev1.0.0
    • First observedchat_hook

TDQS

A4.8/5.0
Disambiguation5/5

With only one tool, there is no possibility of confusion. The tool's purpose is clearly distinct.

Naming Consistency5/5

The single tool name 'chat_hook' uses a consistent underscore convention, which is fine for a single tool.

Tool Count3/5

The server has only one tool, which is at the low end of acceptable. While it serves a specific purpose, typically servers have more tools to cover broader functionality.

Completeness5/5

The single tool fully covers the server's purpose of user interaction. It handles input and special cases (decline, cancel) through return values, so no gaps are apparent.

Maintenance

ActivityStale
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI models to interactively prompt users for input or clarification directly through their code editor. It facilitates real-time communication between assistants and users during development tasks.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to render interactive user interfaces such as forms, dashboards, charts, tables, and wizards directly in MCP-compatible clients. Supports structured data collection and richer interactions beyond text responses.
    6
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to ask clarification questions and receive structured user input through a Human-in-the-Loop interface.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP App that enables AI agents to ask users multiple questions with tab-based navigation, multiple-choice options, multi-select support, and custom text input, all rendered inline in the conversation.
    1
    MIT

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/kedaya2025/mcp-chathook'

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