mcpField
D
DeepSeek MCP Server

DeepSeek MCP Server

ローカル
github.com/chew-zAI・エージェント464 週間前に更新

DeepSeek MCP Server について

DeepSeek MCP Serverは、質問やコードファイルをDeepSeekモデルに送るGo製サーバーです。コードレビュー、JSON形式の応答、APIアカウント情報の確認に対応します。

主な機能

  1. 01DeepSeekモデルへの質問
  2. 02ファイルを使ったコードレビュー
  3. 03JSON形式の応答指定
  4. 04モデル一覧と残高確認
  5. 05トークン使用量の推定

活用シーン

  1. 01ローカルのソースファイルをレビュー
  2. 02DeepSeekに技術的な質問
  3. 03自動化向けJSONの生成
  4. 04API残高とトークン量の確認

MCP 対応

MCPクライアントに、DeepSeekへの質問、モデル一覧、API残高確認、トークン量推定のツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

DeepSeek MCP サーバー

DeepSeek の API と連携する本番品質の MCP サーバーです。高度なコードレビュー機能、効率的なファイル管理、API アカウント管理を備えています。

機能

  • マルチモデル対応:DeepSeek Chat や DeepSeek Coder を含むさまざまな DeepSeek モデルを選択できます
  • コードレビューに特化:詳細なコード分析を行い、Markdown 形式で出力する組み込みのシステムプロンプトを備えています
  • ファイルの自動処理:パスを直接指定できる、組み込みのファイル管理機能を備えています
  • API アカウント管理:残高の確認とトークン使用量の見積もりができます
  • JSON モード対応:解析しやすい構造化 JSON レスポンスをリクエストできます
  • 高度なエラー処理:構造化されたエラーログを記録しながら、適切に縮退動作します
  • 改善された再試行ロジック:API 呼び出しで、設定可能な指数バックオフによる自動再試行を行います
  • セキュリティ:ファイル形式の制限とサイズ上限を設定できます
  • パフォーマンス監視:リクエストのレイテンシとスループットを測定するメトリクス収集機能を内蔵しています

前提条件

  • Go 1.21+
  • DeepSeek API キー
  • MCP プロトコルの基本的な理解

インストールとクイックスタート

# Clone and build
git clone https://github.com/your-username/DeepseekMCP
cd DeepseekMCP
go build -o bin/mcp-deepseek

# Start server with environment variables
export DEEPSEEK_API_KEY=your_api_key
export DEEPSEEK_MODEL=deepseek-chat
./bin/mcp-deepseek

設定

Claude Desktop
{
  "mcpServers": {
    "deepseek": {
      "command": "/Your/project/path/bin/mcp-deepseek",
      "env": {
        "DEEPSEEK_API_KEY": "YOUR_API_KEY",
        "DEEPSEEK_MODEL": "deepseek-chat"
      }
    }
  }
}
環境変数
変数説明デフォルト
DEEPSEEK_API_KEYDeepSeek API キー必須
DEEPSEEK_MODEL利用可能なモデルのモデル IDdeepseek-chat
DEEPSEEK_SYSTEM_PROMPTコードレビュー用のシステムプロンプトデフォルトのコードレビュープロンプト
DEEPSEEK_SYSTEM_PROMPT_FILEシステムプロンプトを含むファイルのパス空
DEEPSEEK_MAX_FILE_SIZE最大アップロードサイズ(バイト)10485760(10MB)
DEEPSEEK_ALLOWED_FILE_TYPESMIME タイプ(カンマ区切り)[一般的なテキスト/コード形式]
DEEPSEEK_TIMEOUTAPI タイムアウト(秒)90
DEEPSEEK_MAX_RETRIESAPI の最大再試行回数2
DEEPSEEK_INITIAL_BACKOFF初期待機時間(秒)1
DEEPSEEK_MAX_BACKOFF最大待機時間(秒)10
DEEPSEEK_TEMPERATUREモデルの Temperature(0.0~1.0)0.4

.env の例:

DEEPSEEK_API_KEY=your_api_key
DEEPSEEK_MODEL=deepseek-chat
DEEPSEEK_SYSTEM_PROMPT="Your custom code review prompt here"
# Alternative: load system prompt from file
# DEEPSEEK_SYSTEM_PROMPT_FILE=/path/to/prompt.txt
DEEPSEEK_MAX_FILE_SIZE=5242880  # 5MB
DEEPSEEK_ALLOWED_FILE_TYPES=text/x-go,text/markdown
DEEPSEEK_TEMPERATURE=0.7

コア API ツール

現在、サーバーでは以下のツールを利用できます。

deepseek_ask

コード分析、レビュー、一般的な質問に使用します。任意でファイルパスを指定できます。

{
  "name": "deepseek_ask",
  "arguments": {
    "query": "Review this Go code for concurrency issues...",
    "model": "deepseek-chat",
    "systemPrompt": "Optional custom review instructions",
    "file_paths": ["main.go", "config.go"],
    "json_mode": false
  }
}
deepseek_models

利用可能なすべての DeepSeek モデルと、その機能を一覧表示します。

{
  "name": "deepseek_models",
  "arguments": {}
}
deepseek_balance

DeepSeek API アカウントの残高と利用可能状況を確認します。

{
  "name": "deepseek_balance",
  "arguments": {}
}
deepseek_token_estimate

テキストまたはファイルのトークン数を見積もり、クォータ管理に役立てます。

{
  "name": "deepseek_token_estimate",
  "arguments": {
    "text": "Your text to estimate...",
    "file_path": "path/to/your/file.go"
  }
}

対応モデル

デフォルトで以下の DeepSeek モデルに対応しています。

モデル ID説明
deepseek-chatパフォーマンスと効率のバランスを重視した汎用チャットモデル
deepseek-coderコーディングや技術的なタスクに特化したモデル
deepseek-reasoner推論や問題解決のタスクに最適化されたモデル

注:実際に利用可能なモデルは、API のアクセスレベルによって異なる場合があります。サーバーは DeepSeek API 経由でアクセスできるすべてのモデルを自動的に検出し、利用可能にします。

対応ファイル形式

拡張子MIME タイプ
.gotext/x-go
.pytext/x-python
.jstext/javascript
.mdtext/markdown
.javatext/x-java
.c/.htext/x-c
.cpp/.hpptext/x-c++
25+ more(deepseek.go の getMimeTypeFromPath を参照)

運用上の注意

  • 縮退モード:初期化エラーが発生すると、自動的にセーフモードに移行します
  • 監査ログ:すべての操作をタイムスタンプとメタデータ付きで記録します
  • セキュリティ:処理前に、ファイルの内容を MIME タイプとサイズに基づいて検証します

ファイル処理

サーバーは deepseek_ask ツールを通じて、ファイルを直接処理します。

  1. file_paths 配列パラメーターにローカルファイルのパスを指定します
  2. サーバーは自動的に以下を行います。
    • 指定されたパスからファイルを読み取ります
    • ファイルの拡張子に基づいて適切な MIME タイプを判定します
    • ファイルの内容を DeepSeek API にアップロードします
    • ファイルをクエリのコンテキストとして使用します

この直接的なファイル処理方式により、個別のファイルアップロード/管理エンドポイントは不要になります。

JSON モードのサポート

構造化データ出力が必要な統合向けに、サーバーは JSON モードをサポートしています。

  • 構造化された応答:DeepSeek モデルに適切な形式の JSON 応答をリクエストできます
  • パーサーに適した形式:CI/CD パイプラインや自動化システムに最適です
  • 簡単な統合:リクエストで json_mode: true を設定するだけです

JSON モードを使用する例:

{
  "name": "deepseek_ask",
  "arguments": {
    "query": "Analyze this code and return a JSON object with: issues_found (array of strings), complexity_score (number 1-10), and recommendations (array of strings)",
    "model": "deepseek-chat",
    "json_mode": true,
    "file_paths": ["main.go", "config.go"]
  }
}

これにより、アプリケーションで直接解析できる、形式の整った JSON 応答が返されます。

開発

コマンドラインオプション

サーバーでは、環境変数を上書きする次のコマンドラインオプションをサポートしています。

# Override the DeepSeek model to use
./bin/mcp-deepseek -deepseek-model=deepseek-coder

# Override the system prompt
./bin/mcp-deepseek -deepseek-system-prompt="Your custom prompt here"

# Override the temperature setting (0.0-1.0)
./bin/mcp-deepseek -deepseek-temperature=0.8
テストの実行

テストを実行するには:

go test -v ./...
リンターの実行
golangci-lint run
コードのフォーマット
gofmt -w .

ライセンス

MIT ライセンス

コントリビューション

コントリビューションを歓迎します!お気軽にプルリクエストを送信してください。

  1. プロジェクトをフォークします
  2. 機能ブランチを作成します(git checkout -b feature/amazing-feature)
  3. 変更をコミットします(git commit -m 'Add some amazing feature')
  4. ブランチにプッシュします(git push origin feature/amazing-feature)
  5. プルリクエストを作成します

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。