代码库智能分析服务

CodeLens MCP是一个为Claude Desktop提供GitHub代码库智能分析的服务,能够通过自然语言对话研究库、比较包、审计依赖和探索代码库。

  • by Yashkashte5
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 yashkashte5/codelens-mcp

使用说明

CodeLens MCP

一个MCP服务器,为Claude Desktop提供有关任何公共GitHub存储库的完整情报。研究库、比较包、审计依赖关系,并通过自然对话探索代码库。


它做什么

大多数开发人员浪费时间在GitHub、npm、PyPI和文档选项卡之间切换,只是为了评估一个库。CodeLens将所有这些整合到一个克劳德桌面对话中。

问这样的问题:

  • “moment.js还值得使用吗?”
  • “比较新节点项目的express和fastify”
  • “身份验证在tiangolo/fastapi中是如何工作的?”
  • “此仓库中是否有未维护的依赖项?”
  • “有什么好的替代axios的方法吗?”
  • “请对托盘/烧瓶进行全面审核”

每个答案都是从GitHub和Libraries.io上实时提取的。


需求

  • Python 3.11+
  • 克劳德桌面版
  • GitHub个人访问令牌(免费)
  • Libraries.io API密钥(免费)

安装

1.克隆仓库

git clone https://github.com/Yashkashte5/Codelens-MCP
cd Codelens-MCP

2.安装依赖项

pip install -r requirements.txt

3.获取API密钥

GitHub代币

  1. 转到github→ 设置→ 开发人员设置→ 个人访问令牌→ 代币(经典)
  2. 生成新令牌,为其命名,检查 repo 和 read:org
  3. 复制令牌

Libraries.io密钥

  1. 首选 图书馆.io/账户
  2. 注册并复制您的API密钥

4.配置克劳德桌面

编辑您的Claude Desktop配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "codelens-mcp": {
      "command": "python",
      "args": ["C:\\path\\to\\Codelens-MCP\\server.py"],
      "env": {
        "GITHUB_TOKEN": "your_github_token_here",
        "LIBRARIES_IO_API_KEY": "your_libraries_io_key_here",
        "PYTHONPATH": "C:\\path\\to\\Codelens-MCP"
      }
    }
  }
}

重新启动克劳德桌面。CodeLens将出现在您的连接器中。


文件结构

Codelens-MCP/
├── server.py        — MCP entry point, all tools registered
├── github.py        — GitHub API client
├── tools/
│   ├── codebase.py  — repo exploration tools
│   ├── packages.py  — Libraries.io package tools
│   └── combined.py  — audit, summary, and compare tools
├── demo/            — demo GIFs for all tools
├── requirements.txt
└── .env

工具

tool_ask_repo

回答有关任何GitHub仓库的自然语言问题。实时搜索并获取具有精确文件引用的相关代码。


工具搜索代码

在仓库中搜索特定的代码模式。可选择按语言过滤。


tool_getfile

从任何公共GitHub仓库获取任何文件的完整内容。


工具列表文件

列出GitHub存储库中的所有文件,并可选择扩展名过滤。


tool_search_packages

在Libraries.io中搜索跨任何平台的包——npm、pypi、cargo等。


tool_get-package_info

获取特定软件包的详细信息——版本、星级、贡献者、维护状态。


tool_check_dependency

直接从GitHub仓库获取包文件,并审核每个依赖项的健康和维护状态。


tool_find_备选方案

找到替代包来替换给定的依赖关系,按星级和维护进行排名。


tool_repo_summary

任何GitHub仓库的高级摘要——目的、结构、技术和依赖关系健康。


tool_audit_repo

在一次调用中结合代码概述和依赖关系健康报告的完整仓库审计。


工具比较

并排比较两个GitHub存储库或包。自动检测输入是转发还是包,并相应地命中正确的API。


技术栈

图层 工具
界面 克劳德桌面
MCP-SDK mcp Python SDK
代码搜索 GitHub代码搜索API
包数据 Libraries.io API
语言 Python 3.11+

限制

  • GitHub API:5000个请求/小时,带有令牌
  • Libraries.io免费层:60个请求/分钟
  • 仅适用于公共GitHub存储库

许可证

麻省理工学院