Lucidity MCP
一个模型上下文协议服务器,通过对10个关键维度进行全面分析,从而提高人工智能生成的代码质量,帮助在问题出现之前识别它们。
README
✨ Lucidity MCP 🔍
<div align="center">
代码清晰,创造自信
</div>
Lucidity 是一个模型上下文协议 (MCP) 服务器,旨在通过智能的、基于提示的分析来提高 AI 生成代码的质量。 通过为 AI 编码助手提供结构化的指导,Lucidity 帮助识别和解决常见的质量问题,从而产生更清晰、更易于维护和更健壮的代码。
在提交之前,只需让 Lucidity 分析更改,而不是让自己陷入代码噩梦!😱 💥 🚫
💫 特性
- 🔮 全面的问题检测 - 涵盖从复杂性到安全漏洞的 10 个关键质量维度
- 🔄 上下文分析 - 将更改与原始代码进行比较,以识别意外的修改
- 🌐 语言无关 - 适用于 AI 助手理解的任何编程语言
- 🎯 专注分析 - 可以根据项目需要,选择针对特定类型的问题进行分析
- 📝 结构化输出 - 指导 AI 提供可操作的反馈,并给出明确的建议
- 🤖 MCP 集成 - 与 Claude 和其他 MCP 兼容的 AI 助手无缝集成
- 🪶 轻量级实现 - 简单的服务器设计,依赖性极小
- 🧩 可扩展框架 - 易于添加新的问题类型或改进分析标准
- 🔀 灵活的传输方式 - 支持用于终端交互的 stdio 和用于网络通信的 SSE
- 🔄 Git 感知分析 - 直接从 git diff 分析更改,使其成为预提交审查的理想选择
🚀 安装
# 克隆仓库
git clone https://github.com/hyperbliss/lucidity-mcp.git
cd lucidity-mcp
# 使用 UV 设置虚拟环境
uv venv .venv
source .venv/bin/activate # 在 Windows 上: .venv\Scripts\activate
# 使用 UV 安装依赖
uv sync
📋 前提条件
- Python 3.13 或更高版本
- Git(用于分析代码更改)
- UV 包管理器(推荐用于依赖管理)
🔮 快速开始
运行 Lucidity 服务器
# 使用 stdio 传输方式启动(用于终端使用)
lucidity-mcp
# 使用 SSE 传输方式启动(用于网络使用)
lucidity-mcp --transport sse --host 127.0.0.1 --port 6969
# 运行并开启调试日志
lucidity-mcp --debug
# 运行并将日志写入文件
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 助手查询
在 AI 助手连接到 Lucidity 后,尝试以下查询:
- "分析我最新的 git 更改中的代码质量"
- "检查我的 JavaScript 更改中的安全漏洞"
- "确保我的 Python 代码遵循最佳实践"
- "识别我最近的代码更改中的任何性能问题"
- "我最近的重构是否有任何意外的副作用?"
- "帮助我改进代码中的抽象"
- "检查我是否意外删除了任何重要的验证"
- "查找我最新提交中的任何幻觉 API 调用"
- "我的错误处理是否完整且健壮?"
- "我的新功能中是否存在任何测试覆盖率缺口?"
🛠️ 可用的 MCP 工具
工具
analyze_changes- 通过 MCP 准备 git 更改以进行分析- 参数:
workspace_root:工作区/git 仓库的根目录path:要分析的可选特定文件路径
- 参数:
💻 开发
Lucidity 使用 UV 进行依赖管理和开发工作流程。 UV 是一个快速、可靠的 Python 包管理器和解析器。
# 更新依赖
uv sync
# 运行测试
pytest
# 运行 linting
ruff check .
# 运行类型检查
mypy .
🔧 日志行为
Lucidity 根据传输方式以不同的方式处理日志记录:
- SSE 传输: 启用完整的控制台日志记录
- 带有 --log-file 的 Stdio 传输: 所有日志都写入文件,控制台被禁用
- 没有 --log-file 的 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 显示此帮助消息并退出
--debug 启用调试日志
--host HOST 服务器绑定的主机(使用 0.0.0.0 表示所有接口)
--port PORT 监听网络连接的端口
--transport {stdio,sse}
要使用的传输类型(stdio 用于终端,sse 用于网络)
--log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}
设置日志级别
--verbose 启用 HTTP 请求的详细日志记录
--log-file LOG_FILE 日志文件的路径(如果启用了日志,则 stdio 传输需要)
🤝 贡献
欢迎贡献! 请随时提交 Pull Request。
- Fork 仓库
- 创建您的功能分支 (
git checkout -b feature/amazing-feature) - 使用 UV 设置您的开发环境
- 进行更改
- 运行测试和 linting
- 提交您的更改 (
git commit -m 'Add some amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 打开一个 Pull Request
📝 许可证
该项目根据 Apache License 2.0 获得许可 - 有关详细信息,请参阅 LICENSE 文件。
<div align="center">
由 Stefanie Jane 🌠 创建
如果您觉得 Lucidity 有用,请给我买一罐 Monster Ultra Violet ⚡️
</div>
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。