Skip to main content
Glama

Acemcp

by yeuxuan
USAGE_GUIDE.md12.1 kB
# 🚀 Ace-MCP 使用和测试指南 ## 📋 目录 1. [快速开始](#快速开始) 2. [配置说明](#配置说明) 3. [在 Cursor 中使用](#在-cursor-中使用) 4. [在其他 MCP 客户端中使用](#在其他-mcp-客户端中使用) 5. [Web 管理界面使用](#web-管理界面使用) 6. [功能测试](#功能测试) 7. [常见问题](#常见问题) --- ## 快速开始 ### 1. 编译项目 ```bash cd D:/my_project/Ace-Mcp/Ace-Mcp-Node npm install npm run build ``` 验证编译成功: ```bash # 应该看到 dist/ 目录被创建 ls dist/ # 输出示例: # index.js config.js logger.js index/ tools/ web/ ``` ### 2. 初始化配置 首次运行会自动创建配置文件: ```bash npm start # 按 Ctrl+C 退出 # 配置文件已创建在: # Windows: C:\Users\你的用户名\.acemcp\settings.toml # Linux/Mac: ~/.acemcp/settings.toml ``` ### 3. 编辑配置 打开配置文件并修改: ```toml # ~/.acemcp/settings.toml BASE_URL = "https://your-api-endpoint.com" TOKEN = "your-actual-api-token" BATCH_SIZE = 10 MAX_LINES_PER_BLOB = 800 ``` ⚠️ **重要**:必须设置正确的 `BASE_URL` 和 `TOKEN`,否则索引和搜索功能无法工作。 --- ## 配置说明 ### 配置文件位置 - **Windows**: `C:\Users\<用户名>\.acemcp\settings.toml` - **Linux/Mac**: `~/.acemcp/settings.toml` ### 配置项说明 ```toml # API 基础 URL(必需) BASE_URL = "https://your-api.com" # API 访问令牌(必需) TOKEN = "your-token-here" # 批量上传大小(可选,默认 10) BATCH_SIZE = 10 # 每个 blob 的最大行数(可选,默认 800) MAX_LINES_PER_BLOB = 800 # 要索引的文件扩展名(可选) TEXT_EXTENSIONS = [ ".py", ".js", ".ts", ".jsx", ".tsx", ".java", ".go", ".rs", ".cpp", ".c", ".md", ".txt", ".json", ".yaml" ] # 排除模式(可选) EXCLUDE_PATTERNS = [ "node_modules", ".git", "dist", "build", ".venv", "venv", "__pycache__" ] ``` ### 数据目录 索引数据存储在: - **Windows**: `C:\Users\<用户名>\.acemcp\data\` - **Linux/Mac**: `~/.acemcp/data/` 包含的文件: - `projects.json` - 已索引项目的 blob 列表 --- ## 在 Cursor 中使用 ### 方法 1: 通过 Cursor 配置文件 1. 打开 Cursor 设置 2. 找到 MCP 服务器配置 3. 添加以下配置: ```json { "mcpServers": { "acemcp": { "command": "node", "args": [ "D:/my_project/Ace-Mcp/Ace-Mcp-Node/dist/index.js" ], "env": {} } } } ``` ⚠️ **注意**:路径使用正斜杠 `/`,即使在 Windows 上。 ### 方法 2: 使用命令行参数 如果不想使用配置文件,可以直接传递参数: ```json { "mcpServers": { "acemcp": { "command": "node", "args": [ "D:/my_project/Ace-Mcp/Ace-Mcp-Node/dist/index.js", "--base-url", "https://your-api.com", "--token", "your-token" ], "env": {} } } } ``` ### 方法 3: 带 Web 管理界面 ```json { "mcpServers": { "acemcp": { "command": "node", "args": [ "D:/my_project/Ace-Mcp/Ace-Mcp-Node/dist/index.js", "--web-port", "8080" ], "env": {} } } } ``` 然后访问 http://localhost:8080 管理服务器。 ### 在 Cursor 中测试 1. 重启 Cursor 2. 打开一个项目文件 3. 在聊天框中输入: ``` @acemcp search_context 搜索日志配置相关代码 ``` 或者使用工具调用: ```json { "tool": "search_context", "arguments": { "project_root_path": "D:/my_project/Ace-Mcp/Ace-Mcp-Node", "query": "logging configuration setup" } } ``` --- ## 在其他 MCP 客户端中使用 ### Claude Desktop 编辑 Claude Desktop 配置文件: **Windows**: `%APPDATA%\Claude\claude_desktop_config.json` **Mac**: `~/Library/Application Support/Claude/claude_desktop_config.json` ```json { "mcpServers": { "acemcp": { "command": "node", "args": [ "D:/my_project/Ace-Mcp/Ace-Mcp-Node/dist/index.js" ] } } } ``` ### 其他兼容 MCP 的客户端 任何支持 MCP 协议的客户端都可以使用,只需配置: - **command**: `node` - **args**: `["/path/to/dist/index.js"]` - **transport**: `stdio` --- ## Web 管理界面使用 ### 启动 Web 界面 ```bash cd D:/my_project/Ace-Mcp/Ace-Mcp-Node npm start -- --web-port 8080 ``` 或者使用开发模式: ```bash npm run dev -- --web-port 8080 ``` ### 访问界面 在浏览器中打开:http://localhost:8080 ### 界面功能 #### 1. 服务器状态 - 查看服务器运行状态 - 查看已索引项目数量 - 查看存储路径 #### 2. 配置管理 - 在线查看当前配置 - 修改配置项 - 保存配置到文件 - 立即生效(无需重启) #### 3. 实时日志 - WebSocket 连接实时推送日志 - 支持日志级别过滤 - 自动滚动到最新日志 #### 4. 工具调试器 - 在线测试 `search_context` 工具 - 查看工具调用结果 - 调试工具参数 ### Web 界面使用示例 1. **测试索引功能**: ```json 工具名称: search_context 参数 (JSON): { "project_root_path": "D:/my_project/Ace-Mcp/Ace-Mcp-Node", "query": "web server setup" } ``` 2. **修改配置**: - 点击"Configuration Management" - 修改 `BATCH_SIZE` 或其他配置 - 点击"Save Configuration" - 观察日志确认配置已更新 --- ## 功能测试 ### 测试 1: 验证服务器启动 ```bash npm start # 预期输出: # 正在启动 acemcp MCP 服务器... # 配置: index_storage_path=C:\Users\...\data, batch_size=10 # API: base_url=https://... # MCP 服务器已通过 stdio 连接 ``` ✅ 看到 "MCP 服务器已通过 stdio 连接" 表示成功。 ### 测试 2: 验证 Web 界面 ```bash npm start -- --web-port 8080 # 预期输出: # 正在启动 Web 管理界面,端口 8080 # Web management interface running on http://localhost:8080 ``` 访问 http://localhost:8080,应该看到管理界面。 ### 测试 3: 索引本地项目 使用 Web 界面或直接调用工具: ```bash # 创建测试脚本 test.js cat > test.js << 'EOF' import { IndexManager } from './dist/index/manager.js'; const manager = new IndexManager( 'C:/Users/<你的用户名>/.acemcp/data', 'https://your-api.com', 'your-token', new Set(['.js', '.ts', '.md']), 10, 800, ['node_modules', '.git'] ); async function test() { try { const result = await manager.indexProject('D:/my_project/Ace-Mcp/Ace-Mcp-Node'); console.log('索引结果:', result); } catch (error) { console.error('索引失败:', error); } } test(); EOF # 运行测试 node test.js ``` ### 测试 4: 搜索功能 在 Cursor 或 Web 界面中测试搜索: ```json { "project_root_path": "D:/my_project/Ace-Mcp/Ace-Mcp-Node", "query": "logging configuration setup" } ``` 预期返回:与日志配置相关的代码片段。 ### 测试 5: 增量索引 第二次运行索引: ```bash node test.js # 预期输出: # 增量索引: total=150, existing=150, new=0, to_upload=0 # No new blobs to upload, all blobs already exist in index ``` ✅ 说明增量索引正常工作,不会重复上传。 ### 测试 6: 多编码文件 创建不同编码的测试文件: ```bash # UTF-8 文件 echo "Hello World" > test_utf8.txt # GBK 文件(Windows 中文) echo "你好世界" > test_gbk.txt ``` 索引包含这些文件的目录,检查日志: ``` Successfully read test_utf8.txt with encoding: utf-8 Successfully read test_gbk.txt with encoding: gbk ``` ### 测试 7: 文件分割 创建一个超过 800 行的大文件: ```bash # 创建 1000 行的文件 for i in {1..1000}; do echo "Line $i"; done > large_file.txt ``` 索引后检查日志: ``` Split file large_file.txt (1000 lines) into 2 chunks ``` ### 测试 8: .gitignore 支持 在项目根目录创建 `.gitignore`: ```gitignore node_modules/ dist/ *.log ``` 索引时检查日志: ``` Loaded .gitignore with X patterns Excluded by .gitignore: node_modules/express ``` --- ## 常见问题 ### Q1: 如何验证 MCP 服务器是否正常工作? **A**: 三种方法: 1. **查看启动日志**: ```bash npm start # 应该看到 "MCP 服务器已通过 stdio 连接" ``` 2. **使用 Web 界面**: ```bash npm start -- --web-port 8080 # 访问 http://localhost:8080 # 查看服务器状态 ``` 3. **在 MCP 客户端中测试**: - 在 Cursor 中调用 `search_context` 工具 - 检查是否返回结果 ### Q2: 索引失败怎么办? **A**: 检查以下几点: 1. **检查配置**: ```bash cat ~/.acemcp/settings.toml # 确认 BASE_URL 和 TOKEN 正确 ``` 2. **检查网络**: ```bash curl https://your-api-endpoint.com/health ``` 3. **查看日志**: ```bash tail -f ~/.acemcp/log/acemcp.log # 查看详细错误信息 ``` 4. **检查项目路径**: ```bash # 确保路径存在且可访问 ls "D:/my_project/Ace-Mcp/Ace-Mcp-Node" ``` ### Q3: Web 界面无法访问? **A**: 检查: 1. **端口占用**: ```bash # Windows netstat -ano | findstr :8080 # Linux/Mac lsof -i :8080 ``` 2. **防火墙**:确保端口 8080 未被防火墙阻止 3. **启动日志**:查看是否有错误信息 ### Q4: 编码错误怎么办? **A**: - 程序会自动尝试 UTF-8 → GBK → GB2312 → Latin-1 - 如果仍然失败,检查日志中的 `replacement characters` 警告 - 考虑手动转换文件编码 ### Q5: 如何清除索引数据? **A**: ```bash # 删除索引数据 rm ~/.acemcp/data/projects.json # 重新索引 npm start ``` ### Q6: Python 和 Node.js 版本可以共存吗? **A**: - ✅ 可以!它们共享相同的配置和数据格式 - 使用相同的 `~/.acemcp/` 目录 - 可以无缝切换 ### Q7: 如何更新配置? **A**: 三种方法: 1. **直接编辑配置文件**: ```bash nano ~/.acemcp/settings.toml # 重启服务器生效 ``` 2. **使用 Web 界面**: - 在线修改配置 - 点击保存 - 立即生效(无需重启) 3. **命令行参数**: ```bash npm start -- --base-url https://new-api.com --token new-token ``` ### Q8: 如何查看详细日志? **A**: ```bash # 实时查看日志 tail -f ~/.acemcp/log/acemcp.log # Windows PowerShell Get-Content -Path "$env:USERPROFILE\.acemcp\log\acemcp.log" -Wait ``` --- ## 🎯 完整测试流程示例 ### 1. 准备环境 ```bash cd D:/my_project/Ace-Mcp/Ace-Mcp-Node npm install npm run build ``` ### 2. 配置 API ```bash # 编辑配置文件 notepad C:\Users\<你的用户名>\.acemcp\settings.toml # 设置: # BASE_URL = "https://your-api.com" # TOKEN = "your-token" ``` ### 3. 启动服务器(带 Web 界面) ```bash npm start -- --web-port 8080 ``` ### 4. 访问 Web 界面 打开浏览器:http://localhost:8080 ### 5. 测试索引 在 Web 界面的工具调试器中: ```json { "tool_name": "search_context", "arguments": { "project_root_path": "D:/my_project/Ace-Mcp/Ace-Mcp-Node", "query": "express web application setup" } } ``` ### 6. 观察结果 - 实时日志中应显示索引进度 - 工具调试器返回搜索结果 - 服务器状态显示已索引项目数 +1 ### 7. 在 Cursor 中使用 1. 配置 Cursor MCP 服务器 2. 重启 Cursor 3. 在项目中使用 `@acemcp` 搜索代码 --- ## 📞 获取帮助 如果遇到问题: 1. **查看文档**: - [README.md](./README.md) - [FINAL_CODE_REVIEW.md](./FINAL_CODE_REVIEW.md) 2. **检查日志**: - `~/.acemcp/log/acemcp.log` 3. **提交 Issue**: - 包含错误日志 - 包含配置信息(隐藏敏感信息) - 描述复现步骤 4. **联系作者**: - Email: wmymz@icloud.com --- ## ✅ 成功标准 索引和搜索功能正常工作的标志: - ✅ 服务器启动无错误 - ✅ Web 界面可以访问 - ✅ 索引项目成功(日志中显示上传的 blob 数量) - ✅ 搜索返回相关代码片段 - ✅ 增量索引不会重复上传文件 - ✅ 日志文件正常轮转 恭喜!你的 Ace-MCP 服务器已经正常工作了!🎉

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/yeuxuan/Ace-Mcp-Node'

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