🚀 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 助手中安裝公共服務器。
手動安裝說明及更多 MCP 客戶端
在 Claude Desktop 或 Claude Code 中安裝
⚠️ 重要提示
並非所有付費版本的 Claude 都支持自定義集成。請查看此處以獲取更多信息。
要在 Claude Desktop 中使用公共 Socket MCP 服務器:
- 在 Claude Desktop 中,轉到“設置”>“開發者”>“編輯配置”。
- 添加 Socket MCP 服務器配置:
{
"mcpServers": {
"socket-mcp": {
"type": "http",
"url": "https://mcp.socket.dev/"
}
}
}
- 保存配置並重啟 Claude Desktop。
- 現在你可以向 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 服務器:
- 打開 Windsurf 設置。
- 導航到 MCP 服務器部分。
- 添加一個新服務器,配置如下:
{
"mcpServers": {
"socket-mcp": {
"serverUrl": "https://mcp.socket.dev/mcp"
}
}
}
- 保存配置,如有必要,重啟 Windsurf。
選項 2:在本地機器上部署 Socket MCP 服務器
如果你想運行自己的實例,可以使用標準輸入輸出或 HTTP 模式在本地部署 Socket MCP 服務器。
獲取 API 密鑰
要使用本地 Socket MCP 服務器,你需要創建一個 API 密鑰。你可以按照這些步驟進行操作。唯一需要的權限範圍是 packages:list,它允許 MCP 服務器查詢包元數據以獲取依賴項評分。
對於本地部署,你有兩個選項:
選項 2a:標準輸入輸出模式(默認)
點擊下面的按鈕,在你喜歡的 AI 助手中安裝自託管的標準輸入輸出服務器。
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 模式
- 使用 npx 在 HTTP 模式下運行服務器:
MCP_HTTP_MODE=true SOCKET_API_KEY=your-api-key npx @socketsecurity/mcp@latest --http
- 配置你的 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 服務器
- 向你的 AI 助手詢問 以檢查依賴項:
- “檢查 express 4.18.2 版本的安全評分”
- “分析我的 package.json 依賴項的安全性”
- “react、lodash 和 axios 的漏洞評分是多少?”
- 獲取全面的安全洞察,包括供應鏈、質量、維護、漏洞和許可證評分。
使用自定義規則調整工具使用方式
你可以通過修改客戶端規則來進一步自定義 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 助手如何處理低分情況。規則是靈活的,可以根據你的工作流程進行定製。
🔧 技術細節
開發
普通用戶
對於大多數用戶,我們建議使用以下兩種方式之一:
- 公共服務器:
https://mcp.socket.dev/(無需設置)
- 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 許可證。 