🚀 Socket MCP Server
Socket MCP Serverは、Socketとの統合を実現するModel Context Protocol (MCP)サーバーです。これにより、AIアシスタントは依存関係の脆弱性スコアやセキュリティ情報を効率的にチェックすることができます。

✨ 主な機能
- 🔍 依存関係のセキュリティスキャン - npm、PyPIなどのさまざまなパッケージエコシステムについて、包括的なセキュリティスコアを取得できます。
- 🌐 公開ホストサービス -
https://mcp.socket.dev/ の公開サーバーを使用することができ、セットアップは不要です。
- 🚀 複数のデプロイオプション - stdio、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
# For VS Code with GitHub Copilot
code --add-mcp '{"name":"socket-mcp","type":"http","url":"https://mcp.socket.dev/}'
```
インストール後、VS Code内のGitHub CopilotエージェントでSocket MCPサーバーを使用できるようになります。
また、.vscode/mcp.json のVS Code MCP設定に手動で追加することもできます。
{
"servers": {
"socket-mcp": {
"type": "http",
"url": "https://mcp.socket.dev/"
}
}
}
Cursorにインストールする
`Cursor Settings` -> `MCP` -> `Add new MCP Server` に移動します。名前を "socket-mcp"、タイプを `http`、URLを `https://mcp.socket.dev/` に設定します。
```json
{
"mcpServers": {
"socket-mcp": {
"type": "http",
"url": "https://mcp.socket.dev/"
}
}
}
```
Windsurfにインストールする
⚠️ 重要提示
Windsurfはまだ http タイプのMCPサーバーをサポートしていません。以下の stdio 構成を使用してください。
WindsurfでSocket MCPサーバーを使用するには、以下の手順を実行します。
- Windsurf設定を開きます。
- MCPサーバーセクションに移動します。
- 以下の構成で新しいサーバーを追加します。
{
"mcpServers": {
"socket-mcp": {
"serverUrl": "https://mcp.socket.dev/mcp"
}
}
}
- 設定を保存し、必要に応じてWindsurfを再起動します。
オプション2: 自分のマシンにSocket MCPサーバーをデプロイする
独自のインスタンスを実行したい場合は、stdioまたはHTTPモードを使用してSocket MCPサーバーをローカルにデプロイすることができます。
APIキーの取得
ローカルのSocket MCPサーバーを使用するには、APIキーを作成する必要があります。これは、これらの手順に従って行うことができます。必要なアクセス許可スコープは packages:list のみで、これによりMCPサーバーは依存関係スコアのためにパッケージメタデータを照会することができます。
ローカルデプロイには、2つのオプションがあります。
オプション2a: Stdioモード (デフォルト)
以下のボタンをクリックして、お気に入りのAIアシスタントに自前のstdioサーバーをインストールします。
Claude Code (stdioモード) は、以下のコマンドで設定できます。
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 を使用することで、AIアシスタントはSocket APIに依存関係のスコアリング情報を照会できます。これは、さまざまなエコシステムのパッケージについて包括的なセキュリティと品質のメトリクスを提供します。
パラメータ:
| パラメータ |
タイプ |
必須 |
デフォルト |
説明 |
packages |
配列 |
✅ はい |
- |
分析するパッケージオブジェクトの配列 |
packages[].ecosystem |
文字列 |
いいえ |
"npm" |
パッケージエコシステム (npm, pypi, cargo など) |
packages[].depname |
文字列 |
✅ はい |
- |
依存関係/パッケージの名前 |
packages[].version |
文字列 |
いいえ |
"unknown" |
依存関係のバージョン |
使用例:
{
"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アシスタントとどのように相互作用するかを、クライアントルールを変更することでさらにカスタマイズすることができます。ルールは通常マークダウンファイルであり、その場所は使用しているAIアシスタントによって異なります。
| MCPクライアント |
ルールファイルの場所 |
| Claude Desktop/Code |
CLAUDE.md |
| VSCode Copilot |
.github/copilot-instructions.md |
| Cursor |
.cursor/rules |
クライアントルールファイルに追加できるルールの例を以下に示します。
新しい依存関係を追加する際には、必ずdepscoreツールで依存関係のスコアをチェックしてください。スコアが低い場合は、代替ライブラリを使用するか、自分でコードを書くことを検討してください。スコアについて不確かな場合は、経験豊富な人にレビューを依頼してください。依存関係をチェックする際には、pyproject.toml/package.json/依存関係ファイルだけでなく、インポートも必ずチェックしてください。
必要に応じてルールを調整することができます。たとえば、特定のマニフェストファイルを含めるルールを追加したり、低スコアの場合の対処方法を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のヘルスチェック
- ロードバランサーのヘルスモニタリング
- 一般的なサービスモニタリング
前提条件
インストール
リポジトリをクローンし、依存関係をインストールします。
git clone https://github.com/SocketDev/socket-mcp.git
cd socket-mcp
npm install
ビルド
このプロジェクトは、Type strippingを使用した直接実行可能なNode.jsプロジェクトです。
Node.js 22を使用している場合は、node --experimental-strip-types index.ts で実行します。
それ以降のバージョンのNode.jsでは、単に node index.ts で実行できます。
どちらのバージョンでも、正しいフラグを含むnpm runスクリプトを実行することもできます。
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
🔧 トラブルシューティング
一般的な問題
Q: 公開サーバーが応答しない
- 正しいURL
https://mcp.socket.dev/ を使用していることを確認してください。
- MCPクライアントの設定が正しいことを確認してください。
- MCPクライアントを再起動してみてください。
Q: ローカルサーバーが起動しない
- Node.js v16以上がインストールされていることを確認してください。
SOCKET_API_KEY 環境変数が設定されていることを確認してください。
- APIキーに
packages:list のアクセス許可があることを確認してください。
Q: ローカルサーバーで認証エラーが発生する
- Socket APIキーが有効であることを再度確認してください。
- キーに必要な
packages:list スコープがあることを確認してください。
- SocketダッシュボードからAPIキーを再生成してみてください。
Q: AIアシスタントがdepscoreツールを見つけられない
- 設定を変更した後にMCPクライアントを再起動してください。
- サーバーの設定が正しく保存されていることを確認してください。
- ローカルデプロイの場合は、MCPサーバーが実行されていることを確認してください。
ヘルプの取得
📄 ライセンス
このプロジェクトは、MITライセンスの下でライセンスされています。詳細については、こちらを参照してください。