MCP Claude-文档管理CLI
一个功能强大的命令行界面应用程序,集成了 模型上下文协议(MCP) 和 克劳德·艾 用于智能文档管理、格式化和摘要。
🎯 概述
MCP-Claude是一个基于Python的CLI工具,演示了如何使用模型上下文协议构建AI驱动的文档工作流。它提供了一个对话界面,用户可以在其中与文档交互,应用人工智能驱动的格式,并生成摘要——所有这些都是通过自然语言命令完成的。
✨ 特性
MCP服务器功能
| 特性 | 描述 |
|---|---|
| 工具 | read_doc_content -读取文档内容 |
edit_doc_content -使用查找/替换功能编辑文档 | |
| 资源 | docs://documents -列出所有文档ID |
docs://documents/{doc_id} -获取特定文档内容 | |
| 提示 | /format -将文档转换为结构良好的Markdown |
/summarize -生成简明的文档摘要 |
CLI功能
- 💬 交互式聊天 -与Claude AI的自然语言对话
- 📄 文档提及 -参考文件使用
@document.ext语法 - 🔧 工具集成 -AI自动使用可用工具来完成任务
- 🔄 多客户端支持 -同时连接多个MCP服务器
🏗️ 建筑
mcp_claude_1/
├── main.py # Application entry point
├── mcp_server.py # MCP server with tools, resources, and prompts
├── mcp_client.py # MCP client wrapper for server communication
├── core/
│ ├── chat.py # Base chat functionality
│ ├── cli_chat.py # CLI-specific chat implementation
│ ├── cli.py # CLI application UI
│ ├── claude.py # Anthropic Claude API wrapper
│ └── tools.py # Tool execution manager
├── pyproject.toml # Project configuration
└── .env # Environment variables (API keys)🚀 入门指南
先决条件
- Python 3.10+
- 无烟煤API键
- 紫外线 (推荐)或pip
______________________________________________________________________
🟢 选项1:使用紫外线(推荐)
紫外线 是一个用Rust编写的速度极快的Python包和项目管理器。它自动处理虚拟环境和依赖关系,使设置变得简单。
第一步:安装uv
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# Or via Homebrew (macOS)
brew install uv步骤2:克隆存储库
git clone https://github.com/mattsebastianh/mcp_claude_1.git
cd mcp_claude_1步骤3:安装依赖项
# uv automatically creates .venv and installs all dependencies
uv sync注:uv sync读取pyproject.toml和uv.lock安装精确的依赖版本,确保可复制的构建。
步骤4:配置环境变量
创建 .env 项目根目录中的文件:
CLAUDE_MODEL="claude-sonnet-4-5"
ANTHROPIC_API_KEY=""
# Set to 1 when using uv
USE_UV=1步骤5:运行应用程序
# uv run automatically uses the project's virtual environment
uv run python main.py为什么要使用紫外线?
- ⚡ 比点快10-100倍
- 🔒 锁定文件支持(
uv.lock)用于可重复构建 - 🎯 自动虚拟环境管理
- 📦 内置依赖解析器
______________________________________________________________________
🔵 选项2:使用pip(替代方案)
使用pip和venv的传统Python设置。
步骤1:克隆存储库
git clone https://github.com/mattsebastianh/mcp_claude_1.git
cd mcp_claude_1第二步:创建虚拟环境
python3 -m venv .venv步骤3:激活虚拟环境
# macOS / Linux
source .venv/bin/activate
# Windows (Command Prompt)
.venv\Scripts\activate
# Windows (PowerShell)
.venv\Scripts\Activate.ps1步骤4:安装依赖项
pip install -r requirements.txt
# Or install in editable mode for development
pip install -e .步骤5:配置环境变量
创建 .env 项目根目录中的文件:
CLAUDE_MODEL="claude-sonnet-4-5"
ANTHROPIC_API_KEY=""
# Set to 0 when using pip
USE_UV=0步骤6:运行应用程序
# Make sure virtual environment is activated
source .venv/bin/activate # macOS/Linux
# Run the application
python main.py______________________________________________________________________
📖 用法
交互式命令
CLI运行后,您可以与文档交互:
> What documents are available?
> @report.pdf What does this report cover?
> /format deposition.md
> /summarize financials.docx文档提及
使用 @ 前缀:
> Compare @report.pdf with @outlook.pdf
> Summarize the key points from @deposition.md提示命令
使用斜线命令触发特定的AI工作流程:
| 命令 | 用法 | 说明 |
|---|---|---|
/format | /format | 将文档转换为结构化Markdown |
/summarize | /summarize | 生成一个简洁的3-5句话的总结 |
🔧 MCP服务器详细信息
工具
read_doc_content
读取并返回文档的内容。
# Input
{"doc_id": "report.pdf"}
# Output
"The report details the state of a 20m condenser tower."edit_doc_content
通过替换字符串来编辑文档内容。
# Input
{
"doc_id": "report.pdf",
"old_strings": ["20m"],
"new_strings": ["25m"]
}资源
docs://documents-返回所有文档ID的JSON数组docs://documents/{doc_id}-返回特定文档的纯文本内容
提示
MCP服务器向AI提供结构化指令的提示:
format-引导AI将文档重新格式化为干净的Markdown,并使用适当的标题、列表和表格summarize-指示AI提取关键点并创建简洁的摘要
🧪 MCP检验员测试
使用MCP检查器测试您的MCP服务器实现:
# Using uv (recommended)
npx @modelcontextprotocol/inspector uv run python mcp_server.py
# Using pip/venv (make sure .venv is activated)
npx @modelcontextprotocol/inspector .venv/bin/python mcp_server.py这将打开一个web界面 http://localhost:6274 您可以在哪里:
- 查看可用的工具、资源和提示
- 具有不同输入的测试工具调用
- 调试服务器响应
📦 依赖项
| 包装 | 用途 |
|---|---|
anthropic | Claude AI API客户 |
mcp[cli] | 模型上下文协议SDK |
fastmcp | FastMCP服务器框架 |
prompt-toolkit | 交互式CLI界面 |
python-dotenv | 环境变量管理 |
🔐 环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
ANTHROPIC_API_KEY | 是 | 您的Anthropic API密钥 |
CLAUDE_MODEL | 是 | 要使用克劳德模型(例如。, claude-sonnet-4-5) |
USE_UV | 否 | 设置为 1 对于uv, 0 对于pip(默认值: 0) |
🤝 贡献
欢迎投稿!请随时提交拉取请求。
📄 许可证
这个项目是开源的,可以在MIT许可证下使用。
