Socket Mcp

Socket Mcp

🚀 Socket MCP Server

Socket MCP Server 是一个用于 Socket 集成的模型上下文协议(MCP)服务器,可让 AI 助手高效地检查依赖项的漏洞评分和安全信息。

✨ 主要特性

  • 🔍 依赖项安全扫描:获取 npm、PyPI 等其他包生态系统的全面安全评分。
  • 🌐 公共托管服务:使用我们的公共服务器 https://mcp.socket.dev/,无需任何设置。
  • 🚀 多种部署选项:可以通过标准输入输出、HTTP 进行本地运行,也可以使用我们的服务。
  • 🤖 AI 助手集成:可与 Claude、VS Code Copilot、Cursor 等其他 MCP 客户端无缝协作。
  • 📊 批量处理:在单个请求中检查多个依赖项。
  • 🔒 无需身份验证:公共服务器无需 API 密钥或注册。

🛠️ 此项目处于早期开发阶段,正在快速发展。

🚀 快速开始

选项 1:使用公共 Socket MCP 服务器(推荐)

最简单的开始方式是使用我们的公共 Socket MCP 服务器。无需 API 密钥或身份验证! 点击下面的按钮,在你喜欢的 AI 助手中安装公共服务器。

Install in VS Code

手动安装说明及更多 MCP 客户端
在 Claude Desktop 或 Claude Code 中安装

⚠️ 重要提示

并非所有付费版本的 Claude 都支持自定义集成。请查看此处以获取更多信息。

要在 Claude Desktop 中使用公共 Socket MCP 服务器:

  1. 在 Claude Desktop 中,转到“设置”>“开发者”>“编辑配置”。
  2. 添加 Socket MCP 服务器配置:
{
"mcpServers": {
"socket-mcp": {
"type": "http",
"url": "https://mcp.socket.dev/"
}
}
}
  1. 保存配置并重启 Claude Desktop。
  2. 现在你可以向 Claude 询问诸如“检查 express 4.18.2 版本的安全评分”之类的问题。

Claude Code 的过程类似。有关更多详细信息,请参阅 Claude Code 文档。以下是添加 Socket MCP 服务器的示例命令:

claude mcp add --transport http socket-mcp https://mcp.socket.dev/
在 VS Code 中安装 你可以使用 VS Code CLI 安装 Socket MCP 服务器: ```bash # 对于带有 GitHub Copilot 的 VS Code code --add-mcp '{"name":"socket-mcp","type":"http","url":"https://mcp.socket.dev/}' ``` 安装后,Socket MCP 服务器将可在 VS Code 中与你的 GitHub Copilot 代理一起使用。

或者,你可以手动将其添加到 .vscode/mcp.json 中的 VS Code MCP 配置中:

{
"servers": {
"socket-mcp": {
"type": "http",
"url": "https://mcp.socket.dev/"
}
}
}
在 Cursor 中安装 转到 `Cursor 设置` -> `MCP` -> `添加新的 MCP 服务器`。将其命名为“socket-mcp”,使用 `http` 类型,URL 为 `https://mcp.socket.dev/`。 ```json { "mcpServers": { "socket-mcp": { "type": "http", "url": "https://mcp.socket.dev/" } } } ```
在 Windsurf 中安装

⚠️ 重要提示

Windsurf 目前不支持 http 类型的 MCP 服务器。请使用下面的 标准输入输出模式配置。

要在 Windsurf 中使用 Socket MCP 服务器:

  1. 打开 Windsurf 设置。
  2. 导航到 MCP 服务器部分。
  3. 添加一个新服务器,配置如下:
{
"mcpServers": {
"socket-mcp": {
"serverUrl": "https://mcp.socket.dev/mcp"
}
}
}
  1. 保存配置,如有必要,重启 Windsurf。

选项 2:在本地机器上部署 Socket MCP 服务器

如果你想运行自己的实例,可以使用标准输入输出或 HTTP 模式在本地部署 Socket MCP 服务器。

获取 API 密钥

要使用本地 Socket MCP 服务器,你需要创建一个 API 密钥。你可以按照这些步骤进行操作。唯一需要的权限范围是 packages:list,它允许 MCP 服务器查询包元数据以获取依赖项评分。

对于本地部署,你有两个选项:

选项 2a:标准输入输出模式(默认)

点击下面的按钮,在你喜欢的 AI 助手中安装自托管的标准输入输出服务器。

Install in VS Code

Claude Code(标准输入输出模式)可以使用以下命令进行设置:

claude mcp add socket-mcp -e SOCKET_API_KEY="your-api-key-here" -- npx -y @socketsecurity/mcp@latest

这是大多数 MCP 客户端的配置示例:

{
"mcpServers": {
"socket-mcp": {
"command": "npx",
"args": ["@socketsecurity/mcp@latest"],
"env": {
"SOCKET_API_KEY": "your-api-key-here"
}
}
}
}

这种方法会自动使用最新版本,无需全局安装。

选项 2b:HTTP 模式

  1. 使用 npx 在 HTTP 模式下运行服务器:
