Skip to main content
Glama

MCP Development Framework

README.md.json191 kB
{ "sourceFile": "README.md", "activeCommit": 0, "commits": [ { "activePatchIndex": 73, "patches": [ { "date": 1741245187085, "content": "Index: \n===================================================================\n--- \n+++ \n" }, { "date": 1741245212706, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -92,8 +92,22 @@\n # Or install via pip (any OS)\n pip install uv\n ```\n \n+Install system dependencies for PDF processing:\n+\n+```bash\n+# On Ubuntu/Debian\n+sudo apt-get install poppler-utils\n+\n+# On macOS\n+brew install poppler\n+\n+# On Windows\n+# Download and install poppler from http://blog.alivate.com.au/poppler-windows/\n+# And add the bin directory to your PATH\n+```\n+\n Start the server using either stdio (default) or SSE transport:\n \n ```bash\n # Install the package with development dependencies\n" }, { "date": 1741245907553, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -81,8 +81,15 @@\n - Add new MCP server\n - Type: Select \"sse\"\n - URL: Enter `http://localhost:8000/sse`\n \n+6. 访问本地文件:\n+ - 默认情况下,Docker容器无法访问主机(您的电脑)上的文件\n+ - 在`docker-compose.yml`文件中,我们已经将`/Users/liuyanzhi/Desktop`目录挂载到容器内的`/host_files`目录\n+ - 要访问您桌面上的PDF文件,请使用路径`/host_files/文件名.pdf`\n+ - 例如,要访问`/Users/liuyanzhi/Desktop/2024-刘彦志-设计文档/2024-01-09-还款流程优化方案设计-刘彦志-互联网事业部.pdf`,请使用路径`/host_files/2024-刘彦志-设计文档/2024-01-09-还款流程优化方案设计-刘彦志-互联网事业部.pdf`\n+ - 如果需要访问其他目录,请修改`docker-compose.yml`文件中的`volumes`部分\n+\n ### Traditional Setup\n \n First, install the uv package manager:\n \n" }, { "date": 1741246496844, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -17,9 +17,38 @@\n 3. **PDF文档解析工具 (file)**\n - 解析PDF文档并提取文本和图片内容\n - 参数: `file_path` - PDF文件的本地路径\n - 返回: 文档的文本内容和图片(以base64编码形式)\n+ - 注意: 对于大型文件,处理可能需要较长时间,并且可能会超时\n \n+4. **PDF快速预览工具 (quick_pdf)**\n+ - 快速预览PDF文档内容(仅提取文本,不包含图片)\n+ - 参数: `file_path` - PDF文件的本地路径\n+ - 返回: 文档的文本内容\n+ - 适用于: 大型PDF文件或需要快速查看内容时\n+\n+## PDF处理性能优化\n+\n+为了提高PDF处理性能并避免超时错误,我们实施了以下优化:\n+\n+1. **文本处理优化**:\n+ - 限制处理的最大页数(完整模式: 30页,快速模式: 50页)\n+ - 提供处理进度反馈\n+\n+2. **图片处理优化**:\n+ - 降低DPI值(从150降至100)以加快处理速度\n+ - 限制处理图片的最大页数(10页)\n+ - 调整图片大小和质量以减小数据量\n+ - 使用多线程加速图片处理\n+\n+3. **超时处理**:\n+ - 增加服务器超时设置(5分钟)\n+ - 添加详细的错误处理和提示信息\n+\n+4. **大文件处理**:\n+ - 对大文件(>10MB)提供警告\n+ - 提供快速预览模式,仅提取文本内容\n+\n ## Quick Start\n \n 1. Click \"Deploy to Heroku\" button\n \n" }, { "date": 1741250154683, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -5,23 +5,19 @@\n ![Server Mood Response](docs/images/server-mood.png)\n \n ## 可用工具\n \n-1. **网站内容获取工具 (mcp_fetch)**\n+1. **网站内容获取工具 (url)**\n - 获取指定URL的网站内容\n - 参数: `url` - 要获取内容的网站URL\n \n-2. **服务器心情查询工具 (mood)**\n- - 查询服务器的\"心情\"\n- - 参数: `question` - 询问服务器心情的问题\n-\n-3. **PDF文档解析工具 (file)**\n+2. **PDF文档解析工具 (file)**\n - 解析PDF文档并提取文本和图片内容\n - 参数: `file_path` - PDF文件的本地路径\n - 返回: 文档的文本内容和图片(以base64编码形式)\n - 注意: 对于大型文件,处理可能需要较长时间,并且可能会超时\n \n-4. **PDF快速预览工具 (quick_pdf)**\n+3. **PDF快速预览工具 (quick_pdf)**\n - 快速预览PDF文档内容(仅提取文本,不包含图片)\n - 参数: `file_path` - PDF文件的本地路径\n - 返回: 文档的文本内容\n - 适用于: 大型PDF文件或需要快速查看内容时\n" }, { "date": 1741251383724, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,195 +1,118 @@\n-# MCP Server Template for Cursor IDE\n-\n-A simple template for creating custom tools for Cursor IDE using Model Context Protocol (MCP). Create your own repository from this template, modify the tools, and connect them to your Cursor IDE.\n-\n-![Server Mood Response](docs/images/server-mood.png)\n-\n+# MCP服务器模板用于Cursor IDE\n+一个简单的模板,用于使用模型上下文协议(MCP)为Cursor IDE创建自定义工具。从此模板创建自己的仓库,修改工具,并将其连接到您的Cursor IDE。\n ## 可用工具\n-\n 1. **网站内容获取工具 (url)**\n - 获取指定URL的网站内容\n - 参数: `url` - 要获取内容的网站URL\n-\n 2. **PDF文档解析工具 (file)**\n - 解析PDF文档并提取文本和图片内容\n - 参数: `file_path` - PDF文件的本地路径\n - 返回: 文档的文本内容和图片(以base64编码形式)\n - 注意: 对于大型文件,处理可能需要较长时间,并且可能会超时\n-\n 3. **PDF快速预览工具 (quick_pdf)**\n - 快速预览PDF文档内容(仅提取文本,不包含图片)\n - 参数: `file_path` - PDF文件的本地路径\n - 返回: 文档的文本内容\n - 适用于: 大型PDF文件或需要快速查看内容时\n-\n ## PDF处理性能优化\n-\n 为了提高PDF处理性能并避免超时错误,我们实施了以下优化:\n-\n 1. **文本处理优化**:\n - 限制处理的最大页数(完整模式: 30页,快速模式: 50页)\n - 提供处理进度反馈\n-\n 2. **图片处理优化**:\n - 降低DPI值(从150降至100)以加快处理速度\n - 限制处理图片的最大页数(10页)\n - 调整图片大小和质量以减小数据量\n - 使用多线程加速图片处理\n-\n 3. **超时处理**:\n - 增加服务器超时设置(5分钟)\n - 添加详细的错误处理和提示信息\n-\n 4. **大文件处理**:\n - 对大文件(>10MB)提供警告\n - 提供快速预览模式,仅提取文本内容\n-\n-## Quick Start\n-\n-1. Click \"Deploy to Heroku\" button\n-\n- [![Deploy to Heroku](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/kirill-markin/weaviate-mcp-server)\n-\n-2. After deployment, configure Cursor:\n- - Open Cursor Settings → Features\n- - Add new MCP server\n- - Use your Heroku URL with `/sse` path (e.g., `https://<your-app-name>.herokuapp.com/sse`)\n-\n-3. Test your agent's mood in Cursor:\n- - Ask your agent \"Please ask about our server mood and let me know how it is.\"\n- - The server will respond with a cheerful message and a heart ❤️\n-\n-## Alternative Setup Methods\n-\n-You can run the server in three ways: using Docker, traditional Python setup, or directly in Cursor IDE.\n-\n-### Docker Setup\n-\n-The project includes Docker support for easy deployment:\n-\n-1. Initial setup:\n+您可以通过三种方式运行服务器:使用Docker、传统的Python设置或直接在Cursor IDE中。\n+### Docker设置\n+该项目包括Docker支持,便于部署:\n+1. 初始设置:\n ```bash\n-# Clone the repository\n+# 克隆仓库\n git clone https://github.com/kirill-markin/weaviate-mcp-server.git\n cd weaviate-mcp-server\n-\n-# Create environment file\n+# 创建环境文件\n cp .env.example .env\n ```\n-\n-2. Build and run using Docker Compose:\n+2. 使用Docker Compose构建并运行:\n ```bash\n-# Build and start the server\n+# 构建并启动服务器\n docker compose up --build -d\n-\n-# View logs\n+# 查看日志\n docker compose logs -f\n-\n-# Check server status\n+# 检查服务器状态\n docker compose ps\n-\n-# Stop the server\n+# 停止服务器\n docker compose down\n ```\n-\n-3. The server will be available at:\n- - SSE endpoint: http://localhost:8000/sse\n-\n-4. Quick test:\n+3. 服务器将可以在以下地址访问:\n+ - SSE端点: http://localhost:8000/sse\n+4. 快速测试:\n ```bash\n-# Test the server endpoint\n+# 测试服务器端点\n curl -i http://localhost:8000/sse\n ```\n-\n-5. Connect to Cursor IDE:\n- - Open Cursor Settings → Features\n- - Add new MCP server\n- - Type: Select \"sse\"\n- - URL: Enter `http://localhost:8000/sse`\n-\n-6. 访问本地文件:\n+5. 连接到Cursor IDE:\n+ - 打开Cursor设置 → 功能\n+ - 添加新的MCP服务器\n+ - 类型: 选择“sse”\n+ - URL: 输入`http://localhost:8000/sse`\n+6. 访问本地文件:\n - 默认情况下,Docker容器无法访问主机(您的电脑)上的文件\n - 在`docker-compose.yml`文件中,我们已经将`/Users/liuyanzhi/Desktop`目录挂载到容器内的`/host_files`目录\n - 要访问您桌面上的PDF文件,请使用路径`/host_files/文件名.pdf`\n - 例如,要访问`/Users/liuyanzhi/Desktop/2024-刘彦志-设计文档/2024-01-09-还款流程优化方案设计-刘彦志-互联网事业部.pdf`,请使用路径`/host_files/2024-刘彦志-设计文档/2024-01-09-还款流程优化方案设计-刘彦志-互联网事业部.pdf`\n - 如果需要访问其他目录,请修改`docker-compose.yml`文件中的`volumes`部分\n-\n-### Traditional Setup\n-\n-First, install the uv package manager:\n-\n+### 传统设置\n+首先,安装uv包管理器:\n ```bash\n-# Install uv on macOS\n+# 在macOS上安装uv\n brew install uv\n-# Or install via pip (any OS)\n+# 或通过pip安装(任何操作系统)\n pip install uv\n ```\n-\n-Install system dependencies for PDF processing:\n-\n+安装PDF处理的系统依赖:\n ```bash\n-# On Ubuntu/Debian\n+# 在Ubuntu/Debian上\n sudo apt-get install poppler-utils\n-\n-# On macOS\n+# 在macOS上\n brew install poppler\n-\n-# On Windows\n-# Download and install poppler from http://blog.alivate.com.au/poppler-windows/\n-# And add the bin directory to your PATH\n+# 在Windows上\n+# 从http://blog.alivate.com.au/poppler-windows/下载并安装poppler\n+# 并将bin目录添加到您的PATH中\n ```\n-\n-Start the server using either stdio (default) or SSE transport:\n-\n+使用stdio(默认)或SSE传输启动服务器:\n ```bash\n-# Install the package with development dependencies\n+# 安装开发依赖的包\n uv pip install -e \".[dev]\"\n-\n-# Using stdio transport (default)\n+# 使用stdio传输(默认)\n uv run mcp-simple-tool\n-\n-# Using SSE transport on custom port\n+# 使用自定义端口的SSE传输\n uv run mcp-simple-tool --transport sse --port 8000\n-\n-# Run tests\n+# 运行测试\n uv run pytest -v\n ```\n-\n-After installation, you can connect the server directly to Cursor IDE:\n-\n-1. Right-click on the `cursor-run-mcp-server.sh` file in Cursor\n-2. Select \"Copy Path\" to copy the absolute path\n-3. Open Cursor Settings (gear icon)\n-4. Navigate to Features tab\n-5. Scroll down to \"MCP Servers\"\n-6. Click \"Add new MCP server\"\n-7. Fill in the form:\n- - Name: Choose any name (e.g., \"my-mcp-server-1\")\n- - Type: Select \"stdio\" (not \"sse\" because we run the server locally)\n- - Command: Paste the absolute path to `cursor-run-mcp-server.sh` that you copied earlier. For example: `/Users/kirillmarkin/weaviate-mcp-server/cursor-run-mcp-server.sh`\n-\n-### Environment Variables\n-\n-Available environment variables (can be set in `.env`):\n-\n-- `MCP_SERVER_PORT` (default: 8000) - Port to run the server on\n-- `MCP_SERVER_HOST` (default: 0.0.0.0) - Host to bind the server to\n-- `DEBUG` (default: false) - Enable debug mode\n-- `MCP_USER_AGENT` - Custom User-Agent for website fetching\n-\n-## Additional options\n-\n-### Installing via Smithery\n-\n-[![smithery badge](https://smithery.ai/badge/@kirill-markin/example-mcp-server)](https://smithery.ai/server/@kirill-markin/example-mcp-server)\n-\n-To install MCP Server Template for Cursor IDE for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@kirill-markin/example-mcp-server):\n-\n-```bash\n-npx -y @smithery/cli install @kirill-markin/example-mcp-server --client claude\n-```\n-\n-### Glama server review\n-\n-<a href=\"https://glama.ai/mcp/servers/jgisqn8zco\"><img width=\"380\" height=\"200\" src=\"https://glama.ai/mcp/servers/jgisqn8zco/badge\" alt=\"Server Template for Cursor IDE MCP server\" /></a>\n-\n+安装后,您可以将服务器直接连接到Cursor IDE:\n+1. 在Cursor中右键单击`cursor-run-mcp-server.sh`文件\n+2. 选择“复制路径”以复制绝对路径\n+3. 打开Cursor设置(齿轮图标)\n+4. 导航到功能选项卡\n+5. 向下滚动到“MCP服务器”\n+6. 点击“添加新MCP服务器”\n+7. 填写表单:\n+ - 名称: 选择任何名称(例如,“my-mcp-server-1”)\n+ - 类型: 选择“stdio”(而不是“sse”,因为我们在本地运行服务器)\n+ - 命令: 粘贴您之前复制的`cursor-run-mcp-server.sh`的绝对路径。例如:`/Users/kirillmarkin/weaviate-mcp-server/cursor-run-mcp-server.sh`\n+### 环境变量\n+可用的环境变量(可以在`.env`中设置):\n+- `MCP_SERVER_PORT`(默认: 8000) - 服务器运行的端口\n+- `MCP_SERVER_HOST`(默认: 0.0.0.0) - 绑定服务器的主机\n+- `DEBUG`(默认: false) - 启用调试模式\n+- `MCP_USER_AGENT` - 网站抓取的自定义User-Agent\n" }, { "date": 1741252765267, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,118 +1,159 @@\n-# MCP服务器模板用于Cursor IDE\n-一个简单的模板,用于使用模型上下文协议(MCP)为Cursor IDE创建自定义工具。从此模板创建自己的仓库,修改工具,并将其连接到您的Cursor IDE。\n-## 可用工具\n-1. **网站内容获取工具 (url)**\n- - 获取指定URL的网站内容\n- - 参数: `url` - 要获取内容的网站URL\n-2. **PDF文档解析工具 (file)**\n- - 解析PDF文档并提取文本和图片内容\n- - 参数: `file_path` - PDF文件的本地路径\n- - 返回: 文档的文本内容和图片(以base64编码形式)\n- - 注意: 对于大型文件,处理可能需要较长时间,并且可能会超时\n-3. **PDF快速预览工具 (quick_pdf)**\n- - 快速预览PDF文档内容(仅提取文本,不包含图片)\n- - 参数: `file_path` - PDF文件的本地路径\n- - 返回: 文档的文本内容\n- - 适用于: 大型PDF文件或需要快速查看内容时\n-## PDF处理性能优化\n-为了提高PDF处理性能并避免超时错误,我们实施了以下优化:\n-1. **文本处理优化**:\n+# MCP开发框架\n+\n+一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取和PDF文档处理等高级功能。\n+\n+## 主要功能\n+\n+本框架提供了以下核心功能:\n+\n+### 1. 网页内容获取\n+\n+使用`url`工具可以获取任何网页的内容,支持完整的HTTP错误处理和超时管理。\n+\n+- **用法**: `url https://example.com`\n+- **参数**: `url` - 要获取内容的网站URL\n+- **返回**: 网页的文本内容\n+\n+### 2. PDF文档处理\n+\n+框架提供了两种PDF处理工具,满足不同场景的需求:\n+\n+#### 完整PDF解析 (file)\n+\n+- **用法**: `file /path/to/document.pdf`\n+- **功能**: 解析PDF文档并提取文本和图片内容\n+- **参数**: `file_path` - PDF文件的本地路径\n+- **返回**: 文档的文本内容(Markdown格式)和图片信息\n+- **特点**: 使用PymuPDF4llm库提供高质量的文本提取和图像处理\n+\n+#### 快速PDF预览 (quick_pdf)\n+\n+- **用法**: `quick_pdf /path/to/document.pdf`\n+- **功能**: 快速预览PDF文档内容(仅提取文本)\n+- **参数**: `file_path` - PDF文件的本地路径\n+- **返回**: 文档的文本内容(Markdown格式)\n+- **适用场景**: 大型PDF文件或只需要文本内容时\n+\n+## PDF处理技术特点\n+\n+本框架使用了多种技术来优化PDF处理性能:\n+\n+1. **PymuPDF4llm集成**:\n+ - 使用专为大语言模型优化的PDF处理库\n+ - 高质量的文本提取,保留原始格式\n+ - 结构化的Markdown输出\n+\n+2. **性能优化**:\n - 限制处理的最大页数(完整模式: 30页,快速模式: 50页)\n- - 提供处理进度反馈\n-2. **图片处理优化**:\n- - 降低DPI值(从150降至100)以加快处理速度\n- - 限制处理图片的最大页数(10页)\n- - 调整图片大小和质量以减小数据量\n- - 使用多线程加速图片处理\n-3. **超时处理**:\n- - 增加服务器超时设置(5分钟)\n- - 添加详细的错误处理和提示信息\n-4. **大文件处理**:\n+ - 图片处理优化(DPI调整、大小限制)\n+ - 多线程处理加速\n+\n+3. **错误处理**:\n+ - 详细的错误信息和提示\n+ - 备用处理方法,确保服务稳定性\n+ - 超时保护机制(5分钟超时设置)\n+\n+4. **大文件支持**:\n - 对大文件(>10MB)提供警告\n- - 提供快速预览模式,仅提取文本内容\n-您可以通过三种方式运行服务器:使用Docker、传统的Python设置或直接在Cursor IDE中。\n-### Docker设置\n+ - 快速预览模式,适用于大型文档\n+ - 进度反馈,提供处理状态\n+\n+## 部署方式\n+\n+您可以通过以下方式部署和使用本框架:\n+\n+### Docker部署(推荐)\n+\n 该项目包括Docker支持,便于部署:\n+\n 1. 初始设置:\n ```bash\n # 克隆仓库\n-git clone https://github.com/kirill-markin/weaviate-mcp-server.git\n-cd weaviate-mcp-server\n+git clone https://github.com/your-username/mcp-development-framework.git\n+cd mcp-development-framework\n+\n # 创建环境文件\n cp .env.example .env\n ```\n+\n 2. 使用Docker Compose构建并运行:\n ```bash\n # 构建并启动服务器\n docker compose up --build -d\n+\n # 查看日志\n docker compose logs -f\n+\n # 检查服务器状态\n docker compose ps\n+\n # 停止服务器\n docker compose down\n ```\n+\n 3. 服务器将可以在以下地址访问:\n - SSE端点: http://localhost:8000/sse\n-4. 快速测试:\n-```bash\n-# 测试服务器端点\n-curl -i http://localhost:8000/sse\n-```\n-5. 连接到Cursor IDE:\n+\n+4. 连接到Cursor IDE:\n - 打开Cursor设置 → 功能\n - 添加新的MCP服务器\n- - 类型: 选择“sse”\n+ - 类型: 选择\"sse\"\n - URL: 输入`http://localhost:8000/sse`\n-6. 访问本地文件:\n+\n+5. 访问本地文件:\n - 默认情况下,Docker容器无法访问主机(您的电脑)上的文件\n- - 在`docker-compose.yml`文件中,我们已经将`/Users/liuyanzhi/Desktop`目录挂载到容器内的`/host_files`目录\n- - 要访问您桌面上的PDF文件,请使用路径`/host_files/文件名.pdf`\n- - 例如,要访问`/Users/liuyanzhi/Desktop/2024-刘彦志-设计文档/2024-01-09-还款流程优化方案设计-刘彦志-互联网事业部.pdf`,请使用路径`/host_files/2024-刘彦志-设计文档/2024-01-09-还款流程优化方案设计-刘彦志-互联网事业部.pdf`\n- - 如果需要访问其他目录,请修改`docker-compose.yml`文件中的`volumes`部分\n-### 传统设置\n-首先,安装uv包管理器:\n+ - 在`docker-compose.yml`文件中配置卷挂载,将本地目录挂载到容器内\n+ - 例如,如果挂载了`/Users/username/Documents`到`/host_docs`,则使用`/host_docs/file.pdf`访问文件\n+\n+### 传统Python部署\n+\n+首先,安装uv包管理器和系统依赖:\n+\n ```bash\n-# 在macOS上安装uv\n-brew install uv\n-# 或通过pip安装(任何操作系统)\n+# 安装uv\n pip install uv\n-```\n-安装PDF处理的系统依赖:\n-```bash\n+\n+# 安装PDF处理的系统依赖\n # 在Ubuntu/Debian上\n sudo apt-get install poppler-utils\n # 在macOS上\n brew install poppler\n # 在Windows上\n # 从http://blog.alivate.com.au/poppler-windows/下载并安装poppler\n # 并将bin目录添加到您的PATH中\n ```\n-使用stdio(默认)或SSE传输启动服务器:\n+\n+然后安装和运行服务器:\n+\n ```bash\n # 安装开发依赖的包\n uv pip install -e \".[dev]\"\n+\n # 使用stdio传输(默认)\n uv run mcp-simple-tool\n+\n # 使用自定义端口的SSE传输\n uv run mcp-simple-tool --transport sse --port 8000\n+\n # 运行测试\n uv run pytest -v\n ```\n-安装后,您可以将服务器直接连接到Cursor IDE:\n-1. 在Cursor中右键单击`cursor-run-mcp-server.sh`文件\n-2. 选择“复制路径”以复制绝对路径\n-3. 打开Cursor设置(齿轮图标)\n-4. 导航到功能选项卡\n-5. 向下滚动到“MCP服务器”\n-6. 点击“添加新MCP服务器”\n-7. 填写表单:\n- - 名称: 选择任何名称(例如,“my-mcp-server-1”)\n- - 类型: 选择“stdio”(而不是“sse”,因为我们在本地运行服务器)\n- - 命令: 粘贴您之前复制的`cursor-run-mcp-server.sh`的绝对路径。例如:`/Users/kirillmarkin/weaviate-mcp-server/cursor-run-mcp-server.sh`\n-### 环境变量\n+\n+## 环境变量配置\n+\n 可用的环境变量(可以在`.env`中设置):\n+\n - `MCP_SERVER_PORT`(默认: 8000) - 服务器运行的端口\n - `MCP_SERVER_HOST`(默认: 0.0.0.0) - 绑定服务器的主机\n - `DEBUG`(默认: false) - 启用调试模式\n - `MCP_USER_AGENT` - 网站抓取的自定义User-Agent\n+\n+## 自定义开发\n+\n+本框架设计为易于扩展,您可以通过以下步骤添加自己的工具:\n+\n+1. 在`mcp_simple_tool/server.py`中实现工具功能\n+2. 在`fetch_tool`函数中添加工具处理逻辑\n+3. 在`list_tools`函数中注册工具\n+\n+详细的开发指南请参考[开发文档](docs/development.md)。\n" }, { "date": 1741253417170, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -155,5 +155,4 @@\n 1. 在`mcp_simple_tool/server.py`中实现工具功能\n 2. 在`fetch_tool`函数中添加工具处理逻辑\n 3. 在`list_tools`函数中注册工具\n \n-详细的开发指南请参考[开发文档](docs/development.md)。\n" }, { "date": 1741258880040, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -22,10 +22,16 @@\n \n - **用法**: `file /path/to/document.pdf`\n - **功能**: 解析PDF文档并提取文本和图片内容\n - **参数**: `file_path` - PDF文件的本地路径\n-- **返回**: 文档的文本内容(Markdown格式)和图片信息\n-- **特点**: 使用PymuPDF4llm库提供高质量的文本提取和图像处理\n+- **返回**: \n+ - 文档的文本内容(Markdown格式)\n+ - 图片内容分析(包括OCR文本识别和图像类型识别)\n+- **特点**: \n+ - 使用PymuPDF4llm库提供高质量的文本提取\n+ - 集成OCR技术识别图片中的文本\n+ - 智能分析图片类型(文本图像、图表/图形、照片等)\n+ - 评估图片质量和清晰度\n \n #### 快速PDF预览 (quick_pdf)\n \n - **用法**: `quick_pdf /path/to/document.pdf`\n@@ -42,19 +48,25 @@\n - 使用专为大语言模型优化的PDF处理库\n - 高质量的文本提取,保留原始格式\n - 结构化的Markdown输出\n \n-2. **性能优化**:\n+2. **图像内容分析**:\n+ - OCR文本识别(支持中英文)\n+ - 图像类型智能分类\n+ - 图像质量评估\n+ - 图像特征提取\n+\n+3. **性能优化**:\n - 限制处理的最大页数(完整模式: 30页,快速模式: 50页)\n - 图片处理优化(DPI调整、大小限制)\n - 多线程处理加速\n \n-3. **错误处理**:\n+4. **错误处理**:\n - 详细的错误信息和提示\n - 备用处理方法,确保服务稳定性\n - 超时保护机制(5分钟超时设置)\n \n-4. **大文件支持**:\n+5. **大文件支持**:\n - 对大文件(>10MB)提供警告\n - 快速预览模式,适用于大型文档\n - 进度反馈,提供处理状态\n \n" }, { "date": 1741259380552, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -22,16 +22,10 @@\n \n - **用法**: `file /path/to/document.pdf`\n - **功能**: 解析PDF文档并提取文本和图片内容\n - **参数**: `file_path` - PDF文件的本地路径\n-- **返回**: \n- - 文档的文本内容(Markdown格式)\n- - 图片内容分析(包括OCR文本识别和图像类型识别)\n-- **特点**: \n- - 使用PymuPDF4llm库提供高质量的文本提取\n- - 集成OCR技术识别图片中的文本\n- - 智能分析图片类型(文本图像、图表/图形、照片等)\n- - 评估图片质量和清晰度\n+- **返回**: 文档的文本内容(Markdown格式)和图片信息\n+- **特点**: 使用PymuPDF4llm库提供高质量的文本提取和图像处理\n \n #### 快速PDF预览 (quick_pdf)\n \n - **用法**: `quick_pdf /path/to/document.pdf`\n@@ -48,25 +42,19 @@\n - 使用专为大语言模型优化的PDF处理库\n - 高质量的文本提取,保留原始格式\n - 结构化的Markdown输出\n \n-2. **图像内容分析**:\n- - OCR文本识别(支持中英文)\n- - 图像类型智能分类\n- - 图像质量评估\n- - 图像特征提取\n-\n-3. **性能优化**:\n+2. **性能优化**:\n - 限制处理的最大页数(完整模式: 30页,快速模式: 50页)\n - 图片处理优化(DPI调整、大小限制)\n - 多线程处理加速\n \n-4. **错误处理**:\n+3. **错误处理**:\n - 详细的错误信息和提示\n - 备用处理方法,确保服务稳定性\n - 超时保护机制(5分钟超时设置)\n \n-5. **大文件支持**:\n+4. **大文件支持**:\n - 对大文件(>10MB)提供警告\n - 快速预览模式,适用于大型文档\n - 进度反馈,提供处理状态\n \n" }, { "date": 1741259553064, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -22,10 +22,17 @@\n \n - **用法**: `file /path/to/document.pdf`\n - **功能**: 解析PDF文档并提取文本和图片内容\n - **参数**: `file_path` - PDF文件的本地路径\n-- **返回**: 文档的文本内容(Markdown格式)和图片信息\n-- **特点**: 使用PymuPDF4llm库提供高质量的文本提取和图像处理\n+- **返回**: \n+ - 文档的文本内容(Markdown格式)\n+ - 图片内容分析(包括OCR文本提取和图像类型识别)\n+ - 图表和图形的自动识别\n+- **特点**: \n+ - 使用PymuPDF4llm库提供高质量的文本提取\n+ - 集成OCR技术识别图片中的文字\n+ - 智能分析图像类型(照片、图表、线条图等)\n+ - 提供图像清晰度评估\n \n #### 快速PDF预览 (quick_pdf)\n \n - **用法**: `quick_pdf /path/to/document.pdf`\n@@ -42,19 +49,25 @@\n - 使用专为大语言模型优化的PDF处理库\n - 高质量的文本提取,保留原始格式\n - 结构化的Markdown输出\n \n-2. **性能优化**:\n+2. **图像内容分析**:\n+ - OCR技术提取图片中的文字内容\n+ - 图像类型智能识别(照片、图表、线条图等)\n+ - 图像特征分析(颜色分布、边缘密度等)\n+ - 图像质量评估(清晰度分析)\n+\n+3. **性能优化**:\n - 限制处理的最大页数(完整模式: 30页,快速模式: 50页)\n - 图片处理优化(DPI调整、大小限制)\n - 多线程处理加速\n \n-3. **错误处理**:\n+4. **错误处理**:\n - 详细的错误信息和提示\n - 备用处理方法,确保服务稳定性\n - 超时保护机制(5分钟超时设置)\n \n-4. **大文件支持**:\n+5. **大文件支持**:\n - 对大文件(>10MB)提供警告\n - 快速预览模式,适用于大型文档\n - 进度反馈,提供处理状态\n \n" }, { "date": 1741259593726, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -22,17 +22,10 @@\n \n - **用法**: `file /path/to/document.pdf`\n - **功能**: 解析PDF文档并提取文本和图片内容\n - **参数**: `file_path` - PDF文件的本地路径\n-- **返回**: \n- - 文档的文本内容(Markdown格式)\n- - 图片内容分析(包括OCR文本提取和图像类型识别)\n- - 图表和图形的自动识别\n-- **特点**: \n- - 使用PymuPDF4llm库提供高质量的文本提取\n- - 集成OCR技术识别图片中的文字\n- - 智能分析图像类型(照片、图表、线条图等)\n- - 提供图像清晰度评估\n+- **返回**: 文档的文本内容(Markdown格式)和图片信息\n+- **特点**: 使用PymuPDF4llm库提供高质量的文本提取和图像处理\n \n #### 快速PDF预览 (quick_pdf)\n \n - **用法**: `quick_pdf /path/to/document.pdf`\n@@ -49,25 +42,19 @@\n - 使用专为大语言模型优化的PDF处理库\n - 高质量的文本提取,保留原始格式\n - 结构化的Markdown输出\n \n-2. **图像内容分析**:\n- - OCR技术提取图片中的文字内容\n- - 图像类型智能识别(照片、图表、线条图等)\n- - 图像特征分析(颜色分布、边缘密度等)\n- - 图像质量评估(清晰度分析)\n-\n-3. **性能优化**:\n+2. **性能优化**:\n - 限制处理的最大页数(完整模式: 30页,快速模式: 50页)\n - 图片处理优化(DPI调整、大小限制)\n - 多线程处理加速\n \n-4. **错误处理**:\n+3. **错误处理**:\n - 详细的错误信息和提示\n - 备用处理方法,确保服务稳定性\n - 超时保护机制(5分钟超时设置)\n \n-5. **大文件支持**:\n+4. **大文件支持**:\n - 对大文件(>10MB)提供警告\n - 快速预览模式,适用于大型文档\n - 进度反馈,提供处理状态\n \n" }, { "date": 1741408368994, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,7 +1,7 @@\n # MCP开发框架\n \n-一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取和PDF文档处理等高级功能。\n+一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取、PDF文档处理和Word文档解析等高级功能。\n \n ## 主要功能\n \n 本框架提供了以下核心功能:\n@@ -33,17 +33,29 @@\n - **参数**: `file_path` - PDF文件的本地路径\n - **返回**: 文档的文本内容(Markdown格式)\n - **适用场景**: 大型PDF文件或只需要文本内容时\n \n-## PDF处理技术特点\n+### 3. Word文档解析\n \n-本框架使用了多种技术来优化PDF处理性能:\n+使用`word`工具可以解析Word文档(.docx和.doc格式),提取文本内容、表格和图片信息。\n \n-1. **PymuPDF4llm集成**:\n- - 使用专为大语言模型优化的PDF处理库\n- - 高质量的文本提取,保留原始格式\n- - 结构化的Markdown输出\n+- **用法**: `word /path/to/document.docx`\n+- **功能**: 解析Word文档并提取文本内容、表格和图片信息\n+- **参数**: `file_path` - Word文档的本地路径\n+- **返回**: 文档的文本内容(Markdown格式)、表格和图片信息\n+- **特点**: 使用python-docx库提供高质量的文本和表格提取\n \n+## 文档处理技术特点\n+\n+本框架使用了多种技术来优化文档处理性能:\n+\n+### PDF处理\n+\n+1. **多层次处理策略**:\n+ - 首先尝试使用PyMuPDF(fitz)提取内容(速度快、准确度高)\n+ - 如果失败,回退到PymuPDF4llm(专为大语言模型优化)\n+ - 最后尝试PyPDF2作为最终备用方案\n+\n 2. **性能优化**:\n - 限制处理的最大页数(完整模式: 30页,快速模式: 50页)\n - 图片处理优化(DPI调整、大小限制)\n - 多线程处理加速\n@@ -52,13 +64,108 @@\n - 详细的错误信息和提示\n - 备用处理方法,确保服务稳定性\n - 超时保护机制(5分钟超时设置)\n \n-4. **大文件支持**:\n- - 对大文件(>10MB)提供警告\n- - 快速预览模式,适用于大型文档\n- - 进度反馈,提供处理状态\n+### Word文档处理\n \n+1. **文档结构解析**:\n+ - 提取文档属性(标题、作者、创建时间等)\n+ - 段落内容提取,保留原始格式\n+ - 表格转换为Markdown格式\n+\n+2. **图片信息**:\n+ - 提供文档中图片的数量信息\n+ - 图片引用关系识别\n+\n+## 模块化工具框架\n+\n+本框架采用模块化设计,便于扩展和维护:\n+\n+```\n+mcp_simple_tool/\n+├── tools/\n+│ ├── __init__.py # 定义工具基类和注册器\n+│ ├── loader.py # 工具加载器,自动加载所有工具\n+│ ├── url_tool.py # URL工具实现\n+│ ├── pdf_tool.py # PDF解析工具实现\n+│ ├── quick_pdf_tool.py # 快速PDF预览工具实现\n+│ └── word_tool.py # Word文档解析工具实现\n+├── __init__.py\n+├── __main__.py\n+└── server.py # MCP服务器实现\n+```\n+\n+### 框架特点\n+\n+1. **自动工具发现**:\n+ - 工具加载器自动发现和加载所有工具\n+ - 无需手动注册,只需创建新工具文件\n+\n+2. **统一接口**:\n+ - 所有工具继承自`BaseTool`基类\n+ - 标准化的输入和输出格式\n+\n+3. **简单扩展**:\n+ - 只需创建新的工具类并使用`@ToolRegistry.register`装饰器\n+ - 框架自动处理工具的注册和调用\n+\n+## 如何开发新工具\n+\n+1. 在`tools`目录下创建一个新的Python文件,如`your_tool.py`\n+2. 导入必要的依赖和基类\n+3. 创建一个继承自`BaseTool`的工具类\n+4. 使用`@ToolRegistry.register`装饰器注册工具\n+5. 实现工具的`execute`方法\n+\n+### 工具模板示例\n+\n+```python\n+import mcp.types as types\n+from . import BaseTool, ToolRegistry\n+\n+@ToolRegistry.register\n+class YourTool(BaseTool):\n+ \"\"\"您的工具描述\"\"\"\n+ name = \"your_tool_name\" # 工具的唯一标识符\n+ description = \"您的工具描述\" # 工具的描述信息,将显示给用户\n+ input_schema = {\n+ \"type\": \"object\",\n+ \"required\": [\"param1\"], # 必需的参数\n+ \"properties\": {\n+ \"param1\": {\n+ \"type\": \"string\",\n+ \"description\": \"参数1的描述\",\n+ },\n+ \"param2\": {\n+ \"type\": \"integer\",\n+ \"description\": \"参数2的描述(可选)\",\n+ }\n+ },\n+ }\n+ \n+ async def execute(self, arguments: dict) -> list[types.TextContent | types.ImageContent | types.EmbeddedResource]:\n+ \"\"\"执行工具逻辑\"\"\"\n+ # 参数验证\n+ if \"param1\" not in arguments:\n+ return [types.TextContent(\n+ type=\"text\",\n+ text=\"Error: Missing required argument 'param1'\"\n+ )]\n+ \n+ # 获取参数\n+ param1 = arguments[\"param1\"]\n+ param2 = arguments.get(\"param2\", 0) # 获取可选参数,提供默认值\n+ \n+ # 执行工具逻辑\n+ result = f\"处理参数: {param1}, {param2}\"\n+ \n+ # 返回结果\n+ return [types.TextContent(\n+ type=\"text\",\n+ text=result\n+ )]\n+```\n+\n ## 部署方式\n \n 您可以通过以下方式部署和使用本框架:\n \n@@ -86,8 +193,14 @@\n \n # 检查服务器状态\n docker compose ps\n \n+# 暂停容器(不删除)\n+docker compose pause\n+\n+# 恢复已暂停的容器\n+docker compose unpause\n+\n # 停止服务器\n docker compose down\n ```\n \n@@ -147,12 +260,32 @@\n - `MCP_SERVER_HOST`(默认: 0.0.0.0) - 绑定服务器的主机\n - `DEBUG`(默认: false) - 启用调试模式\n - `MCP_USER_AGENT` - 网站抓取的自定义User-Agent\n \n-## 自定义开发\n+## 依赖项\n \n-本框架设计为易于扩展,您可以通过以下步骤添加自己的工具:\n+本项目使用以下主要依赖:\n \n-1. 在`mcp_simple_tool/server.py`中实现工具功能\n-2. 在`fetch_tool`函数中添加工具处理逻辑\n-3. 在`list_tools`函数中注册工具\n+- `mcp` - Model Context Protocol实现\n+- `PyPDF2` - PDF文档处理\n+- `PyMuPDF` - 高性能PDF文档处理\n+- `pymupdf4llm` - 为大语言模型优化的PDF处理\n+- `pdf2image` - PDF转图像处理\n+- `python-docx` - Word文档处理\n+- `httpx` - 异步HTTP客户端\n+- `anyio` - 异步I/O支持\n+- `click` - 命令行接口\n \n+## 贡献指南\n+\n+欢迎贡献!请遵循以下步骤:\n+\n+1. Fork仓库\n+2. 创建功能分支 (`git checkout -b feature/amazing-feature`)\n+3. 提交更改 (`git commit -m 'Add some amazing feature'`)\n+4. 推送到分支 (`git push origin feature/amazing-feature`)\n+5. 打开Pull Request\n+\n+## 许可证\n+\n+本项目采用MIT许可证 - 详情请参阅[LICENSE](LICENSE)文件。\n+\n" }, { "date": 1741494899320, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -21,9 +21,14 @@\n #### 完整PDF解析 (file)\n \n - **用法**: `file /path/to/document.pdf`\n - **功能**: 解析PDF文档并提取文本和图片内容\n-- **参数**: `file_path` - PDF文件的本地路径\n+- **参数**: \n+ - `file_path` - PDF文件的本地路径\n+ - `recognize_images` - 是否使用大模型识别图片内容(可选,默认为false)\n+ - `image_save_dir` - 图片保存目录(可选,默认为/host_images)\n+ - `api_key` - 大模型API密钥(可选,如果启用图像识别则必需)\n+ - `api_base_url` - 大模型API基础URL(可选)\n - **返回**: 文档的文本内容(Markdown格式)和图片信息\n - **特点**: 使用PymuPDF4llm库提供高质量的文本提取和图像处理\n \n #### 快速PDF预览 (quick_pdf)\n@@ -43,8 +48,23 @@\n - **参数**: `file_path` - Word文档的本地路径\n - **返回**: 文档的文本内容(Markdown格式)、表格和图片信息\n - **特点**: 使用python-docx库提供高质量的文本和表格提取\n \n+### 4. 图像识别\n+\n+使用`image_recognition`工具可以通过大模型API识别图片内容。\n+\n+- **用法**: `image_recognition /path/to/image.jpg`\n+- **功能**: 使用大模型识别图片内容\n+- **参数**: \n+ - `image_path` - 图片的本地路径或URL\n+ - `prompt` - 提示词,指导模型如何描述图片(可选)\n+ - `base_url` - API基础URL(可选)\n+ - `api_key` - API密钥(可选,如果未设置环境变量)\n+ - `model` - 使用的模型名称(可选,默认为gpt-4o)\n+- **返回**: 图片的识别结果(文本描述)\n+- **特点**: 支持本地文件和URL,可自定义提示词\n+\n ## 文档处理技术特点\n \n 本框架使用了多种技术来优化文档处理性能:\n \n@@ -75,8 +95,20 @@\n 2. **图片信息**:\n - 提供文档中图片的数量信息\n - 图片引用关系识别\n \n+### 图像识别\n+\n+1. **大模型集成**:\n+ - 支持OpenAI GPT-4o等支持图像识别的模型\n+ - 可自定义提示词,获取不同角度的图像描述\n+ - 支持本地文件和URL\n+\n+2. **PDF图像识别集成**:\n+ - 自动提取PDF中的图片并保存到指定目录\n+ - 使用大模型识别图片内容\n+ - 将识别结果集成到PDF解析结果中\n+\n ## 模块化工具框架\n \n 本框架采用模块化设计,便于扩展和维护:\n \n@@ -87,9 +119,10 @@\n │ ├── loader.py # 工具加载器,自动加载所有工具\n │ ├── url_tool.py # URL工具实现\n │ ├── pdf_tool.py # PDF解析工具实现\n │ ├── quick_pdf_tool.py # 快速PDF预览工具实现\n-│ └── word_tool.py # Word文档解析工具实现\n+│ ├── word_tool.py # Word文档解析工具实现\n+│ └── image_recognition_tool.py # 图像识别工具实现\n ├── __init__.py\n ├── __main__.py\n └── server.py # MCP服务器实现\n ```\n@@ -180,8 +213,9 @@\n cd mcp-development-framework\n \n # 创建环境文件\n cp .env.example .env\n+# 编辑.env文件,设置您的API密钥和其他配置\n ```\n \n 2. 使用Docker Compose构建并运行:\n ```bash\n@@ -212,12 +246,13 @@\n - 添加新的MCP服务器\n - 类型: 选择\"sse\"\n - URL: 输入`http://localhost:8000/sse`\n \n-5. 访问本地文件:\n+5. 访问本地文件和图片:\n - 默认情况下,Docker容器无法访问主机(您的电脑)上的文件\n - 在`docker-compose.yml`文件中配置卷挂载,将本地目录挂载到容器内\n- - 例如,如果挂载了`/Users/username/Documents`到`/host_docs`,则使用`/host_docs/file.pdf`访问文件\n+ - 例如,如果挂载了`/Users/username/Documents`到`/host_files`,则使用`/host_files/file.pdf`访问文件\n+ - 提取的图片将保存到`/host_images`目录,对应主机上的`/Users/username/Desktop/pdf_images`\n \n ### 传统Python部署\n \n 首先,安装uv包管理器和系统依赖:\n@@ -259,8 +294,11 @@\n - `MCP_SERVER_PORT`(默认: 8000) - 服务器运行的端口\n - `MCP_SERVER_HOST`(默认: 0.0.0.0) - 绑定服务器的主机\n - `DEBUG`(默认: false) - 启用调试模式\n - `MCP_USER_AGENT` - 网站抓取的自定义User-Agent\n+- `LLM_API_KEY` - 大模型API密钥,用于图像识别\n+- `LLM_API_BASE_URL`(默认: api.openai.com) - 大模型API基础URL\n+- `LLM_MODEL`(默认: gpt-4o) - 使用的大模型名称\n \n ## 依赖项\n \n 本项目使用以下主要依赖:\n" }, { "date": 1741495204377, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -21,14 +21,9 @@\n #### 完整PDF解析 (file)\n \n - **用法**: `file /path/to/document.pdf`\n - **功能**: 解析PDF文档并提取文本和图片内容\n-- **参数**: \n- - `file_path` - PDF文件的本地路径\n- - `recognize_images` - 是否使用大模型识别图片内容(可选,默认为false)\n- - `image_save_dir` - 图片保存目录(可选,默认为/host_images)\n- - `api_key` - 大模型API密钥(可选,如果启用图像识别则必需)\n- - `api_base_url` - 大模型API基础URL(可选)\n+- **参数**: `file_path` - PDF文件的本地路径\n - **返回**: 文档的文本内容(Markdown格式)和图片信息\n - **特点**: 使用PymuPDF4llm库提供高质量的文本提取和图像处理\n \n #### 快速PDF预览 (quick_pdf)\n@@ -48,23 +43,8 @@\n - **参数**: `file_path` - Word文档的本地路径\n - **返回**: 文档的文本内容(Markdown格式)、表格和图片信息\n - **特点**: 使用python-docx库提供高质量的文本和表格提取\n \n-### 4. 图像识别\n-\n-使用`image_recognition`工具可以通过大模型API识别图片内容。\n-\n-- **用法**: `image_recognition /path/to/image.jpg`\n-- **功能**: 使用大模型识别图片内容\n-- **参数**: \n- - `image_path` - 图片的本地路径或URL\n- - `prompt` - 提示词,指导模型如何描述图片(可选)\n- - `base_url` - API基础URL(可选)\n- - `api_key` - API密钥(可选,如果未设置环境变量)\n- - `model` - 使用的模型名称(可选,默认为gpt-4o)\n-- **返回**: 图片的识别结果(文本描述)\n-- **特点**: 支持本地文件和URL,可自定义提示词\n-\n ## 文档处理技术特点\n \n 本框架使用了多种技术来优化文档处理性能:\n \n@@ -95,20 +75,8 @@\n 2. **图片信息**:\n - 提供文档中图片的数量信息\n - 图片引用关系识别\n \n-### 图像识别\n-\n-1. **大模型集成**:\n- - 支持OpenAI GPT-4o等支持图像识别的模型\n- - 可自定义提示词,获取不同角度的图像描述\n- - 支持本地文件和URL\n-\n-2. **PDF图像识别集成**:\n- - 自动提取PDF中的图片并保存到指定目录\n- - 使用大模型识别图片内容\n- - 将识别结果集成到PDF解析结果中\n-\n ## 模块化工具框架\n \n 本框架采用模块化设计,便于扩展和维护:\n \n@@ -119,10 +87,9 @@\n │ ├── loader.py # 工具加载器,自动加载所有工具\n │ ├── url_tool.py # URL工具实现\n │ ├── pdf_tool.py # PDF解析工具实现\n │ ├── quick_pdf_tool.py # 快速PDF预览工具实现\n-│ ├── word_tool.py # Word文档解析工具实现\n-│ └── image_recognition_tool.py # 图像识别工具实现\n+│ └── word_tool.py # Word文档解析工具实现\n ├── __init__.py\n ├── __main__.py\n └── server.py # MCP服务器实现\n ```\n@@ -213,9 +180,8 @@\n cd mcp-development-framework\n \n # 创建环境文件\n cp .env.example .env\n-# 编辑.env文件,设置您的API密钥和其他配置\n ```\n \n 2. 使用Docker Compose构建并运行:\n ```bash\n@@ -246,13 +212,12 @@\n - 添加新的MCP服务器\n - 类型: 选择\"sse\"\n - URL: 输入`http://localhost:8000/sse`\n \n-5. 访问本地文件和图片:\n+5. 访问本地文件:\n - 默认情况下,Docker容器无法访问主机(您的电脑)上的文件\n - 在`docker-compose.yml`文件中配置卷挂载,将本地目录挂载到容器内\n- - 例如,如果挂载了`/Users/username/Documents`到`/host_files`,则使用`/host_files/file.pdf`访问文件\n- - 提取的图片将保存到`/host_images`目录,对应主机上的`/Users/username/Desktop/pdf_images`\n+ - 例如,如果挂载了`/Users/username/Documents`到`/host_docs`,则使用`/host_docs/file.pdf`访问文件\n \n ### 传统Python部署\n \n 首先,安装uv包管理器和系统依赖:\n@@ -294,11 +259,8 @@\n - `MCP_SERVER_PORT`(默认: 8000) - 服务器运行的端口\n - `MCP_SERVER_HOST`(默认: 0.0.0.0) - 绑定服务器的主机\n - `DEBUG`(默认: false) - 启用调试模式\n - `MCP_USER_AGENT` - 网站抓取的自定义User-Agent\n-- `LLM_API_KEY` - 大模型API密钥,用于图像识别\n-- `LLM_API_BASE_URL`(默认: api.openai.com) - 大模型API基础URL\n-- `LLM_MODEL`(默认: gpt-4o) - 使用的大模型名称\n \n ## 依赖项\n \n 本项目使用以下主要依赖:\n" }, { "date": 1741523940993, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -43,8 +43,21 @@\n - **参数**: `file_path` - Word文档的本地路径\n - **返回**: 文档的文本内容(Markdown格式)、表格和图片信息\n - **特点**: 使用python-docx库提供高质量的文本和表格提取\n \n+### 4. 文档智能分析\n+\n+使用`doc_analysis`工具可以通过大模型API智能分析文档内容,回答关于文档的问题。\n+\n+- **用法**: `doc_analysis /path/to/document.pdf \"文档里说了什么?\"`\n+- **功能**: 使用大模型分析文档内容并回答问题\n+- **参数**: \n+ - `file_path` - 文档的本地路径\n+ - `question` - 关于文档的问题\n+ - `model` - 使用的模型名称(可选,默认为'glm-4')\n+- **返回**: 大模型对文档内容的分析结果\n+- **特点**: 利用先进的大语言模型进行深度文档理解和问答\n+\n ## 文档处理技术特点\n \n 本框架使用了多种技术来优化文档处理性能:\n \n@@ -75,8 +88,18 @@\n 2. **图片信息**:\n - 提供文档中图片的数量信息\n - 图片引用关系识别\n \n+### 文档智能分析\n+\n+1. **大模型集成**:\n+ - 使用先进的大语言模型(如GLM-4)进行文档理解\n+ - 支持复杂问题的回答和内容总结\n+\n+2. **文件处理**:\n+ - 自动处理文件上传和格式转换\n+ - 支持多种文档格式(PDF、Word等)\n+\n ## 模块化工具框架\n \n 本框架采用模块化设计,便于扩展和维护:\n \n@@ -87,9 +110,10 @@\n │ ├── loader.py # 工具加载器,自动加载所有工具\n │ ├── url_tool.py # URL工具实现\n │ ├── pdf_tool.py # PDF解析工具实现\n │ ├── quick_pdf_tool.py # 快速PDF预览工具实现\n-│ └── word_tool.py # Word文档解析工具实现\n+│ ├── word_tool.py # Word文档解析工具实现\n+│ └── doc_analysis_tool.py # 文档智能分析工具实现\n ├── __init__.py\n ├── __main__.py\n └── server.py # MCP服务器实现\n ```\n@@ -271,8 +295,9 @@\n - `pymupdf4llm` - 为大语言模型优化的PDF处理\n - `pdf2image` - PDF转图像处理\n - `python-docx` - Word文档处理\n - `httpx` - 异步HTTP客户端\n+- `requests` - HTTP客户端,用于文件上传\n - `anyio` - 异步I/O支持\n - `click` - 命令行接口\n \n ## 贡献指南\n" }, { "date": 1741527645409, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -43,20 +43,27 @@\n - **参数**: `file_path` - Word文档的本地路径\n - **返回**: 文档的文本内容(Markdown格式)、表格和图片信息\n - **特点**: 使用python-docx库提供高质量的文本和表格提取\n \n-### 4. 文档智能分析\n+### 4. 大语言模型交互与文档分析\n \n-使用`doc_analysis`工具可以通过大模型API智能分析文档内容,回答关于文档的问题。\n+使用`llm`工具可以通过大模型API智能分析文档内容或直接回答问题。\n \n-- **用法**: `doc_analysis /path/to/document.pdf \"文档里说了什么?\"`\n-- **功能**: 使用大模型分析文档内容并回答问题\n+- **用法**: \n+ - 文档分析: `llm /path/to/document.pdf \"文档里说了什么?\"`\n+ - 远程文档: `llm https://example.com/document.pdf \"文档里说了什么?\"`\n+ - 直接提问: `llm \"什么是人工智能?\"`\n+- **功能**: 使用大模型分析文档内容并回答问题,或直接回答用户提问\n - **参数**: \n- - `file_path` - 文档的本地路径\n- - `question` - 关于文档的问题\n+ - `file_path` - 文档的本地路径或URL(可选,如果只是提问则不需要)\n+ - `question` - 关于文档的问题或直接提问\n - `model` - 使用的模型名称(可选,默认为'glm-4')\n-- **返回**: 大模型对文档内容的分析结果\n-- **特点**: 利用先进的大语言模型进行深度文档理解和问答\n+- **返回**: 大模型的回答或对文档内容的分析结果\n+- **特点**: \n+ - 支持本地文件和远程URL\n+ - 支持多种文档格式(PDF、Word等)\n+ - 可配置不同的大语言模型\n+ - 在Docker环境中使用`host.docker.internal`访问宿主机上的服务\n \n ## 文档处理技术特点\n \n 本框架使用了多种技术来优化文档处理性能:\n@@ -91,14 +98,17 @@\n \n ### 文档智能分析\n \n 1. **大模型集成**:\n- - 使用先进的大语言模型(如GLM-4)进行文档理解\n+ - 使用先进的大语言模型(如GLM-4)进行文档理解和问答\n - 支持复杂问题的回答和内容总结\n+ - 可配置不同的API端点和模型\n \n 2. **文件处理**:\n- - 自动处理文件上传和格式转换\n+ - 支持本地文件和远程URL\n+ - 自动处理文件格式和内容提取\n - 支持多种文档格式(PDF、Word等)\n+ - 提供详细的错误处理和反馈\n \n ## 模块化工具框架\n \n 本框架采用模块化设计,便于扩展和维护:\n@@ -111,9 +121,9 @@\n │ ├── url_tool.py # URL工具实现\n │ ├── pdf_tool.py # PDF解析工具实现\n │ ├── quick_pdf_tool.py # 快速PDF预览工具实现\n │ ├── word_tool.py # Word文档解析工具实现\n-│ └── doc_analysis_tool.py # 文档智能分析工具实现\n+│ └── doc_analysis_tool.py # 大语言模型交互与文档分析工具实现\n ├── __init__.py\n ├── __main__.py\n └── server.py # MCP服务器实现\n ```\n" }, { "date": 1741529060636, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -43,27 +43,20 @@\n - **参数**: `file_path` - Word文档的本地路径\n - **返回**: 文档的文本内容(Markdown格式)、表格和图片信息\n - **特点**: 使用python-docx库提供高质量的文本和表格提取\n \n-### 4. 大语言模型交互与文档分析\n+### 4. 文档智能分析\n \n-使用`llm`工具可以通过大模型API智能分析文档内容或直接回答问题。\n+使用`doc_analysis`工具可以通过大模型API智能分析文档内容,回答关于文档的问题。\n \n-- **用法**: \n- - 文档分析: `llm /path/to/document.pdf \"文档里说了什么?\"`\n- - 远程文档: `llm https://example.com/document.pdf \"文档里说了什么?\"`\n- - 直接提问: `llm \"什么是人工智能?\"`\n-- **功能**: 使用大模型分析文档内容并回答问题,或直接回答用户提问\n+- **用法**: `doc_analysis /path/to/document.pdf \"文档里说了什么?\"`\n+- **功能**: 使用大模型分析文档内容并回答问题\n - **参数**: \n- - `file_path` - 文档的本地路径或URL(可选,如果只是提问则不需要)\n- - `question` - 关于文档的问题或直接提问\n+ - `file_path` - 文档的本地路径\n+ - `question` - 关于文档的问题\n - `model` - 使用的模型名称(可选,默认为'glm-4')\n-- **返回**: 大模型的回答或对文档内容的分析结果\n-- **特点**: \n- - 支持本地文件和远程URL\n- - 支持多种文档格式(PDF、Word等)\n- - 可配置不同的大语言模型\n- - 在Docker环境中使用`host.docker.internal`访问宿主机上的服务\n+- **返回**: 大模型对文档内容的分析结果\n+- **特点**: 利用先进的大语言模型进行深度文档理解和问答\n \n ## 文档处理技术特点\n \n 本框架使用了多种技术来优化文档处理性能:\n@@ -98,17 +91,14 @@\n \n ### 文档智能分析\n \n 1. **大模型集成**:\n- - 使用先进的大语言模型(如GLM-4)进行文档理解和问答\n+ - 使用先进的大语言模型(如GLM-4)进行文档理解\n - 支持复杂问题的回答和内容总结\n- - 可配置不同的API端点和模型\n \n 2. **文件处理**:\n- - 支持本地文件和远程URL\n- - 自动处理文件格式和内容提取\n+ - 自动处理文件上传和格式转换\n - 支持多种文档格式(PDF、Word等)\n- - 提供详细的错误处理和反馈\n \n ## 模块化工具框架\n \n 本框架采用模块化设计,便于扩展和维护:\n@@ -121,9 +111,9 @@\n │ ├── url_tool.py # URL工具实现\n │ ├── pdf_tool.py # PDF解析工具实现\n │ ├── quick_pdf_tool.py # 快速PDF预览工具实现\n │ ├── word_tool.py # Word文档解析工具实现\n-│ └── doc_analysis_tool.py # 大语言模型交互与文档分析工具实现\n+│ └── doc_analysis_tool.py # 文档智能分析工具实现\n ├── __init__.py\n ├── __main__.py\n └── server.py # MCP服务器实现\n ```\n" }, { "date": 1741529101672, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -43,20 +43,27 @@\n - **参数**: `file_path` - Word文档的本地路径\n - **返回**: 文档的文本内容(Markdown格式)、表格和图片信息\n - **特点**: 使用python-docx库提供高质量的文本和表格提取\n \n-### 4. 文档智能分析\n+### 4. 大语言模型交互与文档分析\n \n-使用`doc_analysis`工具可以通过大模型API智能分析文档内容,回答关于文档的问题。\n+使用`llm`工具可以通过大模型API智能分析文档内容或直接回答问题。\n \n-- **用法**: `doc_analysis /path/to/document.pdf \"文档里说了什么?\"`\n-- **功能**: 使用大模型分析文档内容并回答问题\n+- **用法**: \n+ - 文档分析: `llm /path/to/document.pdf \"文档里说了什么?\"`\n+ - 远程文档: `llm https://example.com/document.pdf \"文档里说了什么?\"`\n+ - 直接提问: `llm \"什么是人工智能?\"`\n+- **功能**: 使用大模型分析文档内容并回答问题,或直接回答用户提问\n - **参数**: \n- - `file_path` - 文档的本地路径\n- - `question` - 关于文档的问题\n+ - `file_path` - 文档的本地路径或URL(可选,如果只是提问则不需要)\n+ - `question` - 关于文档的问题或直接提问\n - `model` - 使用的模型名称(可选,默认为'glm-4')\n-- **返回**: 大模型对文档内容的分析结果\n-- **特点**: 利用先进的大语言模型进行深度文档理解和问答\n+- **返回**: 大模型的回答或对文档内容的分析结果\n+- **特点**: \n+ - 支持本地文件和远程URL\n+ - 支持多种文档格式(PDF、Word等)\n+ - 可配置不同的大语言模型\n+ - 在Docker环境中使用`host.docker.internal`访问宿主机上的服务\n \n ## 文档处理技术特点\n \n 本框架使用了多种技术来优化文档处理性能:\n@@ -91,14 +98,17 @@\n \n ### 文档智能分析\n \n 1. **大模型集成**:\n- - 使用先进的大语言模型(如GLM-4)进行文档理解\n+ - 使用先进的大语言模型(如GLM-4)进行文档理解和问答\n - 支持复杂问题的回答和内容总结\n+ - 可配置不同的API端点和模型\n \n 2. **文件处理**:\n- - 自动处理文件上传和格式转换\n+ - 支持本地文件和远程URL\n+ - 自动处理文件格式和内容提取\n - 支持多种文档格式(PDF、Word等)\n+ - 提供详细的错误处理和反馈\n \n ## 模块化工具框架\n \n 本框架采用模块化设计,便于扩展和维护:\n@@ -111,9 +121,9 @@\n │ ├── url_tool.py # URL工具实现\n │ ├── pdf_tool.py # PDF解析工具实现\n │ ├── quick_pdf_tool.py # 快速PDF预览工具实现\n │ ├── word_tool.py # Word文档解析工具实现\n-│ └── doc_analysis_tool.py # 文档智能分析工具实现\n+│ └── doc_analysis_tool.py # 大语言模型交互与文档分析工具实现\n ├── __init__.py\n ├── __main__.py\n └── server.py # MCP服务器实现\n ```\n" }, { "date": 1741529380959, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -43,28 +43,8 @@\n - **参数**: `file_path` - Word文档的本地路径\n - **返回**: 文档的文本内容(Markdown格式)、表格和图片信息\n - **特点**: 使用python-docx库提供高质量的文本和表格提取\n \n-### 4. 大语言模型交互与文档分析\n-\n-使用`llm`工具可以通过大模型API智能分析文档内容或直接回答问题。\n-\n-- **用法**: \n- - 文档分析: `llm /path/to/document.pdf \"文档里说了什么?\"`\n- - 远程文档: `llm https://example.com/document.pdf \"文档里说了什么?\"`\n- - 直接提问: `llm \"什么是人工智能?\"`\n-- **功能**: 使用大模型分析文档内容并回答问题,或直接回答用户提问\n-- **参数**: \n- - `file_path` - 文档的本地路径或URL(可选,如果只是提问则不需要)\n- - `question` - 关于文档的问题或直接提问\n- - `model` - 使用的模型名称(可选,默认为'glm-4')\n-- **返回**: 大模型的回答或对文档内容的分析结果\n-- **特点**: \n- - 支持本地文件和远程URL\n- - 支持多种文档格式(PDF、Word等)\n- - 可配置不同的大语言模型\n- - 在Docker环境中使用`host.docker.internal`访问宿主机上的服务\n-\n ## 文档处理技术特点\n \n 本框架使用了多种技术来优化文档处理性能:\n \n@@ -95,21 +75,8 @@\n 2. **图片信息**:\n - 提供文档中图片的数量信息\n - 图片引用关系识别\n \n-### 文档智能分析\n-\n-1. **大模型集成**:\n- - 使用先进的大语言模型(如GLM-4)进行文档理解和问答\n- - 支持复杂问题的回答和内容总结\n- - 可配置不同的API端点和模型\n-\n-2. **文件处理**:\n- - 支持本地文件和远程URL\n- - 自动处理文件格式和内容提取\n- - 支持多种文档格式(PDF、Word等)\n- - 提供详细的错误处理和反馈\n-\n ## 模块化工具框架\n \n 本框架采用模块化设计,便于扩展和维护:\n \n@@ -120,10 +87,9 @@\n │ ├── loader.py # 工具加载器,自动加载所有工具\n │ ├── url_tool.py # URL工具实现\n │ ├── pdf_tool.py # PDF解析工具实现\n │ ├── quick_pdf_tool.py # 快速PDF预览工具实现\n-│ ├── word_tool.py # Word文档解析工具实现\n-│ └── doc_analysis_tool.py # 大语言模型交互与文档分析工具实现\n+│ └── word_tool.py # Word文档解析工具实现\n ├── __init__.py\n ├── __main__.py\n └── server.py # MCP服务器实现\n ```\n@@ -305,9 +271,8 @@\n - `pymupdf4llm` - 为大语言模型优化的PDF处理\n - `pdf2image` - PDF转图像处理\n - `python-docx` - Word文档处理\n - `httpx` - 异步HTTP客户端\n-- `requests` - HTTP客户端,用于文件上传\n - `anyio` - 异步I/O支持\n - `click` - 命令行接口\n \n ## 贡献指南\n" }, { "date": 1741662873263, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,6 +1,356 @@\n # MCP开发框架\n \n+一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取、文件处理(PDF、Word、Excel)等高级功能。\n+\n+## 主要功能\n+\n+本框架提供了以下核心功能:\n+\n+### 1. 综合文件处理\n+\n+使用`file`工具可以自动识别文件类型并选择合适的处理方式,支持PDF、Word和Excel文件。\n+\n+- **用法**: `file /path/to/document`\n+- **支持格式**: \n+ - PDF文件 (.pdf)\n+ - Word文档 (.doc, .docx)\n+ - Excel文件 (.xls, .xlsx, .xlsm)\n+- **参数**: `file_path` - 文件的本地路径\n+- **返回**: 根据文件类型返回相应的处理结果\n+\n+### 2. PDF文档处理\n+\n+使用`pdf`工具可以处理PDF文档,支持两种处理模式:\n+\n+- **用法**: `pdf /path/to/document.pdf [mode]`\n+- **参数**: \n+ - `file_path` - PDF文件的本地路径\n+ - `mode` - 处理模式(可选):\n+ - `quick` - 快速预览模式,仅提取文本内容\n+ - `full` - 完整解析模式,提取文本和图片内容(默认)\n+- **返回**: \n+ - 快速预览模式:文档的文本内容\n+ - 完整解析模式:文档的文本内容和图片\n+- **特点**: \n+ - 使用PyMuPDF提供高质量的文本提取和图像处理\n+ - 自动处理大型文件\n+ - 支持图片提取和保存\n+\n+### 3. Word文档解析\n+\n+使用`word`工具可以解析Word文档,提取文本、表格和图片信息。\n+\n+- **用法**: `word /path/to/document.docx`\n+- **功能**: 解析Word文档并提取文本内容、表格和图片信息\n+- **参数**: `file_path` - Word文档的本地路径\n+- **返回**: 文档的文本内容、表格和图片信息\n+- **特点**: 使用python-docx库提供高质量的文本和表格提取\n+\n+### 4. Excel文件处理\n+\n+使用`excel`工具可以解析Excel文件,提供完整的表格数据和结构信息。\n+\n+- **用法**: `excel /path/to/spreadsheet.xlsx`\n+- **功能**: 解析Excel文件的所有工作表\n+- **参数**: `file_path` - Excel文件的本地路径\n+- **返回**: \n+ - 文件基本信息(文件名、工作表数量)\n+ - 每个工作表的详细信息:\n+ - 行数和列数\n+ - 列名列表\n+ - 完整的表格数据\n+- **特点**: \n+ - 使用pandas和openpyxl提供高质量的表格数据处理\n+ - 支持多工作表处理\n+ - 自动处理数据类型转换\n+\n+### 5. 网页内容获取\n+\n+使用`url`工具可以获取任何网页的内容。\n+\n+- **用法**: `url https://example.com`\n+- **参数**: `url` - 要获取内容的网站URL\n+- **返回**: 网页的文本内容\n+- **特点**: \n+ - 完整的HTTP错误处理\n+ - 超时管理\n+ - 自动编码处理\n+\n+## 技术特点\n+\n+本框架采用了多种技术来优化文件处理性能:\n+\n+1. **智能文件类型识别**\n+ - 自动根据文件扩展名选择合适的处理工具\n+ - 提供统一的文件处理接口\n+\n+2. **高效的文档处理**\n+ - PDF处理:支持快速预览和完整解析两种模式\n+ - Word处理:精确提取文本、表格和图片\n+ - Excel处理:高效处理大型表格数据\n+\n+3. **内存优化**\n+ - 使用临时文件管理大型文件\n+ - 自动清理临时资源\n+ - 分块处理大型文档\n+\n+4. **错误处理**\n+ - 完整的异常捕获和处理\n+ - 详细的错误信息反馈\n+ - 优雅的失败处理机制\n+\n+## 文档处理技术特点\n+\n+本框架使用了多种技术来优化文档处理性能:\n+\n+### PDF处理\n+\n+1. **多层次处理策略**:\n+\n+ - 首先尝试使用PyMuPDF(fitz)提取内容(速度快、准确度高)\n+ - 如果失败,回退到PymuPDF4llm(专为大语言模型优化)\n+ - 最后尝试PyPDF2作为最终备用方案\n+2. **性能优化**:\n+\n+ - 限制处理的最大页数(完整模式: 30页,快速模式: 50页)\n+ - 图片处理优化(DPI调整、大小限制)\n+ - 多线程处理加速\n+3. **错误处理**:\n+\n+ - 详细的错误信息和提示\n+ - 备用处理方法,确保服务稳定性\n+ - 超时保护机制(5分钟超时设置)\n+\n+### Word文档处理\n+\n+1. **文档结构解析**:\n+\n+ - 提取文档属性(标题、作者、创建时间等)\n+ - 段落内容提取,保留原始格式\n+ - 表格转换为Markdown格式\n+2. **图片信息**:\n+\n+ - 提供文档中图片的数量信息\n+ - 图片引用关系识别\n+\n+## 模块化工具框架\n+\n+本框架采用模块化设计,便于扩展和维护:\n+\n+```\n+mcp_simple_tool/\n+├── tools/\n+│ ├── __init__.py # 定义工具基类和注册器\n+│ ├── loader.py # 工具加载器,自动加载所有工具\n+│ ├── url_tool.py # URL工具实现\n+│ ├── pdf_tool.py # PDF解析工具实现\n+│ ├── quick_pdf_tool.py # 快速PDF预览工具实现\n+│ └── word_tool.py # Word文档解析工具实现\n+├── __init__.py\n+├── __main__.py\n+└── server.py # MCP服务器实现\n+```\n+\n+### 框架特点\n+\n+1. **自动工具发现**:\n+\n+ - 工具加载器自动发现和加载所有工具\n+ - 无需手动注册,只需创建新工具文件\n+2. **统一接口**:\n+\n+ - 所有工具继承自`BaseTool`基类\n+ - 标准化的输入和输出格式\n+3. **简单扩展**:\n+\n+ - 只需创建新的工具类并使用`@ToolRegistry.register`装饰器\n+ - 框架自动处理工具的注册和调用\n+\n+## 如何开发新工具\n+\n+1. 在`tools`目录下创建一个新的Python文件,如`your_tool.py`\n+2. 导入必要的依赖和基类\n+3. 创建一个继承自`BaseTool`的工具类\n+4. 使用`@ToolRegistry.register`装饰器注册工具\n+5. 实现工具的`execute`方法\n+\n+### 工具模板示例\n+\n+```python\n+import mcp.types as types\n+from . import BaseTool, ToolRegistry\n+\n+@ToolRegistry.register\n+class YourTool(BaseTool):\n+ \"\"\"您的工具描述\"\"\"\n+ name = \"your_tool_name\" # 工具的唯一标识符\n+ description = \"您的工具描述\" # 工具的描述信息,将显示给用户\n+ input_schema = {\n+ \"type\": \"object\",\n+ \"required\": [\"param1\"], # 必需的参数\n+ \"properties\": {\n+ \"param1\": {\n+ \"type\": \"string\",\n+ \"description\": \"参数1的描述\",\n+ },\n+ \"param2\": {\n+ \"type\": \"integer\",\n+ \"description\": \"参数2的描述(可选)\",\n+ }\n+ },\n+ }\n+ \n+ async def execute(self, arguments: dict) -> list[types.TextContent | types.ImageContent | types.EmbeddedResource]:\n+ \"\"\"执行工具逻辑\"\"\"\n+ # 参数验证\n+ if \"param1\" not in arguments:\n+ return [types.TextContent(\n+ type=\"text\",\n+ text=\"Error: Missing required argument 'param1'\"\n+ )]\n+ \n+ # 获取参数\n+ param1 = arguments[\"param1\"]\n+ param2 = arguments.get(\"param2\", 0) # 获取可选参数,提供默认值\n+ \n+ # 执行工具逻辑\n+ result = f\"处理参数: {param1}, {param2}\"\n+ \n+ # 返回结果\n+ return [types.TextContent(\n+ type=\"text\",\n+ text=result\n+ )]\n+```\n+\n+## 部署方式\n+\n+您可以通过以下方式部署和使用本框架:\n+\n+### Docker部署(推荐)\n+\n+该项目包括Docker支持,便于部署:\n+\n+1. 初始设置:\n+\n+```bash\n+# 克隆仓库\n+git clone https://github.com/your-username/mcp-development-framework.git\n+cd mcp-development-framework\n+\n+# 创建环境文件\n+cp .env.example .env\n+```\n+\n+2. 使用Docker Compose构建并运行:\n+\n+```bash\n+# 构建并启动服务器\n+docker compose up --build -d\n+\n+# 查看日志\n+docker compose logs -f\n+\n+# 检查服务器状态\n+docker compose ps\n+\n+# 暂停容器(不删除)\n+docker compose pause\n+\n+# 恢复已暂停的容器\n+docker compose unpause\n+\n+# 停止服务器\n+docker compose down\n+```\n+\n+3. 服务器将可以在以下地址访问:\n+\n+ - SSE端点: http://localhost:8000/sse\n+4. 连接到Cursor IDE:\n+\n+ - 打开Cursor设置 → 功能\n+ - 添加新的MCP服务器\n+ - 类型: 选择\"sse\"\n+ - URL: 输入`http://localhost:8000/sse`\n+5. 访问本地文件:\n+\n+ - 默认情况下,Docker容器无法访问主机(您的电脑)上的文件\n+ - 在`docker-compose.yml`文件中配置卷挂载,将本地目录挂载到容器内\n+ - 例如,如果挂载了`/Users/username/Documents`到`/host_docs`,则使用`/host_docs/file.pdf`访问文件\n+\n+### 传统Python部署\n+\n+首先,安装uv包管理器和系统依赖:\n+\n+```bash\n+# 安装uv\n+pip install uv\n+\n+# 安装PDF处理的系统依赖\n+# 在Ubuntu/Debian上\n+sudo apt-get install poppler-utils\n+# 在macOS上\n+brew install poppler\n+# 在Windows上\n+# 从http://blog.alivate.com.au/poppler-windows/下载并安装poppler\n+# 并将bin目录添加到您的PATH中\n+```\n+\n+然后安装和运行服务器:\n+\n+```bash\n+# 安装开发依赖的包\n+uv pip install -e \".[dev]\"\n+\n+# 使用stdio传输(默认)\n+uv run mcp-simple-tool\n+\n+# 使用自定义端口的SSE传输\n+uv run mcp-simple-tool --transport sse --port 8000\n+\n+# 运行测试\n+uv run pytest -v\n+```\n+\n+## 环境变量配置\n+\n+可用的环境变量(可以在`.env`中设置):\n+\n+- `MCP_SERVER_PORT`(默认: 8000) - 服务器运行的端口\n+- `MCP_SERVER_HOST`(默认: 0.0.0.0) - 绑定服务器的主机\n+- `DEBUG`(默认: false) - 启用调试模式\n+- `MCP_USER_AGENT` - 网站抓取的自定义User-Agent\n+\n+## 依赖项\n+\n+本项目使用以下主要依赖:\n+\n+- `mcp` - Model Context Protocol实现\n+- `PyPDF2` - PDF文档处理\n+- `PyMuPDF` - 高性能PDF文档处理\n+- `pymupdf4llm` - 为大语言模型优化的PDF处理\n+- `pdf2image` - PDF转图像处理\n+- `python-docx` - Word文档处理\n+- `httpx` - 异步HTTP客户端\n+- `anyio` - 异步I/O支持\n+- `click` - 命令行接口\n+\n+## 贡献指南\n+\n+欢迎贡献!请遵循以下步骤:\n+\n+1. Fork仓库\n+2. 创建功能分支 (`git checkout -b feature/amazing-feature`)\n+3. 提交更改 (`git commit -m 'Add some amazing feature'`)\n+4. 推送到分支 (`git push origin feature/amazing-feature`)\n+5. 打开Pull Request\n+\n+## 许可证\n+\n+本项目采用MIT许可证 - 详情请参阅[LICENSE](LICENSE)文件。\n+\n 一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取、PDF文档处理和Word文档解析等高级功能。\n \n ## 主要功能\n \n@@ -50,30 +400,32 @@\n \n ### PDF处理\n \n 1. **多层次处理策略**:\n+\n - 首先尝试使用PyMuPDF(fitz)提取内容(速度快、准确度高)\n - 如果失败,回退到PymuPDF4llm(专为大语言模型优化)\n - 最后尝试PyPDF2作为最终备用方案\n+2. **性能优化**:\n \n-2. **性能优化**:\n - 限制处理的最大页数(完整模式: 30页,快速模式: 50页)\n - 图片处理优化(DPI调整、大小限制)\n - 多线程处理加速\n+3. **错误处理**:\n \n-3. **错误处理**:\n - 详细的错误信息和提示\n - 备用处理方法,确保服务稳定性\n - 超时保护机制(5分钟超时设置)\n \n ### Word文档处理\n \n 1. **文档结构解析**:\n+\n - 提取文档属性(标题、作者、创建时间等)\n - 段落内容提取,保留原始格式\n - 表格转换为Markdown格式\n+2. **图片信息**:\n \n-2. **图片信息**:\n - 提供文档中图片的数量信息\n - 图片引用关系识别\n \n ## 模块化工具框架\n@@ -96,16 +448,17 @@\n \n ### 框架特点\n \n 1. **自动工具发现**:\n+\n - 工具加载器自动发现和加载所有工具\n - 无需手动注册,只需创建新工具文件\n+2. **统一接口**:\n \n-2. **统一接口**:\n - 所有工具继承自`BaseTool`基类\n - 标准化的输入和输出格式\n+3. **简单扩展**:\n \n-3. **简单扩展**:\n - 只需创建新的工具类并使用`@ToolRegistry.register`装饰器\n - 框架自动处理工具的注册和调用\n \n ## 如何开发新工具\n@@ -140,25 +493,25 @@\n \"description\": \"参数2的描述(可选)\",\n }\n },\n }\n- \n+ \n async def execute(self, arguments: dict) -> list[types.TextContent | types.ImageContent | types.EmbeddedResource]:\n \"\"\"执行工具逻辑\"\"\"\n # 参数验证\n if \"param1\" not in arguments:\n return [types.TextContent(\n type=\"text\",\n text=\"Error: Missing required argument 'param1'\"\n )]\n- \n+ \n # 获取参数\n param1 = arguments[\"param1\"]\n param2 = arguments.get(\"param2\", 0) # 获取可选参数,提供默认值\n- \n+ \n # 执行工具逻辑\n result = f\"处理参数: {param1}, {param2}\"\n- \n+ \n # 返回结果\n return [types.TextContent(\n type=\"text\",\n text=result\n@@ -173,8 +526,9 @@\n \n 该项目包括Docker支持,便于部署:\n \n 1. 初始设置:\n+\n ```bash\n # 克隆仓库\n git clone https://github.com/your-username/mcp-development-framework.git\n cd mcp-development-framework\n@@ -183,8 +537,9 @@\n cp .env.example .env\n ```\n \n 2. 使用Docker Compose构建并运行:\n+\n ```bash\n # 构建并启动服务器\n docker compose up --build -d\n \n@@ -204,17 +559,18 @@\n docker compose down\n ```\n \n 3. 服务器将可以在以下地址访问:\n+\n - SSE端点: http://localhost:8000/sse\n+4. 连接到Cursor IDE:\n \n-4. 连接到Cursor IDE:\n - 打开Cursor设置 → 功能\n - 添加新的MCP服务器\n - 类型: 选择\"sse\"\n - URL: 输入`http://localhost:8000/sse`\n+5. 访问本地文件:\n \n-5. 访问本地文件:\n - 默认情况下,Docker容器无法访问主机(您的电脑)上的文件\n - 在`docker-compose.yml`文件中配置卷挂载,将本地目录挂载到容器内\n - 例如,如果挂载了`/Users/username/Documents`到`/host_docs`,则使用`/host_docs/file.pdf`访问文件\n \n@@ -287,5 +643,4 @@\n \n ## 许可证\n \n 本项目采用MIT许可证 - 详情请参阅[LICENSE](LICENSE)文件。\n-\n" }, { "date": 1741663164074, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -137,9 +137,9 @@\n \n 本框架采用模块化设计,便于扩展和维护:\n \n ```\n-mcp_simple_tool/\n+mcp_tool/\n ├── tools/\n │ ├── __init__.py # 定义工具基类和注册器\n │ ├── loader.py # 工具加载器,自动加载所有工具\n │ ├── url_tool.py # URL工具实现\n" }, { "date": 1741663209532, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -98,77 +98,61 @@\n - 完整的异常捕获和处理\n - 详细的错误信息反馈\n - 优雅的失败处理机制\n \n-## 文档处理技术特点\n+## 文档处理技术细节\n \n-本框架使用了多种技术来优化文档处理性能:\n-\n ### PDF处理\n \n 1. **多层次处理策略**:\n-\n - 首先尝试使用PyMuPDF(fitz)提取内容(速度快、准确度高)\n - 如果失败,回退到PymuPDF4llm(专为大语言模型优化)\n - 最后尝试PyPDF2作为最终备用方案\n+\n 2. **性能优化**:\n-\n - 限制处理的最大页数(完整模式: 30页,快速模式: 50页)\n - 图片处理优化(DPI调整、大小限制)\n - 多线程处理加速\n+\n 3. **错误处理**:\n-\n - 详细的错误信息和提示\n - 备用处理方法,确保服务稳定性\n - 超时保护机制(5分钟超时设置)\n \n ### Word文档处理\n \n 1. **文档结构解析**:\n-\n - 提取文档属性(标题、作者、创建时间等)\n - 段落内容提取,保留原始格式\n - 表格转换为Markdown格式\n+\n 2. **图片信息**:\n-\n - 提供文档中图片的数量信息\n - 图片引用关系识别\n \n-## 模块化工具框架\n+## 项目结构\n \n 本框架采用模块化设计,便于扩展和维护:\n \n ```\n mcp_tool/\n ├── tools/\n │ ├── __init__.py # 定义工具基类和注册器\n │ ├── loader.py # 工具加载器,自动加载所有工具\n-│ ├── url_tool.py # URL工具实现\n-│ ├── pdf_tool.py # PDF解析工具实现\n-│ ├── quick_pdf_tool.py # 快速PDF预览工具实现\n-│ └── word_tool.py # Word文档解析工具实现\n+│ ├── file_tool.py # 综合文件处理工具\n+│ ├── pdf_tool.py # PDF解析工具\n+│ ├── word_tool.py # Word文档解析工具\n+│ ├── excel_tool.py # Excel文件处理工具\n+│ └── url_tool.py # URL工具实现\n ├── __init__.py\n ├── __main__.py\n └── server.py # MCP服务器实现\n ```\n \n-### 框架特点\n+## 开发指南\n \n-1. **自动工具发现**:\n+### 如何开发新工具\n \n- - 工具加载器自动发现和加载所有工具\n- - 无需手动注册,只需创建新工具文件\n-2. **统一接口**:\n-\n- - 所有工具继承自`BaseTool`基类\n- - 标准化的输入和输出格式\n-3. **简单扩展**:\n-\n- - 只需创建新的工具类并使用`@ToolRegistry.register`装饰器\n- - 框架自动处理工具的注册和调用\n-\n-## 如何开发新工具\n-\n 1. 在`tools`目录下创建一个新的Python文件,如`your_tool.py`\n 2. 导入必要的依赖和基类\n 3. 创建一个继承自`BaseTool`的工具类\n 4. 使用`@ToolRegistry.register`装饰器注册工具\n@@ -222,420 +206,92 @@\n text=result\n )]\n ```\n \n-## 部署方式\n+## 部署指南\n \n-您可以通过以下方式部署和使用本框架:\n-\n ### Docker部署(推荐)\n \n-该项目包括Docker支持,便于部署:\n-\n 1. 初始设置:\n-\n ```bash\n # 克隆仓库\n-git clone https://github.com/your-username/mcp-development-framework.git\n-cd mcp-development-framework\n+git clone https://github.com/your-username/mcp-framework.git\n+cd mcp-framework\n \n # 创建环境文件\n cp .env.example .env\n ```\n \n-2. 使用Docker Compose构建并运行:\n-\n+2. 使用Docker Compose:\n ```bash\n-# 构建并启动服务器\n+# 构建并启动\n docker compose up --build -d\n \n # 查看日志\n docker compose logs -f\n \n-# 检查服务器状态\n+# 管理容器\n docker compose ps\n-\n-# 暂停容器(不删除)\n docker compose pause\n-\n-# 恢复已暂停的容器\n docker compose unpause\n-\n-# 停止服务器\n docker compose down\n ```\n \n-3. 服务器将可以在以下地址访问:\n+3. 访问服务:\n+- SSE端点: http://localhost:8000/sse\n \n- - SSE端点: http://localhost:8000/sse\n-4. 连接到Cursor IDE:\n+4. Cursor IDE配置:\n+- 设置 → 功能 → 添加MCP服务器\n+- 类型: \"sse\"\n+- URL: `http://localhost:8000/sse`\n \n- - 打开Cursor设置 → 功能\n- - 添加新的MCP服务器\n- - 类型: 选择\"sse\"\n- - URL: 输入`http://localhost:8000/sse`\n-5. 访问本地文件:\n-\n- - 默认情况下,Docker容器无法访问主机(您的电脑)上的文件\n- - 在`docker-compose.yml`文件中配置卷挂载,将本地目录挂载到容器内\n- - 例如,如果挂载了`/Users/username/Documents`到`/host_docs`,则使用`/host_docs/file.pdf`访问文件\n-\n ### 传统Python部署\n \n-首先,安装uv包管理器和系统依赖:\n-\n+1. 安装依赖:\n ```bash\n # 安装uv\n pip install uv\n \n-# 安装PDF处理的系统依赖\n-# 在Ubuntu/Debian上\n+# 安装系统依赖\n+# Ubuntu/Debian\n sudo apt-get install poppler-utils\n-# 在macOS上\n+# macOS\n brew install poppler\n-# 在Windows上\n-# 从http://blog.alivate.com.au/poppler-windows/下载并安装poppler\n-# 并将bin目录添加到您的PATH中\n ```\n \n-然后安装和运行服务器:\n-\n+2. 运行服务器:\n ```bash\n-# 安装开发依赖的包\n+# 安装项目依赖\n uv pip install -e \".[dev]\"\n \n-# 使用stdio传输(默认)\n-uv run mcp-simple-tool\n-\n-# 使用自定义端口的SSE传输\n-uv run mcp-simple-tool --transport sse --port 8000\n-\n-# 运行测试\n-uv run pytest -v\n+# 启动服务器\n+uv run mcp-tool --transport sse --port 8000\n ```\n \n-## 环境变量配置\n+## 配置\n \n-可用的环境变量(可以在`.env`中设置):\n+### 环境变量\n \n-- `MCP_SERVER_PORT`(默认: 8000) - 服务器运行的端口\n-- `MCP_SERVER_HOST`(默认: 0.0.0.0) - 绑定服务器的主机\n-- `DEBUG`(默认: false) - 启用调试模式\n-- `MCP_USER_AGENT` - 网站抓取的自定义User-Agent\n+在`.env`文件中配置:\n \n-## 依赖项\n+- `MCP_SERVER_PORT`: 服务器端口(默认: 8000)\n+- `MCP_SERVER_HOST`: 绑定地址(默认: 0.0.0.0)\n+- `DEBUG`: 调试模式(默认: false)\n+- `MCP_USER_AGENT`: 自定义User-Agent\n \n-本项目使用以下主要依赖:\n-\n-- `mcp` - Model Context Protocol实现\n-- `PyPDF2` - PDF文档处理\n-- `PyMuPDF` - 高性能PDF文档处理\n-- `pymupdf4llm` - 为大语言模型优化的PDF处理\n-- `pdf2image` - PDF转图像处理\n-- `python-docx` - Word文档处理\n-- `httpx` - 异步HTTP客户端\n-- `anyio` - 异步I/O支持\n-- `click` - 命令行接口\n-\n-## 贡献指南\n-\n-欢迎贡献!请遵循以下步骤:\n-\n-1. Fork仓库\n-2. 创建功能分支 (`git checkout -b feature/amazing-feature`)\n-3. 提交更改 (`git commit -m 'Add some amazing feature'`)\n-4. 推送到分支 (`git push origin feature/amazing-feature`)\n-5. 打开Pull Request\n-\n-## 许可证\n-\n-本项目采用MIT许可证 - 详情请参阅[LICENSE](LICENSE)文件。\n-\n-一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取、PDF文档处理和Word文档解析等高级功能。\n-\n-## 主要功能\n-\n-本框架提供了以下核心功能:\n-\n-### 1. 网页内容获取\n-\n-使用`url`工具可以获取任何网页的内容,支持完整的HTTP错误处理和超时管理。\n-\n-- **用法**: `url https://example.com`\n-- **参数**: `url` - 要获取内容的网站URL\n-- **返回**: 网页的文本内容\n-\n-### 2. PDF文档处理\n-\n-框架提供了两种PDF处理工具,满足不同场景的需求:\n-\n-#### 完整PDF解析 (file)\n-\n-- **用法**: `file /path/to/document.pdf`\n-- **功能**: 解析PDF文档并提取文本和图片内容\n-- **参数**: `file_path` - PDF文件的本地路径\n-- **返回**: 文档的文本内容(Markdown格式)和图片信息\n-- **特点**: 使用PymuPDF4llm库提供高质量的文本提取和图像处理\n-\n-#### 快速PDF预览 (quick_pdf)\n-\n-- **用法**: `quick_pdf /path/to/document.pdf`\n-- **功能**: 快速预览PDF文档内容(仅提取文本)\n-- **参数**: `file_path` - PDF文件的本地路径\n-- **返回**: 文档的文本内容(Markdown格式)\n-- **适用场景**: 大型PDF文件或只需要文本内容时\n-\n-### 3. Word文档解析\n-\n-使用`word`工具可以解析Word文档(.docx和.doc格式),提取文本内容、表格和图片信息。\n-\n-- **用法**: `word /path/to/document.docx`\n-- **功能**: 解析Word文档并提取文本内容、表格和图片信息\n-- **参数**: `file_path` - Word文档的本地路径\n-- **返回**: 文档的文本内容(Markdown格式)、表格和图片信息\n-- **特点**: 使用python-docx库提供高质量的文本和表格提取\n-\n-## 文档处理技术特点\n-\n-本框架使用了多种技术来优化文档处理性能:\n-\n-### PDF处理\n-\n-1. **多层次处理策略**:\n-\n- - 首先尝试使用PyMuPDF(fitz)提取内容(速度快、准确度高)\n- - 如果失败,回退到PymuPDF4llm(专为大语言模型优化)\n- - 最后尝试PyPDF2作为最终备用方案\n-2. **性能优化**:\n-\n- - 限制处理的最大页数(完整模式: 30页,快速模式: 50页)\n- - 图片处理优化(DPI调整、大小限制)\n- - 多线程处理加速\n-3. **错误处理**:\n-\n- - 详细的错误信息和提示\n- - 备用处理方法,确保服务稳定性\n- - 超时保护机制(5分钟超时设置)\n-\n-### Word文档处理\n-\n-1. **文档结构解析**:\n-\n- - 提取文档属性(标题、作者、创建时间等)\n- - 段落内容提取,保留原始格式\n- - 表格转换为Markdown格式\n-2. **图片信息**:\n-\n- - 提供文档中图片的数量信息\n- - 图片引用关系识别\n-\n-## 模块化工具框架\n-\n-本框架采用模块化设计,便于扩展和维护:\n-\n-```\n-mcp_simple_tool/\n-├── tools/\n-│ ├── __init__.py # 定义工具基类和注册器\n-│ ├── loader.py # 工具加载器,自动加载所有工具\n-│ ├── url_tool.py # URL工具实现\n-│ ├── pdf_tool.py # PDF解析工具实现\n-│ ├── quick_pdf_tool.py # 快速PDF预览工具实现\n-│ └── word_tool.py # Word文档解析工具实现\n-├── __init__.py\n-├── __main__.py\n-└── server.py # MCP服务器实现\n-```\n-\n-### 框架特点\n-\n-1. **自动工具发现**:\n-\n- - 工具加载器自动发现和加载所有工具\n- - 无需手动注册,只需创建新工具文件\n-2. **统一接口**:\n-\n- - 所有工具继承自`BaseTool`基类\n- - 标准化的输入和输出格式\n-3. **简单扩展**:\n-\n- - 只需创建新的工具类并使用`@ToolRegistry.register`装饰器\n- - 框架自动处理工具的注册和调用\n-\n-## 如何开发新工具\n-\n-1. 在`tools`目录下创建一个新的Python文件,如`your_tool.py`\n-2. 导入必要的依赖和基类\n-3. 创建一个继承自`BaseTool`的工具类\n-4. 使用`@ToolRegistry.register`装饰器注册工具\n-5. 实现工具的`execute`方法\n-\n-### 工具模板示例\n-\n-```python\n-import mcp.types as types\n-from . import BaseTool, ToolRegistry\n-\n-@ToolRegistry.register\n-class YourTool(BaseTool):\n- \"\"\"您的工具描述\"\"\"\n- name = \"your_tool_name\" # 工具的唯一标识符\n- description = \"您的工具描述\" # 工具的描述信息,将显示给用户\n- input_schema = {\n- \"type\": \"object\",\n- \"required\": [\"param1\"], # 必需的参数\n- \"properties\": {\n- \"param1\": {\n- \"type\": \"string\",\n- \"description\": \"参数1的描述\",\n- },\n- \"param2\": {\n- \"type\": \"integer\",\n- \"description\": \"参数2的描述(可选)\",\n- }\n- },\n- }\n- \n- async def execute(self, arguments: dict) -> list[types.TextContent | types.ImageContent | types.EmbeddedResource]:\n- \"\"\"执行工具逻辑\"\"\"\n- # 参数验证\n- if \"param1\" not in arguments:\n- return [types.TextContent(\n- type=\"text\",\n- text=\"Error: Missing required argument 'param1'\"\n- )]\n- \n- # 获取参数\n- param1 = arguments[\"param1\"]\n- param2 = arguments.get(\"param2\", 0) # 获取可选参数,提供默认值\n- \n- # 执行工具逻辑\n- result = f\"处理参数: {param1}, {param2}\"\n- \n- # 返回结果\n- return [types.TextContent(\n- type=\"text\",\n- text=result\n- )]\n-```\n-\n-## 部署方式\n-\n-您可以通过以下方式部署和使用本框架:\n-\n-### Docker部署(推荐)\n-\n-该项目包括Docker支持,便于部署:\n-\n-1. 初始设置:\n-\n-```bash\n-# 克隆仓库\n-git clone https://github.com/your-username/mcp-development-framework.git\n-cd mcp-development-framework\n-\n-# 创建环境文件\n-cp .env.example .env\n-```\n-\n-2. 使用Docker Compose构建并运行:\n-\n-```bash\n-# 构建并启动服务器\n-docker compose up --build -d\n-\n-# 查看日志\n-docker compose logs -f\n-\n-# 检查服务器状态\n-docker compose ps\n-\n-# 暂停容器(不删除)\n-docker compose pause\n-\n-# 恢复已暂停的容器\n-docker compose unpause\n-\n-# 停止服务器\n-docker compose down\n-```\n-\n-3. 服务器将可以在以下地址访问:\n-\n- - SSE端点: http://localhost:8000/sse\n-4. 连接到Cursor IDE:\n-\n- - 打开Cursor设置 → 功能\n- - 添加新的MCP服务器\n- - 类型: 选择\"sse\"\n- - URL: 输入`http://localhost:8000/sse`\n-5. 访问本地文件:\n-\n- - 默认情况下,Docker容器无法访问主机(您的电脑)上的文件\n- - 在`docker-compose.yml`文件中配置卷挂载,将本地目录挂载到容器内\n- - 例如,如果挂载了`/Users/username/Documents`到`/host_docs`,则使用`/host_docs/file.pdf`访问文件\n-\n-### 传统Python部署\n-\n-首先,安装uv包管理器和系统依赖:\n-\n-```bash\n-# 安装uv\n-pip install uv\n-\n-# 安装PDF处理的系统依赖\n-# 在Ubuntu/Debian上\n-sudo apt-get install poppler-utils\n-# 在macOS上\n-brew install poppler\n-# 在Windows上\n-# 从http://blog.alivate.com.au/poppler-windows/下载并安装poppler\n-# 并将bin目录添加到您的PATH中\n-```\n-\n-然后安装和运行服务器:\n-\n-```bash\n-# 安装开发依赖的包\n-uv pip install -e \".[dev]\"\n-\n-# 使用stdio传输(默认)\n-uv run mcp-simple-tool\n-\n-# 使用自定义端口的SSE传输\n-uv run mcp-simple-tool --transport sse --port 8000\n-\n-# 运行测试\n-uv run pytest -v\n-```\n-\n-## 环境变量配置\n-\n-可用的环境变量(可以在`.env`中设置):\n-\n-- `MCP_SERVER_PORT`(默认: 8000) - 服务器运行的端口\n-- `MCP_SERVER_HOST`(默认: 0.0.0.0) - 绑定服务器的主机\n-- `DEBUG`(默认: false) - 启用调试模式\n-- `MCP_USER_AGENT` - 网站抓取的自定义User-Agent\n-\n ## 依赖项\n \n-本项目使用以下主要依赖:\n+主要依赖:\n+- `mcp`: Model Context Protocol实现\n+- `PyMuPDF`: PDF文档处理\n+- `python-docx`: Word文档处理\n+- `pandas`和`openpyxl`: Excel文件处理\n+- `httpx`: 异步HTTP客户端\n+- `anyio`: 异步I/O支持\n+- `click`: 命令行接口\n \n-- `mcp` - Model Context Protocol实现\n-- `PyPDF2` - PDF文档处理\n-- `PyMuPDF` - 高性能PDF文档处理\n-- `pymupdf4llm` - 为大语言模型优化的PDF处理\n-- `pdf2image` - PDF转图像处理\n-- `python-docx` - Word文档处理\n-- `httpx` - 异步HTTP客户端\n-- `anyio` - 异步I/O支持\n-- `click` - 命令行接口\n-\n ## 贡献指南\n \n-欢迎贡献!请遵循以下步骤:\n-\n 1. Fork仓库\n 2. 创建功能分支 (`git checkout -b feature/amazing-feature`)\n 3. 提交更改 (`git commit -m 'Add some amazing feature'`)\n 4. 推送到分支 (`git push origin feature/amazing-feature`)\n" }, { "date": 1741663617494, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,5 +1,6 @@\n # MCP开发框架\n+[![smithery badge](https://smithery.ai/badge/@aigo666/mcp-framework)](https://smithery.ai/server/@aigo666/mcp-framework)\n \n 一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取、文件处理(PDF、Word、Excel)等高级功能。\n \n ## 主要功能\n@@ -247,56 +248,32 @@\n ### 传统Python部署\n \n 1. 安装依赖:\n ```bash\n-# 安装uv\n-pip install uv\n+# 创建虚拟环境\n+python -m venv venv\n+source venv/bin/activate # Linux/Mac\n+# 或\n+.\\venv\\Scripts\\activate # Windows\n \n-# 安装系统依赖\n-# Ubuntu/Debian\n-sudo apt-get install poppler-utils\n-# macOS\n-brew install poppler\n+# 安装依赖\n+pip install -r requirements.txt\n ```\n \n-2. 运行服务器:\n+2. 启动服务:\n ```bash\n-# 安装项目依赖\n-uv pip install -e \".[dev]\"\n-\n-# 启动服务器\n-uv run mcp-tool --transport sse --port 8000\n+python -m mcp_tool\n ```\n \n-## 配置\n+## 贡献指南\n \n-### 环境变量\n+欢迎提交Pull Request来改进这个项目。在提交PR之前,请确保:\n \n-在`.env`文件中配置:\n+1. 代码符合PEP 8规范\n+2. 添加了适当的测试用例\n+3. 更新了相关文档\n+4. 所有测试都能通过\n \n-- `MCP_SERVER_PORT`: 服务器端口(默认: 8000)\n-- `MCP_SERVER_HOST`: 绑定地址(默认: 0.0.0.0)\n-- `DEBUG`: 调试模式(默认: false)\n-- `MCP_USER_AGENT`: 自定义User-Agent\n+## 许可证\n \n-## 依赖项\n+本项目采用MIT许可证。详见[LICENSE](LICENSE)文件。\n \n-主要依赖:\n-- `mcp`: Model Context Protocol实现\n-- `PyMuPDF`: PDF文档处理\n-- `python-docx`: Word文档处理\n-- `pandas`和`openpyxl`: Excel文件处理\n-- `httpx`: 异步HTTP客户端\n-- `anyio`: 异步I/O支持\n-- `click`: 命令行接口\n-\n-## 贡献指南\n-\n-1. Fork仓库\n-2. 创建功能分支 (`git checkout -b feature/amazing-feature`)\n-3. 提交更改 (`git commit -m 'Add some amazing feature'`)\n-4. 推送到分支 (`git push origin feature/amazing-feature`)\n-5. 打开Pull Request\n-\n-## 许可证\n-\n-本项目采用MIT许可证 - 详情请参阅[LICENSE](LICENSE)文件。\n" }, { "date": 1741663714310, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -248,32 +248,57 @@\n ### 传统Python部署\n \n 1. 安装依赖:\n ```bash\n-# 创建虚拟环境\n-python -m venv venv\n-source venv/bin/activate # Linux/Mac\n-# 或\n-.\\venv\\Scripts\\activate # Windows\n+# 安装uv\n+pip install uv\n \n-# 安装依赖\n-pip install -r requirements.txt\n+# 安装系统依赖\n+# Ubuntu/Debian\n+sudo apt-get install poppler-utils\n+# macOS\n+brew install poppler\n ```\n \n-2. 启动服务:\n+2. 运行服务器:\n ```bash\n-python -m mcp_tool\n+# 安装项目依赖\n+uv pip install -e \".[dev]\"\n+\n+# 启动服务器\n+uv run mcp-tool --transport sse --port 8000\n ```\n \n+## 配置\n+\n+### 环境变量\n+\n+在`.env`文件中配置:\n+\n+- `MCP_SERVER_PORT`: 服务器端口(默认: 8000)\n+- `MCP_SERVER_HOST`: 绑定地址(默认: 0.0.0.0)\n+- `DEBUG`: 调试模式(默认: false)\n+- `MCP_USER_AGENT`: 自定义User-Agent\n+\n+## 依赖项\n+\n+主要依赖:\n+- `mcp`: Model Context Protocol实现\n+- `PyMuPDF`: PDF文档处理\n+- `python-docx`: Word文档处理\n+- `pandas`和`openpyxl`: Excel文件处理\n+- `httpx`: 异步HTTP客户端\n+- `anyio`: 异步I/O支持\n+- `click`: 命令行接口\n+\n ## 贡献指南\n \n-欢迎提交Pull Request来改进这个项目。在提交PR之前,请确保:\n+1. Fork仓库\n+2. 创建功能分支 (`git checkout -b feature/amazing-feature`)\n+3. 提交更改 (`git commit -m 'Add some amazing feature'`)\n+4. 推送到分支 (`git push origin feature/amazing-feature`)\n+5. 打开Pull Request\n \n-1. 代码符合PEP 8规范\n-2. 添加了适当的测试用例\n-3. 更新了相关文档\n-4. 所有测试都能通过\n-\n ## 许可证\n \n-本项目采用MIT许可证。详见[LICENSE](LICENSE)文件。\n+本项目采用MIT许可证 - 详情请参阅[LICENSE](LICENSE)文件。\n \n" }, { "date": 1741665139304, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -246,29 +246,39 @@\n - URL: `http://localhost:8000/sse`\n \n ### 传统Python部署\n \n-1. 安装依赖:\n+1. 安装系统依赖:\n ```bash\n-# 安装uv\n-pip install uv\n+# Ubuntu/Debian\n+sudo apt-get update\n+sudo apt-get install -y poppler-utils tesseract-ocr tesseract-ocr-chi-sim\n \n-# 安装系统依赖\n-# Ubuntu/Debian\n-sudo apt-get install poppler-utils\n # macOS\n-brew install poppler\n+brew install poppler tesseract tesseract-lang\n+\n+# Windows\n+# 1. 下载并安装Tesseract: https://github.com/UB-Mannheim/tesseract/wiki\n+# 2. 将Tesseract添加到系统PATH\n ```\n \n-2. 运行服务器:\n+2. 安装Python依赖:\n ```bash\n-# 安装项目依赖\n-uv pip install -e \".[dev]\"\n+# 创建虚拟环境\n+python -m venv venv\n+source venv/bin/activate # Linux/Mac\n+# 或\n+.\\venv\\Scripts\\activate # Windows\n \n-# 启动服务器\n-uv run mcp-tool --transport sse --port 8000\n+# 安装依赖\n+pip install -r requirements.txt\n ```\n \n+3. 启动服务:\n+```bash\n+python -m mcp_tool\n+```\n+\n ## 配置\n \n ### 环境变量\n \n" }, { "date": 1741763742283, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -237,9 +237,9 @@\n docker compose down\n ```\n \n 3. 访问服务:\n-- SSE端点: http://localhost:8000/sse\n+ - SSE端点: http://localhost:8000/sse\n \n 4. Cursor IDE配置:\n - 设置 → 功能 → 添加MCP服务器\n - 类型: \"sse\"\n" }, { "date": 1741780606685, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,15 +1,33 @@\n # MCP开发框架\n [![smithery badge](https://smithery.ai/badge/@aigo666/mcp-framework)](https://smithery.ai/server/@aigo666/mcp-framework)\n \n-一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取、文件处理(PDF、Word、Excel)等高级功能。\n+一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取、文件处理(PDF、Word、Excel)以及AI对话等高级功能。\n \n ## 主要功能\n \n 本框架提供了以下核心功能:\n \n-### 1. 综合文件处理\n+### 1. MaxKB AI对话\n \n+使用`maxkb`工具可以与MaxKB API进行交互,实现智能对话功能。\n+\n+- **用法**: `maxkb \"您的问题或指令\"`\n+- **功能**: 发送消息到MaxKB API并获取AI回复\n+- **参数**: \n+ - `message` - 要发送的消息内容(必需)\n+ - `re_chat` - 是否重新开始对话(可选,默认false)\n+ - `stream` - 是否使用流式响应(可选,默认true)\n+- **返回**: AI的回复内容\n+- **特点**: \n+ - 支持流式响应\n+ - 自动重试机制\n+ - 完整的错误处理\n+ - 60秒超时保护\n+ - 保持连接配置优化\n+\n+### 2. 综合文件处理\n+\n 使用`file`工具可以自动识别文件类型并选择合适的处理方式,支持PDF、Word和Excel文件。\n \n - **用法**: `file /path/to/document`\n - **支持格式**: \n@@ -18,9 +36,9 @@\n - Excel文件 (.xls, .xlsx, .xlsm)\n - **参数**: `file_path` - 文件的本地路径\n - **返回**: 根据文件类型返回相应的处理结果\n \n-### 2. PDF文档处理\n+### 3. PDF文档处理\n \n 使用`pdf`工具可以处理PDF文档,支持两种处理模式:\n \n - **用法**: `pdf /path/to/document.pdf [mode]`\n@@ -36,9 +54,9 @@\n - 使用PyMuPDF提供高质量的文本提取和图像处理\n - 自动处理大型文件\n - 支持图片提取和保存\n \n-### 3. Word文档解析\n+### 4. Word文档解析\n \n 使用`word`工具可以解析Word文档,提取文本、表格和图片信息。\n \n - **用法**: `word /path/to/document.docx`\n@@ -46,9 +64,9 @@\n - **参数**: `file_path` - Word文档的本地路径\n - **返回**: 文档的文本内容、表格和图片信息\n - **特点**: 使用python-docx库提供高质量的文本和表格提取\n \n-### 4. Excel文件处理\n+### 5. Excel文件处理\n \n 使用`excel`工具可以解析Excel文件,提供完整的表格数据和结构信息。\n \n - **用法**: `excel /path/to/spreadsheet.xlsx`\n@@ -64,9 +82,9 @@\n - 使用pandas和openpyxl提供高质量的表格数据处理\n - 支持多工作表处理\n - 自动处理数据类型转换\n \n-### 5. 网页内容获取\n+### 6. 网页内容获取\n \n 使用`url`工具可以获取任何网页的内容。\n \n - **用法**: `url https://example.com`\n" }, { "date": 1741780630066, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -227,8 +227,22 @@\n ```\n \n ## 部署指南\n \n+### 环境变量配置\n+\n+在开始部署之前,请确保配置以下环境变量:\n+\n+1. **MaxKB工具配置**:\n+ - `MAXKB_HOST` - MaxKB API的主机地址\n+ - `MAXKB_CHAT_ID` - 对话ID\n+ - `MAXKB_APPLICATION_ID` - 应用ID\n+ - `MAXKB_AUTHORIZATION` - 授权令牌\n+\n+2. **其他配置**(可选):\n+ - `HTTPCORE_TIMEOUT` - HTTP请求超时时间(默认60秒)\n+ - `HTTPX_TIMEOUT` - HTTPX客户端超时时间(默认60秒)\n+\n ### Docker部署(推荐)\n \n 1. 初始设置:\n ```bash\n" }, { "date": 1741944179267, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -309,19 +309,56 @@\n ```bash\n python -m mcp_tool\n ```\n \n-## 配置\n+## 配置说明\n \n-### 环境变量\n+### 环境变量配置\n \n-在`.env`文件中配置:\n+在`.env`文件中配置以下环境变量:\n \n-- `MCP_SERVER_PORT`: 服务器端口(默认: 8000)\n-- `MCP_SERVER_HOST`: 绑定地址(默认: 0.0.0.0)\n-- `DEBUG`: 调试模式(默认: false)\n-- `MCP_USER_AGENT`: 自定义User-Agent\n+```bash\n+# Server Configuration\n+MCP_SERVER_PORT=8000 # 服务器端口\n+MCP_SERVER_HOST=0.0.0.0 # 服务器主机\n \n+# MaxKB配置\n+MAXKB_HOST=http://host.docker.internal:8080 # MaxKB API主机地址\n+MAXKB_CHAT_ID=your_chat_id_here # MaxKB聊天ID\n+MAXKB_APPLICATION_ID=your_application_id_here # MaxKB应用ID\n+MAXKB_AUTHORIZATION=your_authorization_key # MaxKB授权密钥\n+\n+# 调试模式\n+DEBUG=false # 是否启用调试模式\n+\n+# 用户代理\n+MCP_USER_AGENT=\"MCP Test Server (github.com/modelcontextprotocol/python-sdk)\"\n+\n+# 本地目录挂载配置\n+HOST_MOUNT_SOURCE=/path/to/your/local/directory # 本地目录路径\n+HOST_MOUNT_TARGET=/host_files # 容器内挂载路径\n+```\n+\n+### 本地目录挂载\n+\n+框架支持将本地目录挂载到容器中,以便工具可以访问本地文件。配置方法:\n+\n+1. 在`.env`文件中设置`HOST_MOUNT_SOURCE`和`HOST_MOUNT_TARGET`环境变量\n+2. `HOST_MOUNT_SOURCE`是你本地机器上的目录路径\n+3. `HOST_MOUNT_TARGET`是容器内的挂载路径(默认为`/host_files`)\n+\n+使用工具时,可以直接引用本地文件路径,框架会自动将其转换为容器内的路径。例如:\n+\n+```\n+# 使用PDF工具处理本地文件\n+pdf \"/Users/username/Documents/example.pdf\"\n+\n+# 框架会自动将路径转换为容器内路径\n+# 例如:\"/host_files/example.pdf\"\n+```\n+\n+这样,你就可以在不修改工具代码的情况下,轻松访问本地文件。\n+\n ## 依赖项\n \n 主要依赖:\n - `mcp`: Model Context Protocol实现\n" }, { "date": 1741945369162, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -6,28 +6,10 @@\n ## 主要功能\n \n 本框架提供了以下核心功能:\n \n-### 1. MaxKB AI对话\n+### 1. 综合文件处理\n \n-使用`maxkb`工具可以与MaxKB API进行交互,实现智能对话功能。\n-\n-- **用法**: `maxkb \"您的问题或指令\"`\n-- **功能**: 发送消息到MaxKB API并获取AI回复\n-- **参数**: \n- - `message` - 要发送的消息内容(必需)\n- - `re_chat` - 是否重新开始对话(可选,默认false)\n- - `stream` - 是否使用流式响应(可选,默认true)\n-- **返回**: AI的回复内容\n-- **特点**: \n- - 支持流式响应\n- - 自动重试机制\n- - 完整的错误处理\n- - 60秒超时保护\n- - 保持连接配置优化\n-\n-### 2. 综合文件处理\n-\n 使用`file`工具可以自动识别文件类型并选择合适的处理方式,支持PDF、Word和Excel文件。\n \n - **用法**: `file /path/to/document`\n - **支持格式**: \n" }, { "date": 1741945575253, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -18,9 +18,9 @@\n - Excel文件 (.xls, .xlsx, .xlsm)\n - **参数**: `file_path` - 文件的本地路径\n - **返回**: 根据文件类型返回相应的处理结果\n \n-### 3. PDF文档处理\n+### 2. PDF文档处理\n \n 使用`pdf`工具可以处理PDF文档,支持两种处理模式:\n \n - **用法**: `pdf /path/to/document.pdf [mode]`\n@@ -36,9 +36,9 @@\n - 使用PyMuPDF提供高质量的文本提取和图像处理\n - 自动处理大型文件\n - 支持图片提取和保存\n \n-### 4. Word文档解析\n+### 3. Word文档解析\n \n 使用`word`工具可以解析Word文档,提取文本、表格和图片信息。\n \n - **用法**: `word /path/to/document.docx`\n@@ -46,9 +46,9 @@\n - **参数**: `file_path` - Word文档的本地路径\n - **返回**: 文档的文本内容、表格和图片信息\n - **特点**: 使用python-docx库提供高质量的文本和表格提取\n \n-### 5. Excel文件处理\n+### 4. Excel文件处理\n \n 使用`excel`工具可以解析Excel文件,提供完整的表格数据和结构信息。\n \n - **用法**: `excel /path/to/spreadsheet.xlsx`\n@@ -64,9 +64,9 @@\n - 使用pandas和openpyxl提供高质量的表格数据处理\n - 支持多工作表处理\n - 自动处理数据类型转换\n \n-### 6. 网页内容获取\n+### 5. 网页内容获取\n \n 使用`url`工具可以获取任何网页的内容。\n \n - **用法**: `url https://example.com`\n@@ -76,8 +76,26 @@\n - 完整的HTTP错误处理\n - 超时管理\n - 自动编码处理\n \n+### 6. MaxKB AI对话\n+\n+使用`maxkb`工具可以与MaxKB API进行交互,实现智能对话功能。\n+\n+- **用法**: `maxkb \"您的问题或指令\"`\n+- **功能**: 发送消息到MaxKB API并获取AI回复\n+- **参数**: \n+ - `message` - 要发送的消息内容(必需)\n+ - `re_chat` - 是否重新开始对话(可选,默认false)\n+ - `stream` - 是否使用流式响应(可选,默认true)\n+- **返回**: AI的回复内容\n+- **特点**: \n+ - 支持流式响应\n+ - 自动重试机制\n+ - 完整的错误处理\n+ - 60秒超时保护\n+ - 保持连接配置优化\n+\n ## 技术特点\n \n 本框架采用了多种技术来优化文件处理性能:\n \n@@ -211,20 +229,52 @@\n ## 部署指南\n \n ### 环境变量配置\n \n-在开始部署之前,请确保配置以下环境变量:\n+在`.env`文件中配置以下环境变量:\n \n-1. **MaxKB工具配置**:\n- - `MAXKB_HOST` - MaxKB API的主机地址\n- - `MAXKB_CHAT_ID` - 对话ID\n- - `MAXKB_APPLICATION_ID` - 应用ID\n- - `MAXKB_AUTHORIZATION` - 授权令牌\n+```bash\n+# Server Configuration\n+MCP_SERVER_PORT=8000 # 服务器端口\n+MCP_SERVER_HOST=0.0.0.0 # 服务器主机\n \n-2. **其他配置**(可选):\n- - `HTTPCORE_TIMEOUT` - HTTP请求超时时间(默认60秒)\n- - `HTTPX_TIMEOUT` - HTTPX客户端超时时间(默认60秒)\n+# MaxKB配置\n+MAXKB_HOST=http://host.docker.internal:8080 # MaxKB API主机地址\n+MAXKB_CHAT_ID=your_chat_id_here # MaxKB聊天ID\n+MAXKB_APPLICATION_ID=your_application_id_here # MaxKB应用ID\n+MAXKB_AUTHORIZATION=your_authorization_key # MaxKB授权密钥\n \n+# 调试模式\n+DEBUG=false # 是否启用调试模式\n+\n+# 用户代理\n+MCP_USER_AGENT=\"MCP Test Server (github.com/modelcontextprotocol/python-sdk)\"\n+\n+# 本地目录挂载配置\n+HOST_MOUNT_SOURCE=/path/to/your/local/directory # 本地目录路径\n+HOST_MOUNT_TARGET=/host_files # 容器内挂载路径\n+```\n+\n+### 本地目录挂载\n+\n+框架支持将本地目录挂载到容器中,以便工具可以访问本地文件。配置方法:\n+\n+1. 在`.env`文件中设置`HOST_MOUNT_SOURCE`和`HOST_MOUNT_TARGET`环境变量\n+2. `HOST_MOUNT_SOURCE`是你本地机器上的目录路径\n+3. `HOST_MOUNT_TARGET`是容器内的挂载路径(默认为`/host_files`)\n+\n+使用工具时,可以直接引用本地文件路径,框架会自动将其转换为容器内的路径。例如:\n+\n+```\n+# 使用PDF工具处理本地文件\n+pdf \"/Users/username/Documents/example.pdf\"\n+\n+# 框架会自动将路径转换为容器内路径\n+# 例如:\"/host_files/example.pdf\"\n+```\n+\n+这样,你就可以在不修改工具代码的情况下,轻松访问本地文件。\n+\n ### Docker部署(推荐)\n \n 1. 初始设置:\n ```bash\n@@ -291,56 +341,8 @@\n ```bash\n python -m mcp_tool\n ```\n \n-## 配置说明\n-\n-### 环境变量配置\n-\n-在`.env`文件中配置以下环境变量:\n-\n-```bash\n-# Server Configuration\n-MCP_SERVER_PORT=8000 # 服务器端口\n-MCP_SERVER_HOST=0.0.0.0 # 服务器主机\n-\n-# MaxKB配置\n-MAXKB_HOST=http://host.docker.internal:8080 # MaxKB API主机地址\n-MAXKB_CHAT_ID=your_chat_id_here # MaxKB聊天ID\n-MAXKB_APPLICATION_ID=your_application_id_here # MaxKB应用ID\n-MAXKB_AUTHORIZATION=your_authorization_key # MaxKB授权密钥\n-\n-# 调试模式\n-DEBUG=false # 是否启用调试模式\n-\n-# 用户代理\n-MCP_USER_AGENT=\"MCP Test Server (github.com/modelcontextprotocol/python-sdk)\"\n-\n-# 本地目录挂载配置\n-HOST_MOUNT_SOURCE=/path/to/your/local/directory # 本地目录路径\n-HOST_MOUNT_TARGET=/host_files # 容器内挂载路径\n-```\n-\n-### 本地目录挂载\n-\n-框架支持将本地目录挂载到容器中,以便工具可以访问本地文件。配置方法:\n-\n-1. 在`.env`文件中设置`HOST_MOUNT_SOURCE`和`HOST_MOUNT_TARGET`环境变量\n-2. `HOST_MOUNT_SOURCE`是你本地机器上的目录路径\n-3. `HOST_MOUNT_TARGET`是容器内的挂载路径(默认为`/host_files`)\n-\n-使用工具时,可以直接引用本地文件路径,框架会自动将其转换为容器内的路径。例如:\n-\n-```\n-# 使用PDF工具处理本地文件\n-pdf \"/Users/username/Documents/example.pdf\"\n-\n-# 框架会自动将路径转换为容器内路径\n-# 例如:\"/host_files/example.pdf\"\n-```\n-\n-这样,你就可以在不修改工具代码的情况下,轻松访问本地文件。\n-\n ## 依赖项\n \n 主要依赖:\n - `mcp`: Model Context Protocol实现\n" }, { "date": 1741945950132, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -31,12 +31,8 @@\n - `full` - 完整解析模式,提取文本和图片内容(默认)\n - **返回**: \n - 快速预览模式:文档的文本内容\n - 完整解析模式:文档的文本内容和图片\n-- **特点**: \n- - 使用PyMuPDF提供高质量的文本提取和图像处理\n- - 自动处理大型文件\n- - 支持图片提取和保存\n \n ### 3. Word文档解析\n \n 使用`word`工具可以解析Word文档,提取文本、表格和图片信息。\n@@ -117,38 +113,8 @@\n - 完整的异常捕获和处理\n - 详细的错误信息反馈\n - 优雅的失败处理机制\n \n-## 文档处理技术细节\n-\n-### PDF处理\n-\n-1. **多层次处理策略**:\n- - 首先尝试使用PyMuPDF(fitz)提取内容(速度快、准确度高)\n- - 如果失败,回退到PymuPDF4llm(专为大语言模型优化)\n- - 最后尝试PyPDF2作为最终备用方案\n-\n-2. **性能优化**:\n- - 限制处理的最大页数(完整模式: 30页,快速模式: 50页)\n- - 图片处理优化(DPI调整、大小限制)\n- - 多线程处理加速\n-\n-3. **错误处理**:\n- - 详细的错误信息和提示\n- - 备用处理方法,确保服务稳定性\n- - 超时保护机制(5分钟超时设置)\n-\n-### Word文档处理\n-\n-1. **文档结构解析**:\n- - 提取文档属性(标题、作者、创建时间等)\n- - 段落内容提取,保留原始格式\n- - 表格转换为Markdown格式\n-\n-2. **图片信息**:\n- - 提供文档中图片的数量信息\n- - 图片引用关系识别\n-\n ## 项目结构\n \n 本框架采用模块化设计,便于扩展和维护:\n \n" }, { "date": 1742190691155, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -6,10 +6,22 @@\n ## 主要功能\n \n 本框架提供了以下核心功能:\n \n-### 1. 综合文件处理\n+### 1. 文件上传功能\n \n+使用内置的Web界面可以轻松地将本地文件上传到服务器进行处理,支持跨平台使用(Windows、macOS等)。\n+\n+- **访问方式**: 浏览器访问 `http://服务器IP:8000/` 或 `http://服务器IP:8000/upload`\n+- **特点**:\n+ - 自动检测用户操作系统\n+ - 支持大文件上传\n+ - 实时上传进度显示\n+ - 自动生成处理命令\n+ - 跨平台兼容(Windows、macOS、Linux)\n+\n+### 2. 综合文件处理\n+\n 使用`file`工具可以自动识别文件类型并选择合适的处理方式,支持PDF、Word和Excel文件。\n \n - **用法**: `file /path/to/document`\n - **支持格式**: \n@@ -18,9 +30,9 @@\n - Excel文件 (.xls, .xlsx, .xlsm)\n - **参数**: `file_path` - 文件的本地路径\n - **返回**: 根据文件类型返回相应的处理结果\n \n-### 2. PDF文档处理\n+### 3. PDF文档处理\n \n 使用`pdf`工具可以处理PDF文档,支持两种处理模式:\n \n - **用法**: `pdf /path/to/document.pdf [mode]`\n@@ -32,9 +44,9 @@\n - **返回**: \n - 快速预览模式:文档的文本内容\n - 完整解析模式:文档的文本内容和图片\n \n-### 3. Word文档解析\n+### 4. Word文档解析\n \n 使用`word`工具可以解析Word文档,提取文本、表格和图片信息。\n \n - **用法**: `word /path/to/document.docx`\n@@ -42,9 +54,9 @@\n - **参数**: `file_path` - Word文档的本地路径\n - **返回**: 文档的文本内容、表格和图片信息\n - **特点**: 使用python-docx库提供高质量的文本和表格提取\n \n-### 4. Excel文件处理\n+### 5. Excel文件处理\n \n 使用`excel`工具可以解析Excel文件,提供完整的表格数据和结构信息。\n \n - **用法**: `excel /path/to/spreadsheet.xlsx`\n@@ -60,9 +72,9 @@\n - 使用pandas和openpyxl提供高质量的表格数据处理\n - 支持多工作表处理\n - 自动处理数据类型转换\n \n-### 5. 网页内容获取\n+### 6. 网页内容获取\n \n 使用`url`工具可以获取任何网页的内容。\n \n - **用法**: `url https://example.com`\n@@ -72,9 +84,9 @@\n - 完整的HTTP错误处理\n - 超时管理\n - 自动编码处理\n \n-### 6. MaxKB AI对话\n+### 7. MaxKB AI对话\n \n 使用`maxkb`工具可以与MaxKB API进行交互,实现智能对话功能。\n \n - **用法**: `maxkb \"您的问题或指令\"`\n@@ -113,8 +125,74 @@\n - 完整的异常捕获和处理\n - 详细的错误信息反馈\n - 优雅的失败处理机制\n \n+## 跨平台文件处理\n+\n+本框架提供了两种方式处理不同操作系统上的文件:\n+\n+### 1. Web上传界面(推荐)\n+\n+最简单的方法是使用内置的Web上传界面:\n+\n+1. 在浏览器中访问 `http://服务器IP:8000/` 或 `http://服务器IP:8000/upload`\n+2. 选择要处理的文件并上传\n+3. 上传完成后,系统会自动生成处理命令\n+4. 在Cursor IDE中使用生成的命令处理文件\n+\n+这种方式适用于所有操作系统(Windows、macOS、Linux),无需额外配置。\n+\n+### 2. 目录挂载方式\n+\n+如果需要处理大量文件或自动化处理,可以使用目录挂载方式:\n+\n+#### Windows用户\n+\n+1. 在`.env`文件中设置:\n+ ```\n+ HOST_MOUNT_SOURCE=C:/Users/YourName/Documents\n+ HOST_MOUNT_TARGET=/host_files\n+ ```\n+\n+2. 在Docker设置中启用文件共享,将`C:/Users/YourName/Documents`添加到共享目录\n+\n+3. 重启Docker服务\n+\n+4. 使用命令处理文件:\n+ ```\n+ file /host_files/example.pdf\n+ ```\n+\n+#### macOS用户\n+\n+1. 在`.env`文件中设置:\n+ ```\n+ HOST_MOUNT_SOURCE=/Users/YourName/Documents\n+ HOST_MOUNT_TARGET=/host_files\n+ ```\n+\n+2. 重启Docker服务\n+\n+3. 使用命令处理文件:\n+ ```\n+ file /host_files/example.pdf\n+ ```\n+\n+#### Linux用户\n+\n+1. 在`.env`文件中设置:\n+ ```\n+ HOST_MOUNT_SOURCE=/home/YourName/Documents\n+ HOST_MOUNT_TARGET=/host_files\n+ ```\n+\n+2. 重启Docker服务\n+\n+3. 使用命令处理文件:\n+ ```\n+ file /host_files/example.pdf\n+ ```\n+\n ## 项目结构\n \n 本框架采用模块化设计,便于扩展和维护:\n \n@@ -126,9 +204,12 @@\n │ ├── file_tool.py # 综合文件处理工具\n │ ├── pdf_tool.py # PDF解析工具\n │ ├── word_tool.py # Word文档解析工具\n │ ├── excel_tool.py # Excel文件处理工具\n+│ ├── upload_tool.py # 文件上传工具\n │ └── url_tool.py # URL工具实现\n+├── templates/\n+│ └── upload.html # 文件上传页面模板\n ├── __init__.py\n ├── __main__.py\n └── server.py # MCP服务器实现\n ```\n@@ -267,8 +348,9 @@\n docker compose down\n ```\n \n 3. 访问服务:\n+ - Web上传界面: http://localhost:8000/\n - SSE端点: http://localhost:8000/sse\n \n 4. Cursor IDE配置:\n - 设置 → 功能 → 添加MCP服务器\n" }, { "date": 1742191915931, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -6,22 +6,10 @@\n ## 主要功能\n \n 本框架提供了以下核心功能:\n \n-### 1. 文件上传功能\n+### 1. 综合文件处理\n \n-使用内置的Web界面可以轻松地将本地文件上传到服务器进行处理,支持跨平台使用(Windows、macOS等)。\n-\n-- **访问方式**: 浏览器访问 `http://服务器IP:8000/` 或 `http://服务器IP:8000/upload`\n-- **特点**:\n- - 自动检测用户操作系统\n- - 支持大文件上传\n- - 实时上传进度显示\n- - 自动生成处理命令\n- - 跨平台兼容(Windows、macOS、Linux)\n-\n-### 2. 综合文件处理\n-\n 使用`file`工具可以自动识别文件类型并选择合适的处理方式,支持PDF、Word和Excel文件。\n \n - **用法**: `file /path/to/document`\n - **支持格式**: \n@@ -30,9 +18,9 @@\n - Excel文件 (.xls, .xlsx, .xlsm)\n - **参数**: `file_path` - 文件的本地路径\n - **返回**: 根据文件类型返回相应的处理结果\n \n-### 3. PDF文档处理\n+### 2. PDF文档处理\n \n 使用`pdf`工具可以处理PDF文档,支持两种处理模式:\n \n - **用法**: `pdf /path/to/document.pdf [mode]`\n@@ -44,9 +32,9 @@\n - **返回**: \n - 快速预览模式:文档的文本内容\n - 完整解析模式:文档的文本内容和图片\n \n-### 4. Word文档解析\n+### 3. Word文档解析\n \n 使用`word`工具可以解析Word文档,提取文本、表格和图片信息。\n \n - **用法**: `word /path/to/document.docx`\n@@ -54,9 +42,9 @@\n - **参数**: `file_path` - Word文档的本地路径\n - **返回**: 文档的文本内容、表格和图片信息\n - **特点**: 使用python-docx库提供高质量的文本和表格提取\n \n-### 5. Excel文件处理\n+### 4. Excel文件处理\n \n 使用`excel`工具可以解析Excel文件,提供完整的表格数据和结构信息。\n \n - **用法**: `excel /path/to/spreadsheet.xlsx`\n@@ -72,9 +60,9 @@\n - 使用pandas和openpyxl提供高质量的表格数据处理\n - 支持多工作表处理\n - 自动处理数据类型转换\n \n-### 6. 网页内容获取\n+### 5. 网页内容获取\n \n 使用`url`工具可以获取任何网页的内容。\n \n - **用法**: `url https://example.com`\n@@ -84,9 +72,9 @@\n - 完整的HTTP错误处理\n - 超时管理\n - 自动编码处理\n \n-### 7. MaxKB AI对话\n+### 6. MaxKB AI对话\n \n 使用`maxkb`工具可以与MaxKB API进行交互,实现智能对话功能。\n \n - **用法**: `maxkb \"您的问题或指令\"`\n@@ -125,74 +113,8 @@\n - 完整的异常捕获和处理\n - 详细的错误信息反馈\n - 优雅的失败处理机制\n \n-## 跨平台文件处理\n-\n-本框架提供了两种方式处理不同操作系统上的文件:\n-\n-### 1. Web上传界面(推荐)\n-\n-最简单的方法是使用内置的Web上传界面:\n-\n-1. 在浏览器中访问 `http://服务器IP:8000/` 或 `http://服务器IP:8000/upload`\n-2. 选择要处理的文件并上传\n-3. 上传完成后,系统会自动生成处理命令\n-4. 在Cursor IDE中使用生成的命令处理文件\n-\n-这种方式适用于所有操作系统(Windows、macOS、Linux),无需额外配置。\n-\n-### 2. 目录挂载方式\n-\n-如果需要处理大量文件或自动化处理,可以使用目录挂载方式:\n-\n-#### Windows用户\n-\n-1. 在`.env`文件中设置:\n- ```\n- HOST_MOUNT_SOURCE=C:/Users/YourName/Documents\n- HOST_MOUNT_TARGET=/host_files\n- ```\n-\n-2. 在Docker设置中启用文件共享,将`C:/Users/YourName/Documents`添加到共享目录\n-\n-3. 重启Docker服务\n-\n-4. 使用命令处理文件:\n- ```\n- file /host_files/example.pdf\n- ```\n-\n-#### macOS用户\n-\n-1. 在`.env`文件中设置:\n- ```\n- HOST_MOUNT_SOURCE=/Users/YourName/Documents\n- HOST_MOUNT_TARGET=/host_files\n- ```\n-\n-2. 重启Docker服务\n-\n-3. 使用命令处理文件:\n- ```\n- file /host_files/example.pdf\n- ```\n-\n-#### Linux用户\n-\n-1. 在`.env`文件中设置:\n- ```\n- HOST_MOUNT_SOURCE=/home/YourName/Documents\n- HOST_MOUNT_TARGET=/host_files\n- ```\n-\n-2. 重启Docker服务\n-\n-3. 使用命令处理文件:\n- ```\n- file /host_files/example.pdf\n- ```\n-\n ## 项目结构\n \n 本框架采用模块化设计,便于扩展和维护:\n \n@@ -204,12 +126,9 @@\n │ ├── file_tool.py # 综合文件处理工具\n │ ├── pdf_tool.py # PDF解析工具\n │ ├── word_tool.py # Word文档解析工具\n │ ├── excel_tool.py # Excel文件处理工具\n-│ ├── upload_tool.py # 文件上传工具\n │ └── url_tool.py # URL工具实现\n-├── templates/\n-│ └── upload.html # 文件上传页面模板\n ├── __init__.py\n ├── __main__.py\n └── server.py # MCP服务器实现\n ```\n@@ -348,9 +267,8 @@\n docker compose down\n ```\n \n 3. 访问服务:\n- - Web上传界面: http://localhost:8000/\n - SSE端点: http://localhost:8000/sse\n \n 4. Cursor IDE配置:\n - 设置 → 功能 → 添加MCP服务器\n" }, { "date": 1742295667614, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,22 +1,23 @@\n # MCP开发框架\n [![smithery badge](https://smithery.ai/badge/@aigo666/mcp-framework)](https://smithery.ai/server/@aigo666/mcp-framework)\n \n-一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取、文件处理(PDF、Word、Excel)以及AI对话等高级功能。\n+一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取、文件处理(PDF、Word、Excel、CSV)以及AI对话等高级功能。\n \n ## 主要功能\n \n 本框架提供了以下核心功能:\n \n ### 1. 综合文件处理\n \n-使用`file`工具可以自动识别文件类型并选择合适的处理方式,支持PDF、Word和Excel文件。\n+使用`file`工具可以自动识别文件类型并选择合适的处理方式,支持PDF、Word、Excel和CSV文件。\n \n - **用法**: `file /path/to/document`\n - **支持格式**: \n - PDF文件 (.pdf)\n - Word文档 (.doc, .docx)\n - Excel文件 (.xls, .xlsx, .xlsm)\n+ - CSV文件 (.csv)\n - **参数**: `file_path` - 文件的本地路径\n - **返回**: 根据文件类型返回相应的处理结果\n \n ### 2. PDF文档处理\n@@ -60,10 +61,30 @@\n - 使用pandas和openpyxl提供高质量的表格数据处理\n - 支持多工作表处理\n - 自动处理数据类型转换\n \n-### 5. 网页内容获取\n+### 5. CSV文件处理\n \n+使用`csv`工具可以解析CSV文件,提供完整的数据分析和预览功能。\n+\n+- **用法**: `csv /path/to/data.csv`\n+- **功能**: 解析CSV文件并提供数据分析\n+- **参数**: \n+ - `file_path` - CSV文件的本地路径\n+ - `encoding` - 文件编码格式(可选,默认自动检测)\n+- **返回**: \n+ - 文件基本信息(文件名、行数、列数)\n+ - 列名列表\n+ - 数据预览(前5行)\n+ - 描述性统计信息\n+- **特点**: \n+ - 自动编码检测\n+ - 支持多种编码格式(UTF-8、GBK等)\n+ - 提供数据统计分析\n+ - 智能数据类型处理\n+\n+### 6. 网页内容获取\n+\n 使用`url`工具可以获取任何网页的内容。\n \n - **用法**: `url https://example.com`\n - **参数**: `url` - 要获取内容的网站URL\n@@ -72,9 +93,9 @@\n - 完整的HTTP错误处理\n - 超时管理\n - 自动编码处理\n \n-### 6. MaxKB AI对话\n+### 7. MaxKB AI对话\n \n 使用`maxkb`工具可以与MaxKB API进行交互,实现智能对话功能。\n \n - **用法**: `maxkb \"您的问题或指令\"`\n" }, { "date": 1743501462229, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,23 +1,24 @@\n # MCP开发框架\n [![smithery badge](https://smithery.ai/badge/@aigo666/mcp-framework)](https://smithery.ai/server/@aigo666/mcp-framework)\n \n-一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取、文件处理(PDF、Word、Excel、CSV)以及AI对话等高级功能。\n+一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取、文件处理(PDF、Word、Excel、CSV、Markdown)以及AI对话等高级功能。\n \n ## 主要功能\n \n 本框架提供了以下核心功能:\n \n ### 1. 综合文件处理\n \n-使用`file`工具可以自动识别文件类型并选择合适的处理方式,支持PDF、Word、Excel和CSV文件。\n+使用`file`工具可以自动识别文件类型并选择合适的处理方式,支持PDF、Word、Excel、CSV和Markdown文件。\n \n - **用法**: `file /path/to/document`\n - **支持格式**: \n - PDF文件 (.pdf)\n - Word文档 (.doc, .docx)\n - Excel文件 (.xls, .xlsx, .xlsm)\n - CSV文件 (.csv)\n+ - Markdown文件 (.md)\n - **参数**: `file_path` - 文件的本地路径\n - **返回**: 根据文件类型返回相应的处理结果\n \n ### 2. PDF文档处理\n" }, { "date": 1743501478134, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -82,10 +82,27 @@\n - 支持多种编码格式(UTF-8、GBK等)\n - 提供数据统计分析\n - 智能数据类型处理\n \n-### 6. 网页内容获取\n+### 6. Markdown文件解析\n \n+使用`markdown`工具可以解析Markdown文件,提取文本内容、标题结构和列表等信息。\n+\n+- **用法**: `markdown /path/to/document.md`\n+- **功能**: 解析Markdown文件并提取标题结构、列表和文本内容\n+- **参数**: `file_path` - Markdown文件的本地路径\n+- **返回**: \n+ - 文件基本信息(文件名、大小、修改时间等)\n+ - 标题结构层级展示\n+ - 内容元素统计(代码块、列表、链接、图片、表格等)\n+ - 原始Markdown内容\n+- **特点**: \n+ - 自动识别各级标题和结构\n+ - 智能统计内容元素\n+ - 完整的标题层级展示\n+\n+### 7. 网页内容获取\n+\n 使用`url`工具可以获取任何网页的内容。\n \n - **用法**: `url https://example.com`\n - **参数**: `url` - 要获取内容的网站URL\n" }, { "date": 1743501492573, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -111,9 +111,9 @@\n - 完整的HTTP错误处理\n - 超时管理\n - 自动编码处理\n \n-### 7. MaxKB AI对话\n+### 8. MaxKB AI对话\n \n 使用`maxkb`工具可以与MaxKB API进行交互,实现智能对话功能。\n \n - **用法**: `maxkb \"您的问题或指令\"`\n@@ -165,9 +165,12 @@\n │ ├── file_tool.py # 综合文件处理工具\n │ ├── pdf_tool.py # PDF解析工具\n │ ├── word_tool.py # Word文档解析工具\n │ ├── excel_tool.py # Excel文件处理工具\n-│ └── url_tool.py # URL工具实现\n+│ ├── csv_tool.py # CSV文件处理工具\n+│ ├── markdown_tool.py # Markdown文件解析工具\n+│ ├── url_tool.py # URL工具实现\n+│ └── maxkb_tool.py # MaxKB AI对话工具\n ├── __init__.py\n ├── __main__.py\n └── server.py # MCP服务器实现\n ```\n" }, { "date": 1743651492340, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -8,11 +8,11 @@\n 本框架提供了以下核心功能:\n \n ### 1. 综合文件处理\n \n-使用`file`工具可以自动识别文件类型并选择合适的处理方式,支持PDF、Word、Excel、CSV和Markdown文件。\n+使用`parse_file`工具可以自动识别文件类型并选择合适的处理方式,支持PDF、Word、Excel、CSV和Markdown文件。\n \n-- **用法**: `file /path/to/document`\n+- **用法**: `parse_file /path/to/document`\n - **支持格式**: \n - PDF文件 (.pdf)\n - Word文档 (.doc, .docx)\n - Excel文件 (.xls, .xlsx, .xlsm)\n@@ -22,11 +22,11 @@\n - **返回**: 根据文件类型返回相应的处理结果\n \n ### 2. PDF文档处理\n \n-使用`pdf`工具可以处理PDF文档,支持两种处理模式:\n+使用`parse_pdf`工具可以处理PDF文档,支持两种处理模式:\n \n-- **用法**: `pdf /path/to/document.pdf [mode]`\n+- **用法**: `parse_pdf /path/to/document.pdf [mode]`\n - **参数**: \n - `file_path` - PDF文件的本地路径\n - `mode` - 处理模式(可选):\n - `quick` - 快速预览模式,仅提取文本内容\n@@ -36,21 +36,21 @@\n - 完整解析模式:文档的文本内容和图片\n \n ### 3. Word文档解析\n \n-使用`word`工具可以解析Word文档,提取文本、表格和图片信息。\n+使用`parse_word`工具可以解析Word文档,提取文本、表格和图片信息。\n \n-- **用法**: `word /path/to/document.docx`\n+- **用法**: `parse_word /path/to/document.docx`\n - **功能**: 解析Word文档并提取文本内容、表格和图片信息\n - **参数**: `file_path` - Word文档的本地路径\n - **返回**: 文档的文本内容、表格和图片信息\n - **特点**: 使用python-docx库提供高质量的文本和表格提取\n \n ### 4. Excel文件处理\n \n-使用`excel`工具可以解析Excel文件,提供完整的表格数据和结构信息。\n+使用`parse_excel`工具可以解析Excel文件,提供完整的表格数据和结构信息。\n \n-- **用法**: `excel /path/to/spreadsheet.xlsx`\n+- **用法**: `parse_excel /path/to/spreadsheet.xlsx`\n - **功能**: 解析Excel文件的所有工作表\n - **参数**: `file_path` - Excel文件的本地路径\n - **返回**: \n - 文件基本信息(文件名、工作表数量)\n@@ -64,11 +64,11 @@\n - 自动处理数据类型转换\n \n ### 5. CSV文件处理\n \n-使用`csv`工具可以解析CSV文件,提供完整的数据分析和预览功能。\n+使用`parse_csv`工具可以解析CSV文件,提供完整的数据分析和预览功能。\n \n-- **用法**: `csv /path/to/data.csv`\n+- **用法**: `parse_csv /path/to/data.csv`\n - **功能**: 解析CSV文件并提供数据分析\n - **参数**: \n - `file_path` - CSV文件的本地路径\n - `encoding` - 文件编码格式(可选,默认自动检测)\n@@ -84,11 +84,11 @@\n - 智能数据类型处理\n \n ### 6. Markdown文件解析\n \n-使用`markdown`工具可以解析Markdown文件,提取文本内容、标题结构和列表等信息。\n+使用`parse_markdown`工具可以解析Markdown文件,提取文本内容、标题结构和列表等信息。\n \n-- **用法**: `markdown /path/to/document.md`\n+- **用法**: `parse_markdown /path/to/document.md`\n - **功能**: 解析Markdown文件并提取标题结构、列表和文本内容\n - **参数**: `file_path` - Markdown文件的本地路径\n - **返回**: \n - 文件基本信息(文件名、大小、修改时间等)\n" }, { "date": 1744091499950, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -372,4 +372,24 @@\n ## 许可证\n \n 本项目采用MIT许可证 - 详情请参阅[LICENSE](LICENSE)文件。\n \n+## 鉴权配置\n+\n+SSE 服务现在支持 API 鉴权机制,每个请求都需要携带有效的认证信息:\n+\n+1. 配置鉴权服务地址:\n+ - 在 `.env` 文件中设置 `MCP_AUTH_URL` 环境变量(默认为 `http://170.106.105.206:4000/users`)\n+\n+2. 客户端配置:\n+ - 在 Cursor 插件中配置时,需要添加 `Authorization` 请求头\n+ - 格式为 `Bearer <your-token>`,其中 `<your-token>` 是有效的 JWT Token\n+\n+3. 鉴权流程:\n+ - 当 SSE 服务收到请求时,会向配置的鉴权地址发送请求,并传递客户端提供的 Authorization 头\n+ - 只有鉴权成功(返回 200 状态码)的请求才会被处理\n+ - 鉴权失败的请求会收到 401 Unauthorized 响应\n+\n+## 部署说明\n+\n+// ... existing code ...\n+\n" }, { "date": 1744091520668, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -315,8 +315,9 @@\n 4. Cursor IDE配置:\n - 设置 → 功能 → 添加MCP服务器\n - 类型: \"sse\"\n - URL: `http://localhost:8000/sse`\n+- Headers: 添加 `Authorization: Bearer <your-token>`\n \n ### 传统Python部署\n \n 1. 安装系统依赖:\n@@ -388,8 +389,27 @@\n - 当 SSE 服务收到请求时,会向配置的鉴权地址发送请求,并传递客户端提供的 Authorization 头\n - 只有鉴权成功(返回 200 状态码)的请求才会被处理\n - 鉴权失败的请求会收到 401 Unauthorized 响应\n \n-## 部署说明\n+## 部署方式\n \n-// ... existing code ...\n+### Docker部署\n \n+1. 构建镜像:\n+```bash\n+docker-compose build\n+```\n+\n+2. 启动服务:\n+```bash\n+docker-compose up -d\n+```\n+\n+3. 访问服务:\n+ - SSE端点: http://localhost:8000/sse\n+\n+4. Cursor IDE配置:\n+- 设置 → 功能 → 添加MCP服务器\n+- 类型: \"sse\"\n+- URL: `http://localhost:8000/sse`\n+- Headers: 添加 `Authorization: Bearer <your-token>`\n+\n" }, { "date": 1744091529425, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -244,8 +244,11 @@\n # Server Configuration\n MCP_SERVER_PORT=8000 # 服务器端口\n MCP_SERVER_HOST=0.0.0.0 # 服务器主机\n \n+# 鉴权配置\n+MCP_AUTH_URL=http://170.106.105.206:4000/users # 鉴权服务地址\n+\n # MaxKB配置\n MAXKB_HOST=http://host.docker.internal:8080 # MaxKB API主机地址\n MAXKB_CHAT_ID=your_chat_id_here # MaxKB聊天ID\n MAXKB_APPLICATION_ID=your_application_id_here # MaxKB应用ID\n" }, { "date": 1744096071790, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -244,11 +244,8 @@\n # Server Configuration\n MCP_SERVER_PORT=8000 # 服务器端口\n MCP_SERVER_HOST=0.0.0.0 # 服务器主机\n \n-# 鉴权配置\n-MCP_AUTH_URL=http://170.106.105.206:4000/users # 鉴权服务地址\n-\n # MaxKB配置\n MAXKB_HOST=http://host.docker.internal:8080 # MaxKB API主机地址\n MAXKB_CHAT_ID=your_chat_id_here # MaxKB聊天ID\n MAXKB_APPLICATION_ID=your_application_id_here # MaxKB应用ID\n@@ -318,9 +315,8 @@\n 4. Cursor IDE配置:\n - 设置 → 功能 → 添加MCP服务器\n - 类型: \"sse\"\n - URL: `http://localhost:8000/sse`\n-- Headers: 添加 `Authorization: Bearer <your-token>`\n \n ### 传统Python部署\n \n 1. 安装系统依赖:\n@@ -376,43 +372,4 @@\n ## 许可证\n \n 本项目采用MIT许可证 - 详情请参阅[LICENSE](LICENSE)文件。\n \n-## 鉴权配置\n-\n-SSE 服务现在支持 API 鉴权机制,每个请求都需要携带有效的认证信息:\n-\n-1. 配置鉴权服务地址:\n- - 在 `.env` 文件中设置 `MCP_AUTH_URL` 环境变量(默认为 `http://170.106.105.206:4000/users`)\n-\n-2. 客户端配置:\n- - 在 Cursor 插件中配置时,需要添加 `Authorization` 请求头\n- - 格式为 `Bearer <your-token>`,其中 `<your-token>` 是有效的 JWT Token\n-\n-3. 鉴权流程:\n- - 当 SSE 服务收到请求时,会向配置的鉴权地址发送请求,并传递客户端提供的 Authorization 头\n- - 只有鉴权成功(返回 200 状态码)的请求才会被处理\n- - 鉴权失败的请求会收到 401 Unauthorized 响应\n-\n-## 部署方式\n-\n-### Docker部署\n-\n-1. 构建镜像:\n-```bash\n-docker-compose build\n-```\n-\n-2. 启动服务:\n-```bash\n-docker-compose up -d\n-```\n-\n-3. 访问服务:\n- - SSE端点: http://localhost:8000/sse\n-\n-4. Cursor IDE配置:\n-- 设置 → 功能 → 添加MCP服务器\n-- 类型: \"sse\"\n-- URL: `http://localhost:8000/sse`\n-- Headers: 添加 `Authorization: Bearer <your-token>`\n-\n" }, { "date": 1744098373394, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -244,8 +244,11 @@\n # Server Configuration\n MCP_SERVER_PORT=8000 # 服务器端口\n MCP_SERVER_HOST=0.0.0.0 # 服务器主机\n \n+# 鉴权配置\n+MCP_AUTH_URL=http://170.106.105.206:4000/users # 鉴权服务地址\n+\n # MaxKB配置\n MAXKB_HOST=http://host.docker.internal:8080 # MaxKB API主机地址\n MAXKB_CHAT_ID=your_chat_id_here # MaxKB聊天ID\n MAXKB_APPLICATION_ID=your_application_id_here # MaxKB应用ID\n@@ -315,8 +318,9 @@\n 4. Cursor IDE配置:\n - 设置 → 功能 → 添加MCP服务器\n - 类型: \"sse\"\n - URL: `http://localhost:8000/sse`\n+- Headers: 添加 `Authorization: Bearer <your-token>`\n \n ### 传统Python部署\n \n 1. 安装系统依赖:\n@@ -372,4 +376,43 @@\n ## 许可证\n \n 本项目采用MIT许可证 - 详情请参阅[LICENSE](LICENSE)文件。\n \n+## 鉴权配置\n+\n+SSE 服务现在支持 API 鉴权机制,每个请求都需要携带有效的认证信息:\n+\n+1. 配置鉴权服务地址:\n+ - 在 `.env` 文件中设置 `MCP_AUTH_URL` 环境变量(默认为 `http://170.106.105.206:4000/users`)\n+\n+2. 客户端配置:\n+ - 在 Cursor 插件中配置时,需要添加 `Authorization` 请求头\n+ - 格式为 `Bearer <your-token>`,其中 `<your-token>` 是有效的 JWT Token\n+\n+3. 鉴权流程:\n+ - 当 SSE 服务收到请求时,会向配置的鉴权地址发送请求,并传递客户端提供的 Authorization 头\n+ - 只有鉴权成功(返回 200 状态码)的请求才会被处理\n+ - 鉴权失败的请求会收到 401 Unauthorized 响应\n+\n+## 部署方式\n+\n+### Docker部署\n+\n+1. 构建镜像:\n+```bash\n+docker-compose build\n+```\n+\n+2. 启动服务:\n+```bash\n+docker-compose up -d\n+```\n+\n+3. 访问服务:\n+ - SSE端点: http://localhost:8000/sse\n+\n+4. Cursor IDE配置:\n+- 设置 → 功能 → 添加MCP服务器\n+- 类型: \"sse\"\n+- URL: `http://localhost:8000/sse`\n+- Headers: 添加 `Authorization: Bearer <your-token>`\n+\n" }, { "date": 1744180938654, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -378,10 +378,12 @@\n 本项目采用MIT许可证 - 详情请参阅[LICENSE](LICENSE)文件。\n \n ## 鉴权配置\n \n-SSE 服务现在支持 API 鉴权机制,每个请求都需要携带有效的认证信息:\n+SSE 服务现在支持多种 API 鉴权机制,每个请求都需要通过以下方式之一进行鉴权:\n \n+### 1. Bearer Token 鉴权\n+\n 1. 配置鉴权服务地址:\n - 在 `.env` 文件中设置 `MCP_AUTH_URL` 环境变量(默认为 `http://170.106.105.206:4000/users`)\n \n 2. 客户端配置:\n@@ -392,8 +394,32 @@\n - 当 SSE 服务收到请求时,会向配置的鉴权地址发送请求,并传递客户端提供的 Authorization 头\n - 只有鉴权成功(返回 200 状态码)的请求才会被处理\n - 鉴权失败的请求会收到 401 Unauthorized 响应\n \n+### 2. API Key 鉴权\n+\n+1. 配置 API Key:\n+ - 在 `.env` 文件中设置 `MCP_API_KEY` 环境变量\n+\n+2. 客户端配置:\n+ - 在 Cursor 插件的 `mcp.json` 文件中添加 env.API_KEY 配置\n+ - 示例配置:\n+ ```json\n+ {\n+ \"file\": {\n+ \"url\": \"https://your-mcp-server.com/sse\",\n+ \"env\": {\n+ \"API_KEY\": \"your-api-key-here\"\n+ }\n+ }\n+ }\n+ ```\n+\n+3. 鉴权流程:\n+ - 当 SSE 服务收到请求时,会检查请求中的 env.API_KEY 是否与配置的 MCP_API_KEY 匹配\n+ - 匹配成功则允许访问\n+ - 匹配失败则尝试 Bearer Token 鉴权,如果两种鉴权都失败,则返回 401 Unauthorized 响应\n+\n ## 部署方式\n \n ### Docker部署\n \n" }, { "date": 1744180949907, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -246,8 +246,9 @@\n MCP_SERVER_HOST=0.0.0.0 # 服务器主机\n \n # 鉴权配置\n MCP_AUTH_URL=http://170.106.105.206:4000/users # 鉴权服务地址\n+MCP_API_KEY=your-api-key-here # API Key值,用于API Key鉴权\n \n # MaxKB配置\n MAXKB_HOST=http://host.docker.internal:8080 # MaxKB API主机地址\n MAXKB_CHAT_ID=your_chat_id_here # MaxKB聊天ID\n" }, { "date": 1744181143316, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -246,9 +246,8 @@\n MCP_SERVER_HOST=0.0.0.0 # 服务器主机\n \n # 鉴权配置\n MCP_AUTH_URL=http://170.106.105.206:4000/users # 鉴权服务地址\n-MCP_API_KEY=your-api-key-here # API Key值,用于API Key鉴权\n \n # MaxKB配置\n MAXKB_HOST=http://host.docker.internal:8080 # MaxKB API主机地址\n MAXKB_CHAT_ID=your_chat_id_here # MaxKB聊天ID\n@@ -379,12 +378,10 @@\n 本项目采用MIT许可证 - 详情请参阅[LICENSE](LICENSE)文件。\n \n ## 鉴权配置\n \n-SSE 服务现在支持多种 API 鉴权机制,每个请求都需要通过以下方式之一进行鉴权:\n+SSE 服务现在支持 API 鉴权机制,每个请求都需要携带有效的认证信息:\n \n-### 1. Bearer Token 鉴权\n-\n 1. 配置鉴权服务地址:\n - 在 `.env` 文件中设置 `MCP_AUTH_URL` 环境变量(默认为 `http://170.106.105.206:4000/users`)\n \n 2. 客户端配置:\n@@ -395,32 +392,8 @@\n - 当 SSE 服务收到请求时,会向配置的鉴权地址发送请求,并传递客户端提供的 Authorization 头\n - 只有鉴权成功(返回 200 状态码)的请求才会被处理\n - 鉴权失败的请求会收到 401 Unauthorized 响应\n \n-### 2. API Key 鉴权\n-\n-1. 配置 API Key:\n- - 在 `.env` 文件中设置 `MCP_API_KEY` 环境变量\n-\n-2. 客户端配置:\n- - 在 Cursor 插件的 `mcp.json` 文件中添加 env.API_KEY 配置\n- - 示例配置:\n- ```json\n- {\n- \"file\": {\n- \"url\": \"https://your-mcp-server.com/sse\",\n- \"env\": {\n- \"API_KEY\": \"your-api-key-here\"\n- }\n- }\n- }\n- ```\n-\n-3. 鉴权流程:\n- - 当 SSE 服务收到请求时,会检查请求中的 env.API_KEY 是否与配置的 MCP_API_KEY 匹配\n- - 匹配成功则允许访问\n- - 匹配失败则尝试 Bearer Token 鉴权,如果两种鉴权都失败,则返回 401 Unauthorized 响应\n-\n ## 部署方式\n \n ### Docker部署\n \n" }, { "date": 1744181383857, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -378,19 +378,37 @@\n 本项目采用MIT许可证 - 详情请参阅[LICENSE](LICENSE)文件。\n \n ## 鉴权配置\n \n-SSE 服务现在支持 API 鉴权机制,每个请求都需要携带有效的认证信息:\n+SSE 服务现在支持多种 API 鉴权机制,每个请求都需要携带有效的认证信息:\n \n 1. 配置鉴权服务地址:\n - 在 `.env` 文件中设置 `MCP_AUTH_URL` 环境变量(默认为 `http://170.106.105.206:4000/users`)\n \n-2. 客户端配置:\n+2. 客户端配置(两种方式任选其一):\n+\n+ A. 请求头方式:\n - 在 Cursor 插件中配置时,需要添加 `Authorization` 请求头\n - 格式为 `Bearer <your-token>`,其中 `<your-token>` 是有效的 JWT Token\n \n+ B. 环境变量方式(推荐):\n+ - 在 mcp.json 配置文件中添加 env 配置:\n+ ```json\n+ {\n+ \"file\": {\n+ \"url\": \"https://ibu-mcp.shurongdai.cn/file/sse\"\n+ },\n+ \"env\": {\n+ \"API_KEY\": \"your-api-key-here\"\n+ }\n+ }\n+ ```\n+ - 服务器会自动从请求的 env 参数中提取 API_KEY,并用于鉴权\n+\n 3. 鉴权流程:\n- - 当 SSE 服务收到请求时,会向配置的鉴权地址发送请求,并传递客户端提供的 Authorization 头\n+ - 当 SSE 服务收到请求时,会尝试从请求体的 env.API_KEY 或请求头的 Authorization 中获取认证信息\n+ - 如果 API_KEY 为空或不存在,则尝试使用 Authorization 头\n+ - 使用获取到的认证信息向配置的鉴权地址发送请求\n - 只有鉴权成功(返回 200 状态码)的请求才会被处理\n - 鉴权失败的请求会收到 401 Unauthorized 响应\n \n ## 部署方式\n" }, { "date": 1744181427142, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -390,9 +390,11 @@\n - 在 Cursor 插件中配置时,需要添加 `Authorization` 请求头\n - 格式为 `Bearer <your-token>`,其中 `<your-token>` 是有效的 JWT Token\n \n B. 环境变量方式(推荐):\n- - 在 mcp.json 配置文件中添加 env 配置:\n+ - 在 Cursor 配置文件中添加环境变量配置:\n+ 1. 打开 ~/.cursor/mcp.json 文件\n+ 2. 添加 env.API_KEY 配置,示例如下:\n ```json\n {\n \"file\": {\n \"url\": \"https://ibu-mcp.shurongdai.cn/file/sse\"\n@@ -401,9 +403,10 @@\n \"API_KEY\": \"your-api-key-here\"\n }\n }\n ```\n- - 服务器会自动从请求的 env 参数中提取 API_KEY,并用于鉴权\n+ - 服务器会自动从请求中提取 API_KEY,并用于鉴权\n+ - 这种方式比请求头方式更安全,不需要修改每个请求的头部\n \n 3. 鉴权流程:\n - 当 SSE 服务收到请求时,会尝试从请求体的 env.API_KEY 或请求头的 Authorization 中获取认证信息\n - 如果 API_KEY 为空或不存在,则尝试使用 Authorization 头\n" }, { "date": 1744181438020, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -407,10 +407,12 @@\n - 服务器会自动从请求中提取 API_KEY,并用于鉴权\n - 这种方式比请求头方式更安全,不需要修改每个请求的头部\n \n 3. 鉴权流程:\n- - 当 SSE 服务收到请求时,会尝试从请求体的 env.API_KEY 或请求头的 Authorization 中获取认证信息\n- - 如果 API_KEY 为空或不存在,则尝试使用 Authorization 头\n+ - 当 SSE 服务收到请求时,会按以下顺序尝试获取认证信息:\n+ 1. 首先检查请求参数中是否包含 env 参数并提取 API_KEY\n+ 2. 如果找到有效的 API_KEY,使用 `Bearer {api_key}` 格式构建认证头\n+ 3. 如果未找到 API_KEY,则尝试使用请求头中的 Authorization 值\n - 使用获取到的认证信息向配置的鉴权地址发送请求\n - 只有鉴权成功(返回 200 状态码)的请求才会被处理\n - 鉴权失败的请求会收到 401 Unauthorized 响应\n \n" }, { "date": 1744269995601, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -378,42 +378,19 @@\n 本项目采用MIT许可证 - 详情请参阅[LICENSE](LICENSE)文件。\n \n ## 鉴权配置\n \n-SSE 服务现在支持多种 API 鉴权机制,每个请求都需要携带有效的认证信息:\n+SSE 服务现在支持 API 鉴权机制,每个请求都需要携带有效的认证信息:\n \n 1. 配置鉴权服务地址:\n - 在 `.env` 文件中设置 `MCP_AUTH_URL` 环境变量(默认为 `http://170.106.105.206:4000/users`)\n \n-2. 客户端配置(两种方式任选其一):\n-\n- A. 请求头方式:\n+2. 客户端配置:\n - 在 Cursor 插件中配置时,需要添加 `Authorization` 请求头\n - 格式为 `Bearer <your-token>`,其中 `<your-token>` 是有效的 JWT Token\n \n- B. 环境变量方式(推荐):\n- - 在 Cursor 配置文件中添加环境变量配置:\n- 1. 打开 ~/.cursor/mcp.json 文件\n- 2. 添加 env.API_KEY 配置,示例如下:\n- ```json\n- {\n- \"file\": {\n- \"url\": \"https://ibu-mcp.shurongdai.cn/file/sse\"\n- },\n- \"env\": {\n- \"API_KEY\": \"your-api-key-here\"\n- }\n- }\n- ```\n- - 服务器会自动从请求中提取 API_KEY,并用于鉴权\n- - 这种方式比请求头方式更安全,不需要修改每个请求的头部\n-\n 3. 鉴权流程:\n- - 当 SSE 服务收到请求时,会按以下顺序尝试获取认证信息:\n- 1. 首先检查请求参数中是否包含 env 参数并提取 API_KEY\n- 2. 如果找到有效的 API_KEY,使用 `Bearer {api_key}` 格式构建认证头\n- 3. 如果未找到 API_KEY,则尝试使用请求头中的 Authorization 值\n- - 使用获取到的认证信息向配置的鉴权地址发送请求\n+ - 当 SSE 服务收到请求时,会向配置的鉴权地址发送请求,并传递客户端提供的 Authorization 头\n - 只有鉴权成功(返回 200 状态码)的请求才会被处理\n - 鉴权失败的请求会收到 401 Unauthorized 响应\n \n ## 部署方式\n" }, { "date": 1744270329741, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -384,13 +384,15 @@\n 1. 配置鉴权服务地址:\n - 在 `.env` 文件中设置 `MCP_AUTH_URL` 环境变量(默认为 `http://170.106.105.206:4000/users`)\n \n 2. 客户端配置:\n- - 在 Cursor 插件中配置时,需要添加 `Authorization` 请求头\n- - 格式为 `Bearer <your-token>`,其中 `<your-token>` 是有效的 JWT Token\n+ - 在 Cursor 插件中配置时,需要在 URL 中添加 `token` 查询参数\n+ - 格式为 `http://your-server:8000/sse?token=<your-token>`\n+ - 服务器会自动将 token 转换为 `Bearer <your-token>` 格式发送到鉴权服务\n \n 3. 鉴权流程:\n- - 当 SSE 服务收到请求时,会向配置的鉴权地址发送请求,并传递客户端提供的 Authorization 头\n+ - 当 SSE 服务收到请求时,会从 URL 中提取 token 参数\n+ - 然后向配置的鉴权地址发送请求,并传递 `Authorization: Bearer <your-token>` 头\n - 只有鉴权成功(返回 200 状态码)的请求才会被处理\n - 鉴权失败的请求会收到 401 Unauthorized 响应\n \n ## 部署方式\n" }, { "date": 1744270339037, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -317,10 +317,9 @@\n \n 4. Cursor IDE配置:\n - 设置 → 功能 → 添加MCP服务器\n - 类型: \"sse\"\n-- URL: `http://localhost:8000/sse`\n-- Headers: 添加 `Authorization: Bearer <your-token>`\n+- URL: `http://localhost:8000/sse?token=<your-token>` (替换 `<your-token>` 为您的 JWT Token)\n \n ### 传统Python部署\n \n 1. 安装系统依赖:\n@@ -414,7 +413,6 @@\n \n 4. Cursor IDE配置:\n - 设置 → 功能 → 添加MCP服务器\n - 类型: \"sse\"\n-- URL: `http://localhost:8000/sse`\n-- Headers: 添加 `Authorization: Bearer <your-token>`\n+- URL: `http://localhost:8000/sse?token=<your-token>` (替换 `<your-token>` 为您的 JWT Token)\n \n" }, { "date": 1745494461336, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,8 +1,8 @@\n # MCP开发框架\n [![smithery badge](https://smithery.ai/badge/@aigo666/mcp-framework)](https://smithery.ai/server/@aigo666/mcp-framework)\n \n-一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取、文件处理(PDF、Word、Excel、CSV、Markdown)以及AI对话等高级功能。\n+一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取、文件处理(PDF、Word、Excel、CSV、Markdown)以及AI对话等高级功能。作为一个多元SSE格式的框架,它支持多种服务器发送事件格式,并具有强大的MCP工具扩展能力,使开发者能够快速构建和集成各种自定义工具。\n \n ## 主要功能\n \n 本框架提供了以下核心功能:\n@@ -142,14 +142,25 @@\n - PDF处理:支持快速预览和完整解析两种模式\n - Word处理:精确提取文本、表格和图片\n - Excel处理:高效处理大型表格数据\n \n-3. **内存优化**\n+3. **多元SSE格式支持**\n+ - 支持多种服务器发送事件(SSE)格式\n+ - 兼容各种LLM接口标准\n+ - 灵活的消息传递机制\n+\n+4. **强大的MCP工具扩展能力**\n+ - 插件化架构设计,易于扩展\n+ - 统一的工具注册和调用接口\n+ - 支持同步和异步工具开发\n+ - 丰富的工具开发API和辅助函数\n+\n+5. **内存优化**\n - 使用临时文件管理大型文件\n - 自动清理临时资源\n - 分块处理大型文档\n \n-4. **错误处理**\n+6. **错误处理**\n - 完整的异常捕获和处理\n - 详细的错误信息反馈\n - 优雅的失败处理机制\n \n" }, { "date": 1745494540822, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,8 +1,8 @@\n # MCP开发框架\n [![smithery badge](https://smithery.ai/badge/@aigo666/mcp-framework)](https://smithery.ai/server/@aigo666/mcp-framework)\n \n-一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取、文件处理(PDF、Word、Excel、CSV、Markdown)以及AI对话等高级功能。作为一个多元SSE格式的框架,它支持多种服务器发送事件格式,并具有强大的MCP工具扩展能力,使开发者能够快速构建和集成各种自定义工具。\n+一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取、文件处理(PDF、Word、Excel、CSV、Markdown)以及AI对话等高级功能。作为一个SSE格式的框架,它兼容多种服务器发送事件格式,并具有强大的MCP工具扩展能力,使开发者能够快速构建和集成各种自定义工具。\n \n ## 主要功能\n \n 本框架提供了以下核心功能:\n" }, { "date": 1745494572463, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,8 +1,8 @@\n # MCP开发框架\n [![smithery badge](https://smithery.ai/badge/@aigo666/mcp-framework)](https://smithery.ai/server/@aigo666/mcp-framework)\n \n-一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取、文件处理(PDF、Word、Excel、CSV、Markdown)以及AI对话等高级功能。作为一个SSE格式的框架,它兼容多种服务器发送事件格式,并具有强大的MCP工具扩展能力,使开发者能够快速构建和集成各种自定义工具。\n+一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取、文件处理(PDF、Word、Excel、CSV、Markdown)以及AI对话等高级功能。它具有强大的MCP工具扩展能力,使开发者能够快速构建和集成各种自定义工具。\n \n ## 主要功能\n \n 本框架提供了以下核心功能:\n@@ -142,25 +142,20 @@\n - PDF处理:支持快速预览和完整解析两种模式\n - Word处理:精确提取文本、表格和图片\n - Excel处理:高效处理大型表格数据\n \n-3. **多元SSE格式支持**\n- - 支持多种服务器发送事件(SSE)格式\n- - 兼容各种LLM接口标准\n- - 灵活的消息传递机制\n-\n-4. **强大的MCP工具扩展能力**\n+3. **强大的MCP工具扩展能力**\n - 插件化架构设计,易于扩展\n - 统一的工具注册和调用接口\n - 支持同步和异步工具开发\n - 丰富的工具开发API和辅助函数\n \n-5. **内存优化**\n+4. **内存优化**\n - 使用临时文件管理大型文件\n - 自动清理临时资源\n - 分块处理大型文档\n \n-6. **错误处理**\n+5. **错误处理**\n - 完整的异常捕获和处理\n - 详细的错误信息反馈\n - 优雅的失败处理机制\n \n" }, { "date": 1745494620706, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -399,8 +399,14 @@\n - 然后向配置的鉴权地址发送请求,并传递 `Authorization: Bearer <your-token>` 头\n - 只有鉴权成功(返回 200 状态码)的请求才会被处理\n - 鉴权失败的请求会收到 401 Unauthorized 响应\n \n+4. 推荐JWT鉴权服务:\n+ - 我们推荐使用Jason Watmore的Node.js JWT鉴权服务作为参考实现\n+ - 详细文档和示例代码:https://jasonwatmore.com/nodejs-jwt-authentication-tutorial-with-example-api\n+ - 该实现提供了完整的用户注册、登录、令牌生成和验证功能\n+ - 可以无缝集成到本框架的鉴权流程中\n+\n ## 部署方式\n \n ### Docker部署\n \n" }, { "date": 1745494909697, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -325,8 +325,39 @@\n - 设置 → 功能 → 添加MCP服务器\n - 类型: \"sse\"\n - URL: `http://localhost:8000/sse?token=<your-token>` (替换 `<your-token>` 为您的 JWT Token)\n \n+## 鉴权配置\n+\n+<details>\n+<summary>点击展开查看详细的鉴权配置信息</summary>\n+\n+SSE 服务现在支持 API 鉴权机制,每个请求都需要携带有效的认证信息:\n+\n+1. 配置鉴权服务地址:\n+ - 在 `.env` 文件中设置 `MCP_AUTH_URL` 环境变量(默认为 `http://170.106.105.206:4000/users`)\n+\n+2. 客户端配置:\n+ - 在 Cursor 插件中配置时,需要在 URL 中添加 `token` 查询参数\n+ - 格式为 `http://your-server:8000/sse?token=<your-token>`\n+ - 服务器会自动将 token 转换为 `Bearer <your-token>` 格式发送到鉴权服务\n+\n+3. 鉴权流程:\n+ - 当 SSE 服务收到请求时,会从 URL 中提取 token 参数\n+ - 然后向配置的鉴权地址发送请求,并传递 `Authorization: Bearer <your-token>` 头\n+ - 只有鉴权成功(返回 200 状态码)的请求才会被处理\n+ - 鉴权失败的请求会收到 401 Unauthorized 响应\n+\n+4. 推荐JWT鉴权服务:\n+ - 我们推荐使用Jason Watmore的Node.js JWT鉴权服务作为参考实现\n+ - 详细文档和示例代码:https://jasonwatmore.com/nodejs-jwt-authentication-tutorial-with-example-api\n+ - 该实现提供了完整的用户注册、登录、令牌生成和验证功能\n+ - 可以无缝集成到本框架的鉴权流程中\n+\n+</details>\n+\n+## 部署方式\n+\n ### 传统Python部署\n \n 1. 安装系统依赖:\n ```bash\n@@ -379,52 +410,5 @@\n 5. 打开Pull Request\n \n ## 许可证\n \n-本项目采用MIT许可证 - 详情请参阅[LICENSE](LICENSE)文件。\n-\n-## 鉴权配置\n-\n-SSE 服务现在支持 API 鉴权机制,每个请求都需要携带有效的认证信息:\n-\n-1. 配置鉴权服务地址:\n- - 在 `.env` 文件中设置 `MCP_AUTH_URL` 环境变量(默认为 `http://170.106.105.206:4000/users`)\n-\n-2. 客户端配置:\n- - 在 Cursor 插件中配置时,需要在 URL 中添加 `token` 查询参数\n- - 格式为 `http://your-server:8000/sse?token=<your-token>`\n- - 服务器会自动将 token 转换为 `Bearer <your-token>` 格式发送到鉴权服务\n-\n-3. 鉴权流程:\n- - 当 SSE 服务收到请求时,会从 URL 中提取 token 参数\n- - 然后向配置的鉴权地址发送请求,并传递 `Authorization: Bearer <your-token>` 头\n- - 只有鉴权成功(返回 200 状态码)的请求才会被处理\n- - 鉴权失败的请求会收到 401 Unauthorized 响应\n-\n-4. 推荐JWT鉴权服务:\n- - 我们推荐使用Jason Watmore的Node.js JWT鉴权服务作为参考实现\n- - 详细文档和示例代码:https://jasonwatmore.com/nodejs-jwt-authentication-tutorial-with-example-api\n- - 该实现提供了完整的用户注册、登录、令牌生成和验证功能\n- - 可以无缝集成到本框架的鉴权流程中\n-\n-## 部署方式\n-\n-### Docker部署\n-\n-1. 构建镜像:\n-```bash\n-docker-compose build\n-```\n-\n-2. 启动服务:\n-```bash\n-docker-compose up -d\n-```\n-\n-3. 访问服务:\n- - SSE端点: http://localhost:8000/sse\n-\n-4. Cursor IDE配置:\n-- 设置 → 功能 → 添加MCP服务器\n-- 类型: \"sse\"\n-- URL: `http://localhost:8000/sse?token=<your-token>` (替换 `<your-token>` 为您的 JWT Token)\n-\n+本项目采用MIT许可证 - 详情请参阅[LICENSE](LICENSE)文件。\n\\ No newline at end of file\n" }, { "date": 1745494964681, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -4,8 +4,11 @@\n 一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取、文件处理(PDF、Word、Excel、CSV、Markdown)以及AI对话等高级功能。它具有强大的MCP工具扩展能力,使开发者能够快速构建和集成各种自定义工具。\n \n ## 主要功能\n \n+<details>\n+<summary>点击展开查看框架提供的核心功能</summary>\n+\n 本框架提供了以下核心功能:\n \n ### 1. 综合文件处理\n \n@@ -129,8 +132,10 @@\n - 完整的错误处理\n - 60秒超时保护\n - 保持连接配置优化\n \n+</details>\n+\n ## 技术特点\n \n 本框架采用了多种技术来优化文件处理性能:\n \n" }, { "date": 1745548044514, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,7 +1,11 @@\n # MCP开发框架\n [![smithery badge](https://smithery.ai/badge/@aigo666/mcp-framework)](https://smithery.ai/server/@aigo666/mcp-framework)\n \n+<a href=\"https://glama.ai/mcp/servers/@aigo666/mcp-framework\">\n+<img width=\"380\" height=\"200\" src=\"https://glama.ai/mcp/servers/@aigo666/mcp-framework/badge\" />\n+</a>\n+\n 一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取、文件处理(PDF、Word、Excel、CSV、Markdown)以及AI对话等高级功能。它具有强大的MCP工具扩展能力,使开发者能够快速构建和集成各种自定义工具。\n \n ## 主要功能\n \n" }, { "date": 1745548263928, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,11 +1,7 @@\n # MCP开发框架\n [![smithery badge](https://smithery.ai/badge/@aigo666/mcp-framework)](https://smithery.ai/server/@aigo666/mcp-framework)\n \n-<a href=\"https://glama.ai/mcp/servers/@aigo666/mcp-framework\">\n-<img width=\"380\" height=\"200\" src=\"https://glama.ai/mcp/servers/@aigo666/mcp-framework/badge\" />\n-</a>\n-\n 一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取、文件处理(PDF、Word、Excel、CSV、Markdown)以及AI对话等高级功能。它具有强大的MCP工具扩展能力,使开发者能够快速构建和集成各种自定义工具。\n \n ## 主要功能\n \n" }, { "date": 1745548297898, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,7 +1,12 @@\n # MCP开发框架\n [![smithery badge](https://smithery.ai/badge/@aigo666/mcp-framework)](https://smithery.ai/server/@aigo666/mcp-framework)\n+[![glama badge](https://glama.ai/mcp/servers/@aigo666/mcp-framework/badge)](https://glama.ai/mcp/servers/@aigo666/mcp-framework)\n \n+<a href=\"https://glama.ai/mcp/servers/@aigo666/mcp-framework\">\n+<img width=\"380\" height=\"200\" src=\"https://glama.ai/mcp/servers/@aigo666/mcp-framework/badge\" />\n+</a>\n+\n 一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取、文件处理(PDF、Word、Excel、CSV、Markdown)以及AI对话等高级功能。它具有强大的MCP工具扩展能力,使开发者能够快速构建和集成各种自定义工具。\n \n ## 主要功能\n \n" }, { "date": 1745548308331, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,12 +1,8 @@\n # MCP开发框架\n [![smithery badge](https://smithery.ai/badge/@aigo666/mcp-framework)](https://smithery.ai/server/@aigo666/mcp-framework)\n [![glama badge](https://glama.ai/mcp/servers/@aigo666/mcp-framework/badge)](https://glama.ai/mcp/servers/@aigo666/mcp-framework)\n \n-<a href=\"https://glama.ai/mcp/servers/@aigo666/mcp-framework\">\n-<img width=\"380\" height=\"200\" src=\"https://glama.ai/mcp/servers/@aigo666/mcp-framework/badge\" />\n-</a>\n-\n 一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取、文件处理(PDF、Word、Excel、CSV、Markdown)以及AI对话等高级功能。它具有强大的MCP工具扩展能力,使开发者能够快速构建和集成各种自定义工具。\n \n ## 主要功能\n \n" }, { "date": 1745548352603, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,8 +1,12 @@\n # MCP开发框架\n [![smithery badge](https://smithery.ai/badge/@aigo666/mcp-framework)](https://smithery.ai/server/@aigo666/mcp-framework)\n [![glama badge](https://glama.ai/mcp/servers/@aigo666/mcp-framework/badge)](https://glama.ai/mcp/servers/@aigo666/mcp-framework)\n \n+<a href=\"https://glama.ai/mcp/servers/@aigo666/mcp-framework\">\n+<img width=\"380\" height=\"200\" src=\"https://glama.ai/mcp/servers/@aigo666/mcp-framework/badge\" />\n+</a>\n+\n 一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取、文件处理(PDF、Word、Excel、CSV、Markdown)以及AI对话等高级功能。它具有强大的MCP工具扩展能力,使开发者能够快速构建和集成各种自定义工具。\n \n ## 主要功能\n \n" }, { "date": 1745548365671, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,14 +1,14 @@\n # MCP开发框架\n [![smithery badge](https://smithery.ai/badge/@aigo666/mcp-framework)](https://smithery.ai/server/@aigo666/mcp-framework)\n [![glama badge](https://glama.ai/mcp/servers/@aigo666/mcp-framework/badge)](https://glama.ai/mcp/servers/@aigo666/mcp-framework)\n \n+一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取、文件处理(PDF、Word、Excel、CSV、Markdown)以及AI对话等高级功能。它具有强大的MCP工具扩展能力,使开发者能够快速构建和集成各种自定义工具。\n+\n <a href=\"https://glama.ai/mcp/servers/@aigo666/mcp-framework\">\n <img width=\"380\" height=\"200\" src=\"https://glama.ai/mcp/servers/@aigo666/mcp-framework/badge\" />\n </a>\n \n-一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取、文件处理(PDF、Word、Excel、CSV、Markdown)以及AI对话等高级功能。它具有强大的MCP工具扩展能力,使开发者能够快速构建和集成各种自定义工具。\n-\n ## 主要功能\n \n <details>\n <summary>点击展开查看框架提供的核心功能</summary>\n" }, { "date": 1745548404903, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -3,12 +3,8 @@\n [![glama badge](https://glama.ai/mcp/servers/@aigo666/mcp-framework/badge)](https://glama.ai/mcp/servers/@aigo666/mcp-framework)\n \n 一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取、文件处理(PDF、Word、Excel、CSV、Markdown)以及AI对话等高级功能。它具有强大的MCP工具扩展能力,使开发者能够快速构建和集成各种自定义工具。\n \n-<a href=\"https://glama.ai/mcp/servers/@aigo666/mcp-framework\">\n-<img width=\"380\" height=\"200\" src=\"https://glama.ai/mcp/servers/@aigo666/mcp-framework/badge\" />\n-</a>\n-\n ## 主要功能\n \n <details>\n <summary>点击展开查看框架提供的核心功能</summary>\n" }, { "date": 1745548596451, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -1,10 +1,13 @@\n # MCP开发框架\n [![smithery badge](https://smithery.ai/badge/@aigo666/mcp-framework)](https://smithery.ai/server/@aigo666/mcp-framework)\n-[![glama badge](https://glama.ai/mcp/servers/@aigo666/mcp-framework/badge)](https://glama.ai/mcp/servers/@aigo666/mcp-framework)\n \n 一个强大的MCP(Model Context Protocol)开发框架,用于创建与大语言模型交互的自定义工具。该框架提供了一套完整的工具集,可以轻松地扩展Cursor IDE的功能,实现网页内容获取、文件处理(PDF、Word、Excel、CSV、Markdown)以及AI对话等高级功能。它具有强大的MCP工具扩展能力,使开发者能够快速构建和集成各种自定义工具。\n \n+<a href=\"https://glama.ai/mcp/servers/@aigo666/mcp-framework\">\n+ <img width=\"380\" height=\"200\" src=\"https://glama.ai/mcp/servers/@aigo666/mcp-framework/badge\" />\n+</a>\n+\n ## 主要功能\n \n <details>\n <summary>点击展开查看框架提供的核心功能</summary>\n" }, { "date": 1745549465460, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -304,9 +304,9 @@\n \n 1. 初始设置:\n ```bash\n # 克隆仓库\n-git clone https://github.com/your-username/mcp-framework.git\n+git clone https://github.com/aigo666/mcp-framework.git\n cd mcp-framework\n \n # 创建环境文件\n cp .env.example .env\n@@ -411,9 +411,9 @@\n - `click`: 命令行接口\n \n ## 贡献指南\n \n-1. Fork仓库\n+1. Fork [本仓库](https://github.com/aigo666/mcp-framework)\n 2. 创建功能分支 (`git checkout -b feature/amazing-feature`)\n 3. 提交更改 (`git commit -m 'Add some amazing feature'`)\n 4. 推送到分支 (`git push origin feature/amazing-feature`)\n 5. 打开Pull Request\n" }, { "date": 1745549527531, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -412,12 +412,12 @@\n \n ## 贡献指南\n \n 1. Fork [本仓库](https://github.com/aigo666/mcp-framework)\n-2. 创建功能分支 (`git checkout -b feature/amazing-feature`)\n-3. 提交更改 (`git commit -m 'Add some amazing feature'`)\n-4. 推送到分支 (`git push origin feature/amazing-feature`)\n-5. 打开Pull Request\n+2. 创建功能分支 (`git checkout -b feature/mcp-tool-改进`)\n+3. 提交更改 (`git commit -m '添加新的MCP工具功能'`)\n+4. 推送到分支 (`git push origin feature/mcp-tool-改进`)\n+5. 打开Pull Request到`aigo666/mcp-framework`仓库\n \n ## 许可证\n \n 本项目采用MIT许可证 - 详情请参阅[LICENSE](LICENSE)文件。\n\\ No newline at end of file\n" }, { "date": 1745549574885, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -412,12 +412,12 @@\n \n ## 贡献指南\n \n 1. Fork [本仓库](https://github.com/aigo666/mcp-framework)\n-2. 创建功能分支 (`git checkout -b feature/mcp-tool-改进`)\n-3. 提交更改 (`git commit -m '添加新的MCP工具功能'`)\n-4. 推送到分支 (`git push origin feature/mcp-tool-改进`)\n-5. 打开Pull Request到`aigo666/mcp-framework`仓库\n+2. 创建功能分支 (`git checkout -b feature/amazing-feature`)\n+3. 提交更改 (`git commit -m 'Add some amazing feature'`)\n+4. 推送到分支 (`git push origin feature/amazing-feature`)\n+5. 打开Pull Request\n \n ## 许可证\n \n 本项目采用MIT许可证 - 详情请参阅[LICENSE](LICENSE)文件。\n\\ No newline at end of file\n" }, { "date": 1745549612492, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -415,9 +415,9 @@\n 1. Fork [本仓库](https://github.com/aigo666/mcp-framework)\n 2. 创建功能分支 (`git checkout -b feature/amazing-feature`)\n 3. 提交更改 (`git commit -m 'Add some amazing feature'`)\n 4. 推送到分支 (`git push origin feature/amazing-feature`)\n-5. 打开Pull Request\n+5. 在 [本仓库](https://github.com/aigo666/mcp-framework) 中打开Pull Request\n \n ## 许可证\n \n 本项目采用MIT许可证 - 详情请参阅[LICENSE](LICENSE)文件。\n\\ No newline at end of file\n" }, { "date": 1745549735974, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -411,13 +411,13 @@\n - `click`: 命令行接口\n \n ## 贡献指南\n \n-1. Fork [本仓库](https://github.com/aigo666/mcp-framework)\n-2. 创建功能分支 (`git checkout -b feature/mcp-tool-enhancement`)\n-3. 提交更改 (`git commit -m '改进MCP工具功能'`)\n-4. 推送到分支 (`git push origin feature/mcp-tool-enhancement`)\n-5. 在 [本仓库](https://github.com/aigo666/mcp-framework) 中打开Pull Request\n+1. Fork仓库\n+2. 创建功能分支 (`git checkout -b aigo666/mcp-framework`)\n+3. 提交更改 (`git commit -m 'Add some amazing feature'`)\n+4. 推送到分支 (`git push origin aigo666/mcp-framework`)\n+5. 打开Pull Request\n \n ## 许可证\n \n 本项目采用MIT许可证 - 详情请参阅[LICENSE](LICENSE)文件。\n\\ No newline at end of file\n" }, { "date": 1745550090248, "content": "Index: \n===================================================================\n--- \n+++ \n@@ -342,9 +342,9 @@\n \n SSE 服务现在支持 API 鉴权机制,每个请求都需要携带有效的认证信息:\n \n 1. 配置鉴权服务地址:\n- - 在 `.env` 文件中设置 `MCP_AUTH_URL` 环境变量(默认为 `http://170.106.105.206:4000/users` 该鉴权地址仅供测试,不保证长期稳定)\n+ - 在 `.env` 文件中设置 `MCP_AUTH_URL` 环境变量(默认为 `http://170.106.105.206:4000/users` 该鉴权地址仅供测试,不保证长期稳定,建议使用以下项目自行部署)\n \n 2. 客户端配置:\n - 在 Cursor 插件中配置时,需要在 URL 中添加 `token` 查询参数\n - 格式为 `http://your-server:8000/sse?token=<your-token>`\n" } ], "date": 1741245187085, "name": "Commit-0", "content": "# MCP Server Template for Cursor IDE\n\nA simple template for creating custom tools for Cursor IDE using Model Context Protocol (MCP). Create your own repository from this template, modify the tools, and connect them to your Cursor IDE.\n\n![Server Mood Response](docs/images/server-mood.png)\n\n## 可用工具\n\n1. **网站内容获取工具 (mcp_fetch)**\n - 获取指定URL的网站内容\n - 参数: `url` - 要获取内容的网站URL\n\n2. **服务器心情查询工具 (mood)**\n - 查询服务器的\"心情\"\n - 参数: `question` - 询问服务器心情的问题\n\n3. **PDF文档解析工具 (file)**\n - 解析PDF文档并提取文本和图片内容\n - 参数: `file_path` - PDF文件的本地路径\n - 返回: 文档的文本内容和图片(以base64编码形式)\n\n## Quick Start\n\n1. Click \"Deploy to Heroku\" button\n\n [![Deploy to Heroku](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/kirill-markin/weaviate-mcp-server)\n\n2. After deployment, configure Cursor:\n - Open Cursor Settings → Features\n - Add new MCP server\n - Use your Heroku URL with `/sse` path (e.g., `https://<your-app-name>.herokuapp.com/sse`)\n\n3. Test your agent's mood in Cursor:\n - Ask your agent \"Please ask about our server mood and let me know how it is.\"\n - The server will respond with a cheerful message and a heart ❤️\n\n## Alternative Setup Methods\n\nYou can run the server in three ways: using Docker, traditional Python setup, or directly in Cursor IDE.\n\n### Docker Setup\n\nThe project includes Docker support for easy deployment:\n\n1. Initial setup:\n```bash\n# Clone the repository\ngit clone https://github.com/kirill-markin/weaviate-mcp-server.git\ncd weaviate-mcp-server\n\n# Create environment file\ncp .env.example .env\n```\n\n2. Build and run using Docker Compose:\n```bash\n# Build and start the server\ndocker compose up --build -d\n\n# View logs\ndocker compose logs -f\n\n# Check server status\ndocker compose ps\n\n# Stop the server\ndocker compose down\n```\n\n3. The server will be available at:\n - SSE endpoint: http://localhost:8000/sse\n\n4. Quick test:\n```bash\n# Test the server endpoint\ncurl -i http://localhost:8000/sse\n```\n\n5. Connect to Cursor IDE:\n - Open Cursor Settings → Features\n - Add new MCP server\n - Type: Select \"sse\"\n - URL: Enter `http://localhost:8000/sse`\n\n### Traditional Setup\n\nFirst, install the uv package manager:\n\n```bash\n# Install uv on macOS\nbrew install uv\n# Or install via pip (any OS)\npip install uv\n```\n\nStart the server using either stdio (default) or SSE transport:\n\n```bash\n# Install the package with development dependencies\nuv pip install -e \".[dev]\"\n\n# Using stdio transport (default)\nuv run mcp-simple-tool\n\n# Using SSE transport on custom port\nuv run mcp-simple-tool --transport sse --port 8000\n\n# Run tests\nuv run pytest -v\n```\n\nAfter installation, you can connect the server directly to Cursor IDE:\n\n1. Right-click on the `cursor-run-mcp-server.sh` file in Cursor\n2. Select \"Copy Path\" to copy the absolute path\n3. Open Cursor Settings (gear icon)\n4. Navigate to Features tab\n5. Scroll down to \"MCP Servers\"\n6. Click \"Add new MCP server\"\n7. Fill in the form:\n - Name: Choose any name (e.g., \"my-mcp-server-1\")\n - Type: Select \"stdio\" (not \"sse\" because we run the server locally)\n - Command: Paste the absolute path to `cursor-run-mcp-server.sh` that you copied earlier. For example: `/Users/kirillmarkin/weaviate-mcp-server/cursor-run-mcp-server.sh`\n\n### Environment Variables\n\nAvailable environment variables (can be set in `.env`):\n\n- `MCP_SERVER_PORT` (default: 8000) - Port to run the server on\n- `MCP_SERVER_HOST` (default: 0.0.0.0) - Host to bind the server to\n- `DEBUG` (default: false) - Enable debug mode\n- `MCP_USER_AGENT` - Custom User-Agent for website fetching\n\n## Additional options\n\n### Installing via Smithery\n\n[![smithery badge](https://smithery.ai/badge/@kirill-markin/example-mcp-server)](https://smithery.ai/server/@kirill-markin/example-mcp-server)\n\nTo install MCP Server Template for Cursor IDE for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@kirill-markin/example-mcp-server):\n\n```bash\nnpx -y @smithery/cli install @kirill-markin/example-mcp-server --client claude\n```\n\n### Glama server review\n\n<a href=\"https://glama.ai/mcp/servers/jgisqn8zco\"><img width=\"380\" height=\"200\" src=\"https://glama.ai/mcp/servers/jgisqn8zco/badge\" alt=\"Server Template for Cursor IDE MCP server\" /></a>\n\n" } ] }

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/aigo666/mcp-framework'

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