使用说明
Codacy MCP服务器
用于Codacy API的MCP服务器,允许访问存储库、文件、质量、覆盖范围、安全性等等。
目录
功能/工具
Codacy MCP服务器提供以下工具:
存储库设置和管理
codacy_setup_repository:如果Codacy中尚未存在存储库,请添加或跟踪该存储库。此工具可确保存储库在Codacy中注册,从而允许进一步的分析和管理。
组织和存储库管理
codacy_list_organizations:列出支持分页的组织。codacy_list_organization_repositories:列出支持分页的组织中的存储库。codacy_get_repository_with_analysis:获取包含分析信息的存储库,包括等级、问题、重复、复杂性和覆盖率的指标。
代码质量与分析
-
codacy_list_repository_issues:列出并过滤存储库中的代码质量问题。这是调查一般代码质量问题(如最佳实践、性能、复杂性、风格)的主要工具,但不是安全问题。对于与安全相关的问题,请改用SRM项目工具。功能包括:- 处理大型结果集的分页支持
- 根据多种标准进行筛选,包括严重性、类别和语言
- 基于作者的责任过滤
- 分行具体分析
- 基于模式的搜索
常见用例:
- 代码质量审核
- 技术债务评估
- 风格指南合规性检查
- 性能问题调查
- 复杂性分析
文件管理与分析
codacy_list_files:列出支持分页的存储库中的文件。codacy_get_file_issues:获取存储库中文件的问题列表。codacy_get_file_coverage:在存储库分支的头部提交中获取文件的覆盖率信息。codacy_get_file_clones:获取存储库中文件的重复克隆(相同或非常相似的代码段)列表。codacy_get_file_with_analysis:获取文件的详细分析信息,包括等级、问题、重复、复杂性和覆盖率的指标。
证券分析
codacy_search_organization_srm_items:列出整个组织的安全项目/问题/漏洞/发现的主要工具。结果与Codacy上组织的安全和风险管理(SRM)仪表板有关。codacy_search_repository_srm_items:列出特定存储库的安全项目/问题/漏洞/发现。
这两种工具都提供全面的安全分析,包括:
- SAST(代码扫描)
- 秘密(秘密扫描)
- SCA(依赖关系扫描)
- IaC(基础设施即代码扫描)
- CICD(CI/CD扫描)
- DAST(动态应用程序安全测试)
- 渗透测试
拉取请求分析
codacy_list_repository_pull_requests:列出用户有权访问的存储库中的拉取请求。codacy_get_repository_pull_request:获取特定拉取请求的详细信息。codacy_list_pull_request_issues:返回拉取请求中发现的问题列表(新问题或已修复问题)。codacy_get_pull_request_files_coverage:获取拉取请求中所有文件的差异覆盖率信息。codacy_get_pull_request_git_diff:返回拉取请求的人类可读Git差异。
工具和模式管理
codacy_list_tools:列出Codacy中可用的所有代码分析工具。codacy_list_repository_tools:获取存储库的分析工具设置和可用工具。codacy_get_pattern:获取特定模式的定义。codacy_list_repository_tool_patterns:列出可用于存储库的工具模式。codacy_get_issue:获取有关特定问题的详细信息。
CLI分析
codacy_cli_analyze:使用Codacy CLI在本地运行质量分析。功能包括:- 分析特定文件或整个目录
- 使用特定工具或所有可用工具
- 无需等待预定分析即可立即获得结果
- 根据Codacy配置应用修复程序
设置
需求
确保您的机器安装了以下工具:
- 版本控制系统
- node.js
- 确保
npx命令运行时没有问题。
- 确保
对于本地分析,MCP服务器需要 Codacy命令行界面 待安装。如果它不可用,MCP服务器将尝试为您安装它。Codacy CLI v2可在macOS、Linux和Windows上运行(仅适用于WSL)。
个人API访问令牌
从您的Codacy账户获取API代币 Codacy帐户.
稍后在设置中您将需要它。
安装
在支持的IDE中,如VS Code、Cursor和Windsurf,安装Codacy的MCP服务器的最简单方法是从Codacy扩展中安装。如果您还没有,请从IDE中或从任何可用的市场安装扩展(微软, OpenVSX).在扩展面板中,只需单击添加Codacy MCP服务器。之后重新启动IDE。
如果没有扩展,您仍然可以使用和安装MCP服务器:
光标、风帆和其他
您可以使用Cursor的一键安装:
否则,根据您将MCP服务器连接到的对象,您可以使用以下方法:
- 光标:编辑
.cursor/mcp.json文件以添加以下内容 - Windsurf:编辑
.codeium/windsurf/mcp_config.json文件以添加以下内容 - 克劳德桌面:编辑
claude_desktop_config.json文件以添加以下内容
{
"mcpServers": {
"codacy": {
"command": "npx",
"args": ["-y", "@codacy/codacy-mcp"],
"env": {
"CODACY_ACCOUNT_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
VS代码与副本
您可以使用VS Code的一键安装:
否则,如果您想手动设置:
- 要在VS Code中将MCP服务器连接到Copilot,请将以下内容添加到IDE的全局配置中:
{
"mcp": {
"inputs": [],
"servers": {
"codacy": {
"command": "npx",
"args": ["-y", "@codacy/codacy-mcp"],
"env": {
"CODACY_ACCOUNT_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
}
您可以在以下位置打开user-settings.json文件:
View > Command Palette > Preferences: Open User Settings (JSON)
或者直接打开general settings.json文件,根据您的操作系统,该文件应位于:
- 对于macOS:
~/Library/Application Support/Code/User/settings.json - 对于Windows:
%APPDATA%\Code\User\settings.json - 对于Linux:
~/.config/Code/User/settings.json
别忘了更新的值 CODACY_ACCOUNT_TOKEN 用你的代币。
-
确保您启用了代理模式: vscode://settings/chat.agent.enabled
-
打开Copilot聊天并将模式切换到
Agent。您可以通过单击来检查MCP服务器是否已正确启用Select tools图标,其中应列出所有可用的Codacy工具。
故障排除
克劳德桌面和NVM
在Claude Desktop中使用NVM时,NPX可能无法工作。您应该首先全局安装MCP服务器,然后直接使用Node:
npm install -g @codacy/codacy-mcp
{
"mcpServers": {
"codacy": {
"command": "/Users/yourusername/.nvm/versions/node/vXX.X.X/bin/node",
"args": ["/path-to/codacy-mcp/dist/index.js"],
"env": {
"CODACY_ACCOUNT_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
贡献
要在本地处理MCP服务器代码,请运行:
npm install
npm run update-api
npm run build
检验员测试
您可以使用检查器工具测试MCP服务器。您可以设置 CODACY_ACCOUNT_TOKEN 环境变量或将其内联传递:
CODACY_ACCOUNT_TOKEN=your_token_here npm run inspect
这将构建项目,并使用您的Codacy令牌启动MCP检查器。
使用代理进行测试
您可以按如下方式测试配置MCP服务器的本地实例:
"codacy": {
"command": "/path/to/bin/node",
"args": [
"/path/to/codacy-mcp-server/dist/index.js"
],
"env": {
"CODACY_ACCOUNT_TOKEN": "<YOUR_TOKEN>"
}
}
Codacy CLI支持
为了使用 Codacy命令行界面,它需要安装。每当MCP服务器收到分析请求时,它都会尝试安装CLI并对其进行初始化。
如果您想使用我们CLI的特定版本,请发送 CODACY_CLI_VERSION MCP服务器配置中的env变量。
许可证
此MCP服务器根据MIT许可证获得许可。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。