使用说明
mcpChat
一个命令行AI聊天应用程序,允许您使用Claude与文档进行交互。基于MCP(模型上下文协议)架构,它将AI驱动的聊天界面连接到文档服务器,该服务器公开工具、资源和提示模板。
概述
mcpChat实现了完整的MCP架构——一个公开工具、资源和提示模板的自定义MCP服务器,与通过stdio传输连接到它的自定义MCP客户端配对。客户端将检索到的上下文馈送到Claude驱动的会话循环中,所有这些都通过一个丰富的终端界面出现。
MCP架构
MCP服务器
使用FastMCP构建的服务器公开了三类MCP原语:
- 工具 —
read_document和edit_document允许Claude在对话中阅读和修改文档 - 资源 --URI可寻址端点(
docs://documents,docs://documents/{doc_id})客户端可以直接获取 - 提示 --可重复使用的提示模板(例如。
format)将结构化指令注入到消息历史记录中
MCP客户端
习俗 MCPClient 类管理MCP会话的整个生命周期:
- 将服务器作为子进程生成,并通过stdio传输进行连接
- 初始化并保存
ClientSession在应用程序的持续时间内 - 公开以下类型的方法
list_tools,call_tool,list_prompts,get_prompt,以及read_resource
可以同时注册多个MCP客户端,从而实现跨服务器的工具聚合。
特性
- 文档感知聊天 --使用以下命令引用查询中的任何文档
@filename其内容会自动作为上下文注入 - Slash命令 --运行预定义的提示模板(例如。
/format report.pdf)直接从CLI - 选项卡完成 --自动补全
@documents和/commands由...驱动prompt_toolkit - 多服务器支持 --将其他MCP服务器脚本作为CLI参数传递,以扩展可用工具
运作原理
该应用程序并行运行两个组件:
- MCP服务器 --管理文档存储并公开
read_document和edit_document工具、文档资源和提示模板 - MCP客户端+克劳德 -CLI通过stdio连接到服务器,检索上下文,并将消息发送到Anthropic API
当您键入消息时,应用程序会解析任何 @document 引用,构建上下文感知提示,并将Claude的响应流式传输回终端。
设置
- 创建一个
.env项目根目录中的文件:
ANTHROPIC_API_KEY="your-api-key"
CLAUDE_MODEL="claude-sonnet-4-6"
- 安装依赖项并运行:
uv venv
source .venv/bin/activate
uv pip install -e .
uv run main.py
👤 作者
纳文·索尼