MCP_HTTP_MODE=true SOCKET_API_KEY=your-api-key npx @socketsecurity/mcp@latest --http
  1. 配置你的 MCP 客户端以连接到 HTTP 服务器:
{
"mcpServers": {
"socket-mcp": {
"type": "http",
"url": "http://localhost:3000"
}
}
}

💻 使用示例

基础用法

Socket MCP 服务器暴露了 depscore 工具,以下是使用该工具的示例:

{
"packages": [
{
"ecosystem": "npm",
"depname": "express",
"version": "4.18.2"
},
{
"ecosystem": "pypi",
"depname": "fastapi",
"version": "0.100.0"
}
]
}

示例响应

pkg:npm/express@4.18.2: supply_chain: 1.0, quality: 0.9, maintenance: 1.0, vulnerability: 1.0, license: 1.0
pkg:pypi/fastapi@0.100.0: supply_chain: 1.0, quality: 0.95, maintenance: 0.98, vulnerability: 1.0, license: 1.0

高级用法

如何使用 Socket MCP 服务器

  1. 向你的 AI 助手询问 以检查依赖项:
    • “检查 express 4.18.2 版本的安全评分”
    • “分析我的 package.json 依赖项的安全性”
    • “react、lodash 和 axios 的漏洞评分是多少?”
  2. 获取全面的安全洞察,包括供应链、质量、维护、漏洞和许可证评分。

使用自定义规则调整工具使用方式

你可以通过修改客户端规则来进一步自定义 Socket MCP 服务器与 AI 助手的交互方式。规则通常是一个 Markdown 文件,其位置取决于你使用的 AI 助手。

MCP 客户端 规则文件位置
Claude Desktop/Code CLAUDE.md
VSCode Copilot .github/copilot-instructions.md
Cursor .cursor/rules

可以添加到客户端规则文件的规则示例如下:

Always check dependency scores with the depscore tool when you add a new dependency. If the score is low, consider using an alternative library or writing the code yourself. If you are unsure about the score, ask for a review from someone with more experience. When checking dependencies, make sure to also check the imports not just the pyproject.toml/package.json/dependency file.

你可以根据需要调整规则。例如,你可以添加规则以包含特定的清单文件,或指导 AI 助手如何处理低分情况。规则是灵活的,可以根据你的工作流程进行定制。

🔧 技术细节

开发

普通用户

对于大多数用户,我们建议使用以下两种方式之一:

  1. 公共服务器https://mcp.socket.dev/(无需设置)
  2. NPX 命令npx @socketsecurity/mcp@latest(始终使用最新版本)

贡献者

如果你想为 Socket MCP 服务器的开发做出贡献:

健康检查端点

在 HTTP 模式下运行时,服务器为 Kubernetes 和 Docker 部署提供了一个健康检查端点:

GET /health

响应

{
"status": "healthy",
"service": "socket-mcp",
"version": "0.0.3",
"timestamp": "2025-06-17T20:45:22.059Z"
}

此端点可用于:

  • Kubernetes 活性和就绪性探测
  • Docker 健康检查
  • 负载均衡器健康监测
  • 一般服务监测

前提条件

  • Node.js v16 或更高版本
  • npm 或 yarn

安装

克隆仓库并安装依赖项:

git clone https://github.com/SocketDev/socket-mcp.git
cd socket-mcp
npm install

构建

此项目是一个可直接运行的 Node.js 项目,使用 类型剥离。 如果你使用的是 Node.js 22,使用 node --experimental-strip-types index.ts 运行。 在任何更高版本的 Node.js 中,你可以直接运行 node index.ts。 在任何版本中,你也可以运行包含正确标志的 npm 运行脚本。

运行 npm publish 时会自动构建 js 文件,并在之后使用 npm run clean 清理。

如果你想预览构建,可以运行:

npm run build

从源代码运行

要从源代码运行 Socket MCP 服务器:

export SOCKET_API_KEY=your_api_key_here
node --experimental-strip-types index.ts

或者在 HTTP 模式下运行:

MCP_HTTP_MODE=true SOCKET_API_KEY=your_api_key_here node --experimental-strip-types index.ts --http

🔧 故障排除

常见问题

问题:公共服务器无响应

  • 检查你使用的 URL 是否正确:https://mcp.socket.dev/
  • 验证你的 MCP 客户端配置是否正确
  • 尝试重启你的 MCP 客户端

问题:本地服务器无法启动

  • 确保你已安装 Node.js v16 或更高版本
  • 检查你的 SOCKET_API_KEY 环境变量是否已设置
  • 验证 API 密钥是否具有 packages:list 权限

问题:本地服务器出现身份验证错误

  • 仔细检查你的 Socket API 密钥是否有效
  • 确保密钥具有所需的 packages:list 范围
  • 尝试从 Socket 仪表板重新生成你的 API 密钥

问题:AI 助手找不到 depscore 工具

  • 在更改配置后重启你的 MCP 客户端
  • 验证服务器配置是否已正确保存
  • 检查 MCP 服务器是否正在运行(对于本地部署)

获取帮助

📄 许可证

本项目采用 MIT 许可证License: MIT

  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-30 11:24

相似服务问题