DeepSource MCP Server
DeepSource MCP 服务器
与 DeepSource 集成的模型上下文协议 (MCP) 服务器为 AI 助手提供对代码质量指标、问题和分析结果的访问权限。
概述
DeepSource MCP 服务器使 AI 助手能够通过模型上下文协议 (MCP) 与 DeepSource 的代码质量分析功能进行交互。这种集成使 AI 助手能够:
检索代码指标和分析结果
访问和过滤问题
检查质量状态
分析项目质量随时间的变化
Related MCP server: CodeAlive MCP
特征
DeepSource API 集成:通过 GraphQL API 连接到 DeepSource
MCP 协议支持:实现 AI 助手集成的模型上下文协议
质量指标和阈值:使用阈值检索和管理代码质量指标
安全合规性报告:访问 OWASP Top 10、SANS Top 25 和 MISRA-C 合规性报告
依赖项漏洞:访问有关依赖项的安全漏洞信息
TypeScript/Node.js :使用 TypeScript 构建,以实现类型安全和现代 JavaScript 功能
跨平台:适用于 Linux、macOS 和 Windows
强大的错误处理:针对网络、身份验证和解析问题的全面错误处理
与 Claude Desktop 一起使用
编辑
claude_desktop_config.json:打开 Claude 桌面
前往
Settings->Developer->Edit Config将以下配置之一添加到
mcpServers部分
重新启动 Claude Desktop 以应用更改
示例查询
连接后,您的 AI 助手可以使用 DeepSource 数据进行如下查询:
What issues are in the JavaScript files of my project?这将使用带有过滤器的project_issues工具:
{
"projectKey": "your-project-key",
"path": "src/",
"analyzerIn": ["javascript"],
"first": 10
}要过滤分析运行:
Show me the most recent Python analysis runs这将使用带有过滤器的project_runs工具:
{
"projectKey": "your-project-key",
"analyzerIn": ["python"],
"first": 5
}对于代码质量指标:
What's my code coverage percentage? Is it meeting our thresholds?这将使用quality_metrics工具:
{
"projectKey": "your-project-key",
"shortcodeIn": ["LCV", "BCV", "CCV"]
}对于安全合规性报告:
Are we compliant with OWASP Top 10 security standards?这将使用compliance_report工具:
{
"projectKey": "your-project-key",
"reportType": "OWASP_TOP_10"
}设置阈值:
Update our line coverage threshold to 80%这将使用update_metric_threshold工具:
{
"projectKey": "your-project-key",
"repositoryId": "repo-id",
"metricShortcode": "LCV",
"metricKey": "AGGREGATE",
"thresholdValue": 80
}环境变量
服务器支持以下环境变量:
DEEPSOURCE_API_KEY(必需):用于身份验证的 DeepSource API 密钥LOG_FILE(可选):日志写入文件的路径。如果未设置,则不会写入任何日志LOG_LEVEL(可选):写入的最低日志级别(DEBUG、INFO、WARN、ERROR)。默认为 DEBUG
带有日志记录的示例配置:
{
"mcpServers": {
"deepsource": {
"command": "npx",
"args": [
"-y",
"deepsource-mcp-server@1.1.0"
],
"env": {
"DEEPSOURCE_API_KEY": "your-deepsource-api-key",
"LOG_FILE": "/tmp/deepsource-mcp.log",
"LOG_LEVEL": "DEBUG"
}
}
}
}Docker
{
"mcpServers": {
"deepsource": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"DEEPSOURCE_API_KEY",
"-e",
"LOG_FILE=/tmp/deepsource-mcp.log",
"-v",
"/tmp:/tmp",
"sapientpants/deepsource-mcp-server"
],
"env": {
"DEEPSOURCE_API_KEY": "your-deepsource-api-key",
"LOG_FILE": "/tmp/deepsource-mcp.log"
}
}
}
}NPX
{
"mcpServers": {
"deepsource": {
"command": "npx",
"args": [
"-y",
"deepsource-mcp-server@1.1.0"
],
"env": {
"DEEPSOURCE_API_KEY": "your-deepsource-api-key"
}
}
}
}可用工具
DeepSource MCP 服务器提供以下工具:
projects:列出所有可用的 DeepSource 项目参数:
无必需参数
project_issues:通过过滤从 DeepSource 项目中获取问题参数:
projectKey(必需)- DeepSource 项目的唯一标识符分页参数:
offset(可选)- 分页时要跳过的项目数first(可选)- 返回的项目数(默认为 10)after(可选)- 用于向前分页的光标before(可选)- 向后分页的光标last(可选) - 在“before”光标之前返回的项目数(默认值:10)
过滤参数:
path(可选)- 通过特定文件路径过滤问题analyzerIn(可选) - 通过特定分析器过滤问题 (例如,[“python”、“javascript”])tags(可选)- 按标签过滤问题
project_runs:列出 DeepSource 项目的分析运行,并进行过滤参数:
projectKey(必需)- DeepSource 项目的唯一标识符分页参数:
offset(可选)- 分页时要跳过的项目数first(可选)- 返回的项目数(默认为 10)after(可选)- 用于向前分页的光标before(可选)- 向后分页的光标last(可选) - 在“before”光标之前返回的项目数(默认值:10)
过滤参数:
analyzerIn(可选) - 通过特定的分析器过滤运行 (例如,[“python”、“javascript”])
run:通过 runUid 或 commitOid 获取特定分析运行参数:
runIdentifier(必需)- 用于标识运行的 runUid(UUID)或 commitOid(提交哈希)
recent_run_issues:获取特定分支上最近运行的分析中的问题,并支持分页参数:
projectKey(必需)- DeepSource 项目的唯一标识符branchName(必需)- 获取最新运行的分支名称分页参数:
first(可选)- 返回的问题数(默认为 10)after(可选)- 用于向前分页的光标last(可选) - 光标前返回的问题数 (默认值:10)before(可选)- 向后分页的光标
返回:
有关分支上最近一次运行的信息
项目中的当前问题(注意:问题是存储库级别的,而不是运行特定的)
分页信息,包括光标和页面状态
关于运行和分支的元数据
dependency_vulnerabilities:从 DeepSource 项目获取依赖漏洞参数:
projectKey(必需)- DeepSource 项目的唯一标识符分页参数:
offset(可选)- 分页时要跳过的项目数first(可选)- 返回的项目数(默认为 10)after(可选)- 用于向前分页的光标before(可选)- 向后分页的光标last(可选) - 在“before”光标之前返回的项目数(默认值:10)
quality_metrics:通过过滤从 DeepSource 项目获取质量指标参数:
projectKey(必需)- DeepSource 项目的唯一标识符shortcodeIn(可选) - 通过特定的短代码过滤指标 (例如,[“LCV”, “BCV”])
返回如下指标:
线路覆盖率 (LCV)
分支机构覆盖率 (BCV)
文档覆盖率 (DCV)
重复代码百分比 (DDP)
每个指标包括当前值、阈值和通过/失败状态
update_metric_threshold:更新特定质量指标的阈值参数:
projectKey(必需)- DeepSource 项目的唯一标识符repositoryId(必需)- GraphQL 存储库 IDmetricShortcode(必需)- 要更新的指标的短代码metricKey(必需)- 指标的语言或上下文键thresholdValue(可选) - 新的阈值,或为 null 以删除阈值
示例:设置 80% 线路覆盖率阈值:metricShortcode="LCV", metricKey="AGGREGATE", thresholdValue=80
update_metric_setting:更新质量指标的设置参数:
projectKey(必需)- DeepSource 项目的唯一标识符repositoryId(必需)- GraphQL 存储库 IDmetricShortcode(必需)- 要更新的指标的短代码isReported(必需)- 是否应报告该指标isThresholdEnforced(必需)- 是否应强制执行阈值(可能会检查失败)
compliance_report:从 DeepSource 项目获取安全合规性报告
参数:
projectKey(必需)- DeepSource 项目的唯一标识符reportType(必需) - 要获取的合规性报告类型( OWASP Top 10 、 SANS Top 25或MISRA-C )
返回全面的安全合规性数据,包括:
按类别和严重程度统计的安全问题
合规状态(通过/未通过)
显示随时间变化的趋势数据
改善安全态势的分析和建议
发展
克隆存储库:
git clone https://github.com/sapientpants/deepsource-mcp-server.git
cd deepsource-mcp-server安装依赖项:
pnpm install构建项目:
pnpm run build配置 Claude 桌面
{
"mcpServers": {
"deepsource": {
"command": "node",
"args": [
"/path/to/deepsource-mcp-server/dist/index.js"
],
"env": {
"DEEPSOURCE_API_KEY": "your-deepsource-api-key"
}
}
}
}先决条件
Node.js 20 或更高版本
pnpm 10.7.0 或更高版本
Docker(用于容器构建)
脚本
pnpm run build构建 TypeScript 代码pnpm run start启动服务器pnpm run dev以开发模式启动服务器pnpm run test- 运行测试pnpm run lint- 运行 ESLintpnpm run format- 使用 Prettier 格式化代码
故障排除
启用调试日志记录
如果您遇到问题,请启用调试日志记录以查看详细信息:
将
LOG_FILE环境变量设置为应写入日志的文件路径将
LOG_LEVEL设置为DEBUG(这是默认值)检查日志文件以获取详细的错误信息
示例配置:
{
"mcpServers": {
"deepsource": {
"command": "npx",
"args": ["-y", "deepsource-mcp-server@1.1.0"],
"env": {
"DEEPSOURCE_API_KEY": "your-api-key",
"LOG_FILE": "/tmp/deepsource-mcp.log",
"LOG_LEVEL": "DEBUG"
}
}
}
}然后检查日志文件:
tail -f /tmp/deepsource-mcp.log常见问题
身份验证错误:确保您的
DEEPSOURCE_API_KEY正确且具有必要的权限没有出现日志:验证
LOG_FILE路径是否可写以及父目录是否存在工具错误:检查日志文件以获取详细的错误消息和堆栈跟踪
执照
麻省理工学院
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseDqualityDmaintenanceA comprehensive Model Context Protocol server for advanced code analysis that provides tools for syntax analysis, dependency visualization, and AI-assisted development workflow support.287

CodeAlive MCPofficial
AlicenseNot gradedqualityAmaintenanceA Model Context Protocol server that enhances AI agents by providing deep semantic understanding of codebases, enabling more intelligent interactions through advanced code search and contextual awareness.88MIT- -licenseBqualityNot gradedmaintenanceA Model Context Protocol server that enables AI assistants to fetch and understand GitHub repository documentation on-demand from DeepWiki during conversations.3
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that analyzes application codebases with real-time file watching, providing AI assistants like Claude with deep insights into project structure, code patterns, and architecture.MIT
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
A Model Context Protocol (MCP) application for automated GitHub PR analysis and issue management.…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sapientpants/deepsource-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server