使用说明
同理心MCP服务器v2.0.0🚀
生产准备就绪 模型上下文协议(MCP) 提供全面文件管理、命令执行和 智能代码分析 通过语言服务器协议(LSP)集成。
概述
Empathic扩展了Claude Desktop 23种专用工具 (16核+7 LSP)支持复杂的文件操作、命令执行和 实时代码智能 由锈分析仪供电。它基于JSON-RPC 2.0构建,提供可靠的通信、全面的错误处理和企业级性能。
🚀 v2.0.0亮点
- 🧠 真正的LSP集成:7个使用rust分析器进行智能rust代码分析的工具
- ⚡ 高性能:响应缓存(命中率95%以上)、优先级队列、连接池
- 📊 智能资源管理:自动重启、内存监控、优雅降级
- 🛡️ 生产就绪:综合测试(38/38测试通过),跨平台稳定性
- 🔧 清洁建筑:模块化设计,类型安全工具,最小样板
特性
文件系统操作(8个工具)
- 环境准入 -使用PATH增强功能读取环境变量
- 文件读取 -带可选分块的Unicode安全文件读取
- 文件写入 -支持行范围替换的原子文件写入
- 目录列表 -具有glob模式和.gitignore支持的递归目录遍历
- 文件删除 -具有递归功能的安全文件和目录删除
- 文本替换 -使用正则表达式和模糊匹配进行高级搜索和替换
- 目录创建 -使用自动父目录创建功能创建目录
- 符号链接 -跨平台符号链接创建和管理
命令执行(6个工具)
- shell命令 -执行具有完整bash功能支持的任意shell命令
- Git操作 -使用工作目录控件完成git命令执行
- Rust项目 -基于货物的Rust项目管理和构建操作
- 构建自动化 -基于Make的构建系统执行和目标管理
- Java/JVM项目 -基于Gradle的项目管理和依赖关系处理
- Node.js项目 -npm包管理和脚本执行
🧠 LSP集成(7个工具)-v2.0.0生产版本
由...驱动 真锈分析仪集成 (非模拟),提供企业级代码智能:
- 代码诊断 -实时编译器错误、警告和快速修复提示
- 悬停信息 -即时类型信息、文档和签名详细信息
- 代码补全 -具有智能排名和过滤功能的上下文感知自动补全
- 转到定义 -导航到整个项目中的符号定义
- 查找引用 -发现函数、类型和变量的所有用法
- 文件符号 -包含函数、结构、枚举和特征的文件结构大纲
- 工作区符号 -基于快速模糊匹配的项目范围符号搜索
LSP性能特征
- ⚡ 次秒级响应:悬停/完成<200ms,诊断<500ms
- 🚀 智能缓存:95%以上的缓存命中率,具有自动文件修改检测功能
- ♻️ 自动恢复:自动锈蚀分析仪在崩溃或资源耗尽时重新启动
- 🎯 优先级排队:首先处理关键请求(诊断)
- 📊 资源监控:支持跨平台的内存跟踪
安装
从源代码构建
# Clone repository
git clone <repository-url>
cd empathic
# Build release binary
make release
# Binary will be available at target/release/empathic
系统要求
- 发展:macOS与Rust 1.87+
- 部署:Ubuntu 24.10+或同等Linux发行版
- 依赖项:无外部运行时要求的自包含二进制文件
配置
环境变量
# Required
ROOT_DIR=/path/to/your/workspace
# Optional - Core
ADD_PATH=/additional/bin/paths # Colon-separated additional PATH entries
LOGLEVEL=warn # Log level: debug, info, warn, error
LOGFILE=/path/to/logfile.log # Optional: Write logs to file (stdout + file)
# Optional - LSP Integration (v2.0.0)
LSP_TIMEOUT=60 # LSP request timeout in seconds
RA_LOG=warn # rust-analyzer log level: debug, info, warn, error
LSP_RESTART_DELAY=2 # Restart delay in seconds for crashed LSP servers
Claude桌面集成
添加到您的Claude Desktop配置文件中:
{
"mcpServers": {
"empathic": {
"command": "/path/to/empathic",
"env": {
"ROOT_DIR": "/Users/username/projects",
"LOGLEVEL": "warn"
}
}
}
}
用法
配置后,当Claude Desktop启动时,empathic会自动运行。服务器提供了Claude可以调用的工具:
- 在工作区中读写文件
- 执行开发命令(git、cargo、npm等)
- 在项目目录中导航和搜索
- 执行文本转换和替换
- 管理项目构建过程
- 🧠 新功能:使用智能LSP驱动的工具分析Rust代码
- ⚡ 新功能:获得实时诊断、完成和导航
所有操作仅限于配置 ROOT_DIR 为了安全。
LSP先决条件
为了使LSP集成正常工作:
-
安装锈蚀分析仪:可通过PATH(例如,通过rustup)获得
rustup component add rust-analyzer # OR via package manager # brew install rust-analyzer # macOS # apt install rust-analyzer # Ubuntu -
Rust项目:LSP工具自动检测Rust项目(包含
Cargo.toml) -
演出:锈蚀分析仪分析项目时,首次LSP请求可能需要更长的时间
发展
构建命令
make build # Debug build for development
make release # Optimized production build
make test # Run full test suite
make check # Run linting and formatting checks
make clean # Clean build artifacts
项目结构
src/
├── main.rs # Entry point and JSON-RPC server
├── lib.rs # Library exports
├── config.rs # Configuration management
├── mcp.rs # MCP protocol implementation
├── fs.rs # Filesystem utilities
├── lsp/ # 🧠 LSP integration (NEW v2.0.0)
│ ├── mod.rs # LSP module exports
│ ├── manager.rs # Process lifecycle management
│ ├── client.rs # JSON-RPC communication layer
│ ├── project_detector.rs # Rust project detection
│ ├── types.rs # LSP error wrappers
│ ├── cache.rs # Response caching with TTL
│ ├── performance.rs # Priority queues and metrics
│ └── resource.rs # Memory monitoring and restart
└── tools/ # MCP tool implementations
├── mod.rs # Tool registry and common utilities
├── env.rs # Environment variable access
├── read_file.rs # File reading operations
├── write_file.rs # File writing operations
├── list_files.rs # Directory listing
├── delete_file.rs # File deletion
├── replace.rs # Text search and replace
├── mkdir.rs # Directory creation
├── symlink.rs # Symbolic link management
├── executor.rs # Command execution tools
└── lsp/ # 🧠 LSP tools (NEW v2.0.0)
├── mod.rs # LSP tools exports
├── diagnostics.rs # lsp_diagnostics
├── hover.rs # lsp_hover
├── completion.rs # lsp_completion
├── goto_definition.rs # lsp_goto_definition
├── find_references.rs # lsp_find_references
├── document_symbols.rs # lsp_document_symbols
└── workspace_symbols.rs # lsp_workspace_symbols
tests/
├── common/ # Shared test utilities
├── lsp/ # 🧠 LSP integration tests (NEW v2.0.0)
│ ├── manager.rs # Process management tests
│ ├── client.rs # JSON-RPC communication tests
│ └── integration.rs # End-to-end LSP tests
├── lsp_tools/ # 🧠 Individual LSP tool tests (NEW v2.0.0)
│ └── *.rs # Per-tool test files
└── *.rs # Per-tool test files
测试
该项目包括全面的测试,包括:
- 所有21个带边缘外壳的MCP工具(14个核心+7个LSP工具)
- Unicode处理和国际文本支持
- 跨平台兼容性(macOS和Ubuntu)
- 错误条件和恢复机制
- 🧠 新增:LSP集成和锈蚀分析仪通信
- ⚡ 新增:使用缓存和资源管理进行性能测试
- 📊 新功能:具有内存泄漏检测功能的长期运行稳定性测试
使用运行测试 make test 或 cargo test.
测试结果v2.0.0
- 核心测试:所有16核MCP工具通过✅
- LSP测试:所有7个LSP工具均通过真锈分析仪✅
- 总覆盖范围:38/38项测试通过(100%)✅
- 代码质量:零警告,干净汇编✅
技术细节
协议遵从
- JSON-RPC 2.0:完全符合规范,符合正确的错误代码
- MCP v1.0:完成模型上下文协议实现
- Unicode支持:国际文本的正确字形聚类处理
- 错误处理:带有上下文信息的结构化错误响应
演出
- 针对典型开发工作流程进行了优化
- 内存效率高,运行时开销最小
- 响应式工具执行的快速启动时间
- 尽可能进行原子文件操作
- 🚀 新增:LSP响应缓存,命中率超过95%
- ⚡ 新增:基于优先级的请求排队(严重/高/中/低)
- 📊 新:连接池与LRU驱逐
- 🔄 新:资源枯竭时自动锈分析仪重新启动
LSP绩效目标
- 快速操作 (悬停,完成):<200ms✅
- 中型运营 (诊断,转到):<500ms✅
- 操作缓慢 (工作区符号):<2s✅
- 内存监控开销:每个周期<1ms✅
安全
- 所有操作仅限于配置的工作区目录
- 无网络访问或外部系统修改
- 安全处理用户输入和文件路径
- 正确的错误隔离和恢复
日志记录
Empathic提供具有可配置级别的结构化日志记录:
- 错误:工具故障和协议错误
- 警告:性能问题和回退操作
- 信息:工具执行和文件操作
- 调试:详细的协议消息和内部状态
使用配置日志记录级别 LOGLEVEL 环境变量。
日志文件输出
通过设置以下选项,将所有日志输出转换为文件(可选) LOGFILE 环境变量:
# Logs will be written to both stdout and the specified file
export LOGFILE=/var/log/empathic.log
日志文件以追加模式打开,允许日志在服务器重新启动时累积。所有日志级别都尊重 LOGLEVEL 或 RUST_LOG 设置。
故障排除
LSP集成问题
未找到锈蚀分析仪
Error: Failed to spawn rust-analyzer: No such file or directory
解决方案:安装锈蚀分析仪并确保其在您的PATH中
# Via rustup (recommended)
rustup component add rust-analyzer
# Via package manager
brew install rust-analyzer # macOS
apt install rust-analyzer # Ubuntu
LSP请求超时
Error: LSP request timed out after 60 seconds
解决方案:
- 增加超时时间:
LSP_TIMEOUT=120 - 等待初始项目分析完成
- 检查锈蚀分析仪日志:
RA_LOG=debug - 验证项目是否有效
Cargo.toml
内存问题
Warning: rust-analyzer exceeding memory limit, restarting...
解决方案:
- 监视器:
empathic将自动重新启动高内存进程 - 大型项目:增加超时时间
LSP_RESTART_DELAY=5 - 排除中的大目录
.gitignore
没有可用的LSP功能
Info: LSP tools available but no rust-analyzer features detected
解决方案:
- 确保您位于Rust项目目录中(包含
Cargo.toml) - 检查
ROOT_DIR包含您的Rust项目 - 验证
cargo check项目中的工作 - 跑
cargo build确保项目有效
性能问题
Slow LSP responses, completion delays
解决方案:
- 首次分析速度较慢(等待完成)
- 检查日志中的缓存状态
- 使用系统工具监控内存使用情况
- 考虑更小
ROOT_DIR范围
一般故障排除
文件操作错误
Error: Operation failed outside ROOT_DIR
解决方案:确保 ROOT_DIR 设置正确,所有目标文件都在其中
权限问题
Error: Permission denied accessing file
解决方案:检查文件权限和用户访问权限
Unicode问题
Error: Invalid UTF-8 sequence
解决方案:确保文件是有效的UTF-8编码
调试模式
启用详细日志以进行故障排除:
LOGLEVEL=debug RA_LOG=debug empathic
这将提供以下详细信息:
- LSP服务器通信
- 文件操作和路径解析
- 性能指标和缓存操作
- 内存使用和资源监控
许可证
[插入适当的许可证信息]
贡献
[如果开源,请插入贡献指南]
支持
对于问题和疑问:
Empathic MCP Server v2.0.0-为AI助手提供生产就绪的文件管理、命令执行和智能代码分析。 🚀
