LLM命令行聊天工具

MCP Chat是一个通过OpenRouter与LLM交互的命令行应用,支持MCP协议的工具、资源和提示扩展。

  • by AnupDangi
  • HTML
  • 本地部署
  • 更新于
在 GitHub 查看 AnupDangi/learn-mcp-anthropic

使用说明

MCP聊天

MCP Chat是一个命令行应用程序,通过以下方式与LLM聊天 开放路由 并扩展了模型 MCP(模型上下文协议) 工具、资源和提示。堆栈展示了最小 MCP主机 (CLI+模型循环) MCP客户端 (stdio),以及 MCP服务器 (FastMCP)协同工作。

如何学习这个代码库

使用此顺序,以便概念在运行代码中保持基础,注释与仓库保持同步。

1.先阅读笔记(概念+图表)

  1. notes/basics.md --主机、客户端、服务器;工具、资源、提示按顺序排列;stdio心理模型;这个仓库如何映射到每个部分。
  2. notes/advanced.md --JSON-RPC消息类别、流式HTTP/SSE、负载平衡和 stateless / json_response, 采样、记录和进度, 根;以下所有内容的数字索引 notes/images/.

当一个部分链接出来时,并行浏览官方文档: MCP架构, 介绍, 规格.

2.运行应用程序,然后按文件顺序读取根项目

  1. 完成 先决条件 和 设置 下面,然后运行 uv run main.py (或 python main.py).
  2. 尝试 用法:普通聊天, @document 提及(资源), /command 通过模型,用户可以查看流程(提示)和工具使用情况。
  3. 自上而下跟踪执行情况:

3.先进的传输和服务器用户体验(mcp-advanced/)

根应用程序使用 标准.为 可流式传输的HTTP,服务器中的日志记录/进度,以及类似的标志 stateless_http / json_response,打开 mcp-advanced/README.md,跑 mcp-advanced/main.py,并调和你所看到的 第2节 的 notes/advanced.md.

4.有意延伸

  • 新文档或工具: 开始于 mcp_server.py;确认发现 mcp_client.py 或检查员。
  • 主机行为: core/cli_chat.py (提及、斜线命令)和 core/chat.py (模型+工具)。
  • 第二台MCP服务器: 将另一个脚本作为CLI参数传递给 main.py 并了解如何 clients 已建成。

学习资源

先决条件

  • Python 3.10+(参见 pyproject.toml)
  • OpenRouter API密钥和选定的模型id

设置

步骤1:配置环境变量

创建或编辑 .env 在项目根目录中:

OPENROUTER_API_KEY=""   # your OpenRouter API key
OPENROUTER_MODEL=""     # e.g. anthropic/claude-3.5-sonnet (see OpenRouter model list)
# Optional: USE_UV=1 makes main.py spawn the server with `uv run mcp_server.py`

步骤2:安装依赖项

选项1:uv(推荐)

紫外线 是一个快速的Python包安装程序和解析器。

  1. 如果需要,安装紫外线: pip install uv
  2. 创建并激活虚拟环境:
uv venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
  1. 安装并运行:
uv pip install -e .
uv run main.py

选项2:pip

python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install anthropic python-dotenv prompt-toolkit "mcp[cli]==1.8.0"
python main.py

用法

基本交互

键入信息,然后按Enter键与模特聊天。

文档检索(资源通过 @)

包含服务器目录中的文档id:

> Tell me about @deposition.md

命令(通过以下方式提示 /)

按名称运行服务器定义的提示(选项卡完成):

> /format deposition.md

发展

添加新文档

编辑 docs 字典在 mcp_server.py.

实施或扩展MCP行为

  1. 服务器界面:工具、资源、提示 mcp_server.py.
  2. 客户端/会话助手: mcp_client.py.
  3. 主机集成: core/chat.py, core/tools.py, core/cli_chat.py.

敲击和打字

此仓库中还没有共享的lint或类型检查任务;如果你想要更严格的CI,可以添加它们。