🤖 MCP聊天室
一个由Anthropic Claude和模型控制协议驱动的交互式命令行聊天机器人
](https://www.python.org/downloads/)   
______________________________________________________________________
📋 目录
概览
MCP Chat 是一个功能强大的命令行界面,它通过Anthropic API实现了与人工智能模型的完美交互。它构建于(某种)架构之上。 模型控制协议(MCP)它提供文档恢复、基于命令的提示以及可扩展的工具集成,以提高生产力。
非常适合希望直接从终端与Claude AI互动的开发者,支持文档上下文和自定义命令等高级功能。
功能
- 💬 交互式聊天界面 - 与Claude AI模型进行实时对话
- 📄(文件/纸张) 智能文档检索 - 使用语法快速访问文档
@ - ⚡(闪电符号,常用于表示快速、能量或惊险等意象) 命令系统 - 执行带有前缀的预定义命令
/ - 🔧(扳手,常用于表示修理、工具等意思) MCP集成 - 通过模型控制协议可扩展的工具系统
- 🎨(颜料/绘画的颜料) 丰富的CLI(命令行界面)体验 - 使用prompt-toolkit实现自动补全和用户友好的界面
- 🔄 翻译为中文是:循环/重复 多轮对话 - 在整个对话中保持上下文连贯
- 🛠️(扳手,象征修理、工具或技术) 工具执行 - 在聊天界面中完美执行自定义工具
先决条件
开始之前,请确保你已准备好以下物品:
安装
1️⃣ 克隆仓库
git clone https://github.com/Marcus-Boni/MCP-Introduction-Course-Anthropic.git
cd mcp-chat2️⃣ 配置环境变量
创建一个文件 .env 项目的基础:
cp .env.example .env # Ou crie manualmente添加您的设置:
ANTHROPIC_API_KEY=sua_chave_api_aqui
CLAUDE_MODEL=claude-3-5-sonnet-20241022
USE_UV=1 # Configure como 0 para usar pip3️⃣ 安装依赖项
🚀 选项A:使用uv(推荐)
紫外线 它是一个极其快速的Python包安装和解决工具。
# Instale o uv
pip install uv
# Crie e ative o ambiente virtual
uv venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# Instale as dependências
uv pip install -e .
# Execute a aplicação
uv run main.py🐍 选项B:使用pip
# Crie e ative o ambiente virtual
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# Instale as dependências
pip install anthropic python-dotenv prompt-toolkit "mcp[cli]==1.8.0"
# Execute a aplicação
python main.py使用
基础聊天
只需输入您的信息即可开始对话:
> Olá! Como você pode me ajudar hoje?
Assistente: Olá! Sou Claude, um assistente de IA. Posso te ajudar com...文件恢复
使用符号引用文档 @ 接着是文件名:
> Pode explicar o conteúdo em @deposition.md?
Assistente: Com base no documento de depoimento, aqui está um resumo...
> Compare @document1.md e @document2.md
Assistente: Deixe-me comparar esses dois documentos para você...可用文件:
deposition.md- 证词文件report.pdf- 技术报告financials.docx- 财务数据outlook.pdf- 未来的展望plan.md- 项目计划spec.txt- 技术规格
执行命令
使用前缀执行预定义命令 /:
> /summarize deposition.md
Assistente: Aqui está um resumo conciso do documento...
> /format report.pdf
Assistente: Reformatando o documento em markdown...💡 小贴士: 压力 Tab 用于自动补全命令和文件!
会话示例
> Olá!
Assistente: Olá! Como posso ajudar hoje?
> @deposition.md
Assistente: Carreguei o documento de depoimento. O que você gostaria de saber?
> /summarize deposition.md
Assistente: Aqui está um resumo: Este depoimento cobre o testemunho
de Angela Smith, P.E., sobre...
> Quais são os pontos principais?
Assistente: Os pontos principais do depoimento são...键盘快捷键
| 快捷键 | 动作 |
|---|---|
Tab 自动补全命令和文档 | |
@ | 触发文档自动完成 |
/ | 触发命令自动完成 |
Ctrl+C | 退出应用程序 |
发展
项目结构
mcp-chat/
├── core/
│ ├── __init__.py # Inicialização do módulo core
│ ├── chat.py # Funcionalidade base de chat
│ ├── cli.py # Implementação da interface CLI
│ ├── cli_chat.py # Recursos de chat específicos da CLI
│ ├── claude.py # Integração com API Claude
│ └── tools.py # Sistema de gerenciamento de ferramentas
├── main.py # Ponto de entrada da aplicação
├── mcp_server.py # Implementação do servidor MCP
├── mcp_client.py # Implementação do cliente MCP
├── pyproject.toml # Dependências do projeto
├── .env # Variáveis de ambiente (criar a partir de .env.example)
├── .env.example # Template de ambiente
├── .gitignore # Regras do Git ignore
└── README.md # Este arquivo添加新文档
编辑 mcp_server.py 并给字典添加条目 docs:
docs = {
"seu-doc.md": "Conteúdo do seu documento aqui",
"outro-doc.pdf": "Conteúdo de outro documento",
# ...documentos existentes...
}创建自定义命令
在提示符中添加新的命令 mcp_server.py:
@mcp.prompt(
name="seu_comando",
description="Descrição do que seu comando faz",
)
def seu_comando(
doc_id: str = Field(description="O ID do documento"),
) -> list[base.Message]:
# Implementação do seu comando
pass使用MCP工具进行扩展
创建新的工具在 mcp_server.py:
@mcp.tool(
name="sua_ferramenta",
description="O que sua ferramenta faz",
)
def sua_ferramenta(
param: str = Field(description="Descrição do parâmetro"),
):
# Implementação da ferramenta
return "Resultado"配置
环境变量
| 变量 | 必填 | 默认值 | 描述 | ||
|---|---|---|---|---|---|
| 项目 | 描述 | 类型 | 数量 | ANTHROPIC_API_KEY | |
| ✅ | - | 您的Anthropic API密钥 | CLAUDE_MODEL | ||
| ✅ | - | 要使用的Claude模型 | USE_UV | 0 | ❌ |
| 使用UV执行(1=是,0=否) |
claude-3-5-sonnet-20241022支持的Claude模型claude-3-opus-20240229claude-3-sonnet-20240229claude-3-haiku-20240307
(推荐)
问题解决方案
常见问题
# Solução: Certifique-se de que seu arquivo .env contém uma chave API válida
echo 'ANTHROPIC_API_KEY=sua_chave_aqui' > .env问题:“ANTHROPIC_API_KEY 不能为空”
# Solução: Reinstale as dependências
pip install -e .问题:导入错误
# Solução: Use o caminho completo para ativar
.venv\Scripts\activate.bat问题:命令未找到(Windows)
# Solução: Verifique se o uv está instalado corretamente
pip install uv --upgrade问题:MCP服务器连接失败
做出贡献
- 欢迎贡献!看看您能如何帮忙: 叉
- 仓库 Crie 翻译成中文是“哭喊”或“呼喊”。
git checkout -b feature/funcionalidade-incrivel一个新的分支( - ) 提交(或“承诺”)
git commit -m 'Adiciona funcionalidade incrível'其变化( - ) 推动;按(按钮)
git push origin feature/funcionalidade-incrivel对于分支( - ) 阿布拉
______________________________________________________________________
一个拉取请求(Pull Request)
