✨ 光泽度MCP🔍
    
代码清晰,对创造充满信心
Lucidity是一个模型上下文协议(MCP)服务器,旨在通过智能、基于提示的分析来提高AI生成代码的质量。通过为AI编码助手提供结构化的指导,Lucidity有助于识别和解决常见的质量问题,从而生成更清晰、更可维护、更健壮的代码。
在你提交之前,请Lucidity分析这些变化,而不是把自己编码成噩梦般的地狱! 😱 💥 🚫
💫 特性
- 🔮 全面的问题检测 -涵盖从复杂性到安全漏洞的10个关键质量维度
- 🔄 上下文分析 -将更改与原始代码进行比较,以识别意外的修改
- 🌐 语言无关 -适用于AI助手理解的任何编程语言
- 🎯 重点分析 -根据项目需求针对特定问题类型的选项
- 📝 结构化输出 -指导人工智能提供可操作的反馈,并给出明确的建议
- 🤖 MCP集成 -与Claude和其他兼容MCP的AI助手无缝集成
- 🪶 轻量级实现 -简单的服务器设计,依赖性最小
- 🧩 可扩展框架 -易于添加新问题类型或细化分析标准
- 🔀 柔性运输 -支持基于终端的交互的stdio和基于网络的通信的SSE
- 🔄 Git感知分析 -直接从git diff分析更改,使其成为提交前审查的理想选择
🚀 安装
# Clone the repository
git clone https://github.com/hyperbliss/lucidity-mcp.git
cd lucidity-mcp
# Set up a virtual environment with UV
uv venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies with UV
uv sync📋 先决条件
- Python 3.13或更高版本
- Git(用于分析代码更改)
- UV包管理器(建议用于依赖关系管理)
🔮 快速开始
运行Lucidity服务器
# Start with stdio transport (for terminal use)
lucidity-mcp
# Start with SSE transport (for network use)
lucidity-mcp --transport sse --host 127.0.0.1 --port 6969
# Run with debug logging
lucidity-mcp --debug
# Run with file logging
lucidity-mcp --log-file lucidity.log使用AI助手
- 在SSE模式下启动Lucidity:
lucidity-mcp --transport sse- 使用MCP协议URI连接您的AI助手:
sse://localhost:6969/sse- AI现在可以调用
analyze_changes获取代码质量反馈的工具!
🧠 分析维度
Lucidity分析10个关键质量维度的代码:
- 不必要的复杂性 -识别过于复杂的算法、过度抽象和复杂的逻辑
- 抽象性差 -检测泄漏或不恰当的抽象和不明确的关注点分离
- 意外代码删除 -捕获关键功能或验证的意外删除
- 幻觉成分 -查找对不存在的函数、类或API的引用
- 风格不一致 -发现与项目编码标准和惯例的偏差
- 安全漏洞 -识别代码更改中的潜在安全问题
- 性能问题 -检测可能影响性能的低效算法或操作
- 代码重复 -查找应重构的重复逻辑或功能
- 错误处理不完整 -点缺失或异常处理不足
- 测试覆盖率差距 -识别关键功能缺失的测试
📊 AI助手查询示例
使用连接到Lucidity的AI助手,尝试以下查询:
- “分析我最新git更改中的代码质量”
- “检查我的JavaScript更改中的安全漏洞”
- “确保我的Python代码遵循最佳实践”
- “找出我最近代码更改中的任何性能问题”
- “我最近的重构中是否有任何意外的副作用?”
- “帮助我改进代码中的抽象”
- “检查我是否意外删除了任何重要的验证”
- “在我最近的提交中查找任何产生幻觉的API调用”
- “我的错误处理是否完整且稳健?”
- “我的新功能中是否存在测试覆盖率差距?”
🛠️ 可用的MCP工具
工具
analyze_changes-准备git更改以通过MCP进行分析
- 参数: - workspace_root:工作区/git存储库的根目录 - path:要分析的可选特定文件路径
💻 发展
Lucidity使用UV进行依赖关系管理和开发工作流程。UV是一个快速、可靠的Python包管理器和解析器。
# Update dependencies
uv sync
# Run tests
pytest
# Run linting
ruff check .
# Run type checking
mypy .🔧 日志记录行为
Lucidity根据运输方式处理日志记录的方式不同:
- SSE 运输:已启用完整控制台日志记录
- 带日志文件的Stdio传输:所有日志都转到文件,控制台已禁用
- 无日志文件的Stdio传输:只有警告和错误会进入stderr,信息日志被禁用
这确保了stdio通信不会因stdout上出现的日志而中断。
🎛️ 命令行选项
usage: lucidity-mcp [-h] [--debug] [--host HOST] [--port PORT] [--transport {stdio,sse}]
[--log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}] [--verbose]
[--log-file LOG_FILE]
options:
-h, --help show this help message and exit
--debug Enable debug logging
--host HOST Host to bind the server to (use 0.0.0.0 for all interfaces)
--port PORT Port to listen on for network connections
--transport {stdio,sse}
Transport type to use (stdio for terminal, sse for network)
--log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}
Set the logging level
--verbose Enable verbose logging for HTTP requests
--log-file LOG_FILE Path to log file (required for stdio transport if logs enabled)🤝 贡献
欢迎投稿!请随时提交拉取请求。
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 使用UV设置您的开发环境
- 进行更改
- 运行测试和梳理
- 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
📝 许可证
此项目在Apache License 2.0下获得许可-有关详细信息,请参阅License文件。
______________________________________________________________________
由...创建 斯蒂芬妮·简🌠
如果你觉得Lucidity有用, 给我买一个怪物紫外线⚡️
