DeepSeek MCP Server について
DeepSeek API のテキスト・画像チャット、Responses、FIM 補完、ファイル操作、モデルや残高の照会を MCP クライアントに提供するサーバーです。DeepSeek の機能を利用する MCP クライアント向けで、上限付きのプロセス内会話状態も扱えます。
主な機能
- 01テキスト・画像チャット
- 02Responses と FIM 補完
- 03画像ファイルのライフサイクル操作
- 04モデルと残高の照会
- 05上限付きプロセス内会話
活用シーン
- 01DeepSeek による画像の解釈
- 02MCP クライアントからの DeepSeek 利用
- 03画像ファイルのアップロードと再利用
MCP 対応
DeepSeek API のチャット、Responses、補完、ファイル管理、アカウント照会を MCP ツールとして公開します。stdio と Streamable HTTP のトランスポートに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
7掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| message | string | いいえ | |
| messages | array | いいえ | |
| model | string | いいえ | |
| conversation_id | string | いいえ | |
| clear_conversation | boolean | いいえ | |
| frequency_penalty | number | いいえ | |
| max_tokens | integer | いいえ | |
| presence_penalty | number | いいえ | |
| response_format | object | いいえ | |
| response_format.type | enum | はい | text | json_object |
| stop | any | いいえ | |
| stream | boolean | いいえ | |
| stream_options | object | いいえ | |
| stream_options.include_usage | boolean | いいえ | |
| temperature | number | いいえ | |
| top_p | number | いいえ | |
| tools | array | いいえ | |
| tool_choice | any | いいえ | |
| logprobs | boolean | いいえ | |
| top_logprobs | integer | いいえ | |
| thinking | object | いいえ | |
| thinking.type | enum | いいえ | enabled | disabled |
| reasoning_effort | enum | いいえ | low | high | max |
| user_id | string | いいえ | |
| include_raw_response | boolean | いいえ | |
| extra_body | object | いいえ |
詳細
DeepSeek MCP Server
DeepSeek V4.1 FlashおよびV4 Pro API向けのMCPサーバーです。テキストと画像によるチャット、Responses API、FIM補完、Files APIのライフサイクル操作、モデルの検出、残高の確認、上限付きのメモリー内会話に対応します。
バージョン1.4.0では、安定版MCP TypeScript SDK v2を使用し、2026-07-28プロトコルとステートレスなレガシークライアントの両方に対応しています。
最新情報
2026年10月19日時点の公式APIドキュメントに基づいて確認しています。
- 標準の高速モデルは
deepseek-flashで、現在はDeepSeek-V4.1-Flash-1017によって提供されています。10月17日のモデル更新では、APIの呼び出し方法やモデルのトークン料金に変更はありませんでした。 deepseek-v4-flashとdeepseek-v4-flash-vision-expは、deepseek-flashの一時的なエイリアスです。deepseek-v4-proは引き続きV4 Pro 0813を提供しています。DeepSeekは発表していた9月のルーティング変更計画を撤回し、Proは料金を変更せず引き続き利用できます。- V4.1 FlashはChat CompletionsとResponsesで画像入力に対応しています。V4 Proはテキスト入力に対応しています。アカウントで現在利用できるモデルは
list_modelsで確認してください。 - Files APIでは、再利用可能な画像入力のアップロード、一覧表示、取得、削除が可能です。
- DeepSeekのドキュメントによると、
deepseek-flashは1Mトークンのコンテキストウィンドウと、最大384Kトークンの出力に対応しています。
ここでいう「マルチモーダル」とは画像の理解を指します。このサーバーでは画像、動画、音声を生成できません。
ツール
サーバーは11個のツールを公開します。
chat_completion:テキストまたは画像に対応したChat Completions、思考制御、関数ツール、JSON出力、ストリーミング集約、オプションのconversation_idメモリー。create_response:テキスト/画像、推論制御、関数ツール、apply_patchカスタムツール、構造化出力、セマンティックなストリーミング集約に対応したステートレスなResponses API呼び出し。completion:/beta/completionsを使用したFIM補完。list_models:表示名、コンテキスト/出力制限、入出力モダリティ、推論レベル、API機能を含む、利用可能なモデルのリアルタイム検出。get_user_balance:アカウントの利用可否と残高。upload_file:base64形式のJPEG、PNG、GIF、WebPデータをアップロードし、再利用可能なDeepSeekのfile_idを取得します。list_files:カーソル、順序、用途のフィルターを指定して、アップロード済みファイルを一覧表示します。retrieve_file:1つのfile_idのメタデータを取得します。delete_file:アップロード済みファイルを1つ削除します。reset_conversation:ローカルのメモリー内会話を1つ消去します。list_conversations:ローカルのメモリー内会話IDを一覧表示します。
各ツールはMCP出力スキーマと動作アノテーションを宣言します。プロバイダーの完全なペイロードは、include_raw_response=trueを指定した場合にのみ含まれます。
API の動作
- 思考はデフォルトで有効です。標準の推論レベルは
none、low、high、maxです。互換性のためのエイリアスも利用できます。minimalはlowに、mediumとxhighはhighにマッピングされます。また、思考ガイドではultraもmaxのエイリアスとして利用できます。 - Chat の
stream_optionsにはstream=trueが必要です。Chat の強制ツール選択 (requiredまたは名前付き関数)には、思考を無効にする必要があります。 - Chat のプレフィックス補完(
prefix=true)と厳密な関数ツール (strict=true)は、自動的に/beta/chat/completionsを使用します。設定された/v1および/betaのベース URL は、ベータリクエスト用に正規化されます。 - 頻度ペナルティと存在ペナルティは互換性のために引き続き受け付けられますが、 DeepSeek はこれらを無視します。
- Responses の呼び出しはステートレスです。入力履歴全体を送信してください。
web_searchは サーバー側でdeepseek-v4-proを使用して実行されます。DeepSeek はdeepseek-flashではこれを無視します。file_search、code_interpreter、mcpなど、その他の組み込みツールタイプは無視されます。 サポートされているカスタムツールは{ "type": "custom", "name": "apply_patch" }です。返された呼び出しはcustom_tool_callsに含まれます。クライアントはこれを実行し、custom_tool_call_outputの履歴を送信する必要があります。output_itemsは、完全な推論、 メッセージ、ツール呼び出しの各アイテムを保持するため、プロバイダーの生のレスポンス全体を有効にせずに再送できます。 - FIM はベータ版で、思考は無効です。ストリーミングの使用量オプションに対応しています。
echo=trueはsuffixまたはlogprobsと併用できません。ガイドには出力上限が 4K と記載されているため、Chat の出力上限が適用されると想定しないでください。 DEEPSEEK_REQUEST_TIMEOUT_MSは、レスポンス本文の読み取りやストリーミング出力を含む、 リクエスト全体に適用されます。ストリームは 1 つの MCP 結果に集約されます。部分的なトークンは MCP 通知として転送されません。
Search and Fetch の課金に関するお知らせ
DeepSeek は 2026 年 10 月 17 日に、独立した Search and Fetch APIs を公開しました。料金はそれぞれ成功したリクエスト 1,000 件あたり $0.75で、トークン数や結果数ではなく リクエスト単位で課金されます。HTTP 200 が返され、空でない Search の結果または Fetch のページコンテンツがある場合にのみ、 リクエストは課金対象となります。これらの料金はモデルのトークン料金とは別です。
DeepSeek によると、DeepSeek Harness、Claude Code、Codex のサーバー側ツールを介した Search および Fetch の呼び出しは、 DeepSeek API ユーザー向けに一時的に無料です。リクエスト単位の課金は2026 年 10 月 31 日 16:00 UTC (北京時間 11 月 1 日 00:00)に開始されます。この免除の発表で名前が挙げられているのはこれらのクライアントです。 他の統合も対象になると想定しないでください。エージェントで検索を有効にする前に、DeepSeek の最新の料金を確認してください。
この MCP サーバーは、独立した Search または Fetch ツールを公開しません。
create_response ツールはすでに Pro 向けの web_search を受け付けており、DeepSeek がサーバー上で実行します。
Flash はこれを無視します。新しい生の JSON エンドポイントは
POST /v1/tools/search と POST /v1/tools/fetch です。サーバーの
MCP_TOOL_RATE_LIMIT は MCP の呼び出しを制限するもので、DeepSeek の利用料金は制限しません。
インストール
Node.js 20 以降が必要です。
stdio で直接実行する場合:
DEEPSEEK_API_KEY="REPLACE_WITH_DEEPSEEK_KEY" npx -y deepseek-mcp-server@1
Codex CLI:
codex mcp add deepseek --env DEEPSEEK_API_KEY="REPLACE_WITH_DEEPSEEK_KEY" -- npx -y deepseek-mcp-server@1
Claude Code:
claude mcp add deepseek --env DEEPSEEK_API_KEY="REPLACE_WITH_DEEPSEEK_KEY" -- npx -y deepseek-mcp-server@1
MCP クライアントの設定例:
{
"mcpServers": {
"deepseek": {
"command": "npx",
"args": ["-y", "deepseek-mcp-server@1"],
"env": {
"DEEPSEEK_API_KEY": "REPLACE_WITH_DEEPSEEK_KEY"
}
}
}
}
画像入力
chat_completion は画像 URL を受け付けます:
{
"message": [
{ "type": "text", "text": "Describe this image." },
{
"type": "image_url",
"image_url": {
"url": "https://example.com/photo.png",
"detail": "high"
}
}
]
}
アップロードせずに、対応する Base64 データ URL を渡すこともできます:
{
"message": [
{ "type": "text", "text": "What is shown here?" },
{
"type": "file",
"file_data": "data:image/png;base64,iVBORw0KGgo...",
"filename": "image.png"
}
]
}
再利用する場合は upload_file を呼び出し、返された ID を渡します:
{
"filename": "diagram.png",
"file_data": "iVBORw0KGgo...",
"expires_after_seconds": 86400
}
{
"message": [
{ "type": "text", "text": "Explain this diagram." },
{ "type": "file", "file_id": "file-api-..." }
]
}
同じアップロード済みファイルを create_response で使用できます:
{
"input": [
{
"role": "user",
"content": [
{ "type": "input_text", "text": "Read the image." },
{ "type": "input_image", "file_id": "file-api-..." }
]
}
]
}
対応する画像形式は JPEG、PNG、GIF、WebP です。詳細度には low、
high、original、auto を指定できます。
画像の制限
インライン画像は1枚あたり32 MiB、アップロードされたファイルは64 MiB、JSONリクエストボディは48 MiB、リクエストあたりの画像数は600枚に制限されています。ローカル検証では、判明しているインライン画像のサイズ、画像数、シリアライズ後のUTF-8ボディサイズを確認します。DeepSeekでは、リモートから取得またはダウンロードした画像とアップロードされたファイルの寸法および合計サイズを確認します。ファイル参照を含まない場合は合計64 MiB、含む場合は200 MiBまでです。寸法は1辺あたり8192ピクセルまでで、画像が15枚以上の場合は4096ピクセルまでに引き下げられます。外部からのダウンロードは60秒以内に完了する必要があります。
サーバーは、これらのプロバイダー側の制限を事前確認する目的で、画像URLを取得したりファイルのメタデータを読み取ったりすることはありません。サイズの大きい画像や再利用する画像には、Files APIを使用してください。
アップロードの安全境界
upload_file は、生のbase64またはサポート対象の画像データURLを受け付けます。意図的にローカルファイルパスは受け付けず、サーバー上で任意のURLを取得することもありません。デコード後のアップロードデータは64 MiBまでで、アップロード前にバイト列のシグネチャを検証します。アップロードされたデータはDeepSeekによってお客様のアカウントに保存されます。保存を継続しない場合は、有効期限を設定するか delete_file を使用してください。有効期限は3,600〜2,592,000秒の範囲で指定する必要があります。DeepSeekのストレージ上限は、ユーザーあたり25 GiBかつ10,000ファイルです。アップロードのタイムアウトは10分です。大きなファイルをアップロードする場合は、必要に応じて DEEPSEEK_REQUEST_TIMEOUT_MS を増やしてください。
Streamable HTTP
ローカルHTTPエンドポイントを起動します。
DEEPSEEK_API_KEY="REPLACE_WITH_DEEPSEEK_KEY" \
MCP_TRANSPORT=streamable-http \
MCP_HTTP_HOST=127.0.0.1 \
MCP_HTTP_PORT=3001 \
npx -y deepseek-mcp-server@1
エンドポイントのデフォルトは http://127.0.0.1:3001/mcp です。
ブラウザクライアントを使用する場合は、カンマ区切りのオリジン許可リストを正確に設定してください。
MCP_HTTP_ALLOWED_ORIGINS=https://app.example.com,http://localhost:3000
Origin ヘッダーを含むリクエストは、そのオリジンが許可リストに登録されていない場合、403 で拒否されます。Origin を省略するネイティブクライアントには影響しません。
HTTP認証と受付制限
ローカルHTTPはデフォルトでループバックにバインドされます。共有ベアラートークンで保護するには、MCP_HTTP_AUTH_TOKEN を設定します。その場合、呼び出し元は Authorization: Bearer <token> を送信します。これは共有トークンによるアクセス制御であり、OAuth認可サーバーではありません。
ループバック以外へのバインドには、MCP_HTTP_AUTH_TOKEN または MCP_HTTP_TRUST_AUTH_GATEWAY=true のいずれかが必須です。ゲートウェイモードは、リバースプロキシがすべてのMCPリクエストを認証し、バックエンドへの直接アクセスを防ぐ場合にのみ使用してください。ブラウザのオリジン許可リストは認証とは独立しています。1.0.1からアップグレードするホスト型インストールでは、これらの認証方式のいずれかを明示的に設定する必要があります。
MCP_TOOL_RATE_LIMIT のデフォルトは、60秒間に120回の呼び出しです。同じプロバイダークライアントを使用するすべてのツールとステートレスHTTPリクエストインスタンスで共有されます。レート制限の応答は、error_type=tool_rate_limit および retryable=true を含むMCPツールエラーです。拒否された呼び出しはDeepSeekに到達せず、会話内容も変更しません。
MCPのキャンセルはプロバイダーリクエストに伝達されます。キャンセルされた応答は会話履歴に保存されません。存在しない会話リソースを読み取ると、プロトコルの -32602 エラーが返されます。リソース一覧の変更通知は通知対象として公開されません。
ホスト型エンドポイント
Authorization: Bearer <token> を使用する、別途デプロイされたエンドポイントが https://deepseek-mcp.ragweld.com/mcp で利用できます。ホスト型デプロイは独自のリリースサイクルを持ち、npm/GitHubのリリースより遅れる場合があります。新たに追加されたツールを利用する前に、tools/list を確認してください。
環境変数
必須:
DEEPSEEK_API_KEY=your-api-key
任意:
DEEPSEEK_BASE_URL=https://api.deepseek.com
DEEPSEEK_REQUEST_TIMEOUT_MS=120000
DEEPSEEK_DEFAULT_MODEL=deepseek-flash
MCP_TRANSPORT=stdio
MCP_HTTP_HOST=127.0.0.1
MCP_HTTP_PORT=3001
MCP_HTTP_PATH=/mcp
MCP_HTTP_ALLOWED_ORIGINS=https://app.example.com,http://localhost:3000
MCP_HTTP_AUTH_TOKEN=
MCP_HTTP_TRUST_AUTH_GATEWAY=false
MCP_TOOL_RATE_LIMIT=120
CONVERSATION_MAX_MESSAGES=200
CONVERSATION_MAX_MESSAGES は、プロセス内ストアに保持する会話あたりのメッセージ数を制限します。プロセスを再起動すると、このストアは消去されます。
MCP 互換性
@modelcontextprotocol/serverと@modelcontextprotocol/client2.3.1、および@modelcontextprotocol/node2.1.1 を基盤に構築されています。- 最新の MCP 2026-07-28 はステートレスです。検出には
server/discoverを使用し、リクエストにはプロトコルのバージョンとクライアントの機能を_metaに含めます。完了した結果にはresultTypeと必須のキャッシュフィールドが含まれます。SDK は対応する HTTP ヘッダーを検証します。古いクライアント向けに、ステートレスな 2025 年代の処理も引き続き利用できます。 - Stdio は最初のやり取りからプロトコルの世代を判断し、その接続ではサーバーインスタンスを固定します。
- 静的な検出/一覧結果には 1 時間のパブリックキャッシュヒントが含まれます。動的なリソース一覧、実行時データ、ライブアカウントデータ、会話は非公開で、保持期間が短いか、キャッシュされません。
- 明示的な
conversation_idによるメモリはアプリケーションの状態であり、トランスポートのセッション状態とは独立して機能します。
0.6.0 からの移行
- デフォルトモデルが
deepseek-v4-flashからdeepseek-flashに変更されました。 - MCP SDK は、モノリシックな v1 パッケージから分割された v2 パッケージに移行しました。
MCP_HTTP_STATEFUL_SESSIONは削除されました。HTTP のプロトコル処理はリクエストごとのステートレス方式になりました。会話コンテキストを保持するにはconversation_idを使用してください。- Files API の 4 つのツールとビジュアル入力が追加されました。
- 既存のツール名と
include_raw_responseの動作は引き続き互換性があります。
リリース 1.4.0
このリリースでは MCP の依存関係を更新し、Pro の利用可否と Responses の機能を修正しました。また、apply_patch カスタムツールの結果と FIM の使用オプションを追加し、ベータ版へのルーティング、エンドツーエンドのリクエスト期限、分割された CRLF SSE 境界、ストリームのエラー処理、JSON 以外のプロバイダーエラーを修正しました。既存のツール名と、オプトインによる生レスポンスは維持されています。API/MCP の包括的な監査では、ビジョンリクエストの制限、Responses の完全な履歴、キャンセルの伝播、正確な機能情報、リソース欠落時のエラー、ツールの受け入れ数の制限、反射された認証情報の秘匿化、明示的なリモート HTTP 認証も追加されました。DEEPSEEK_DEFAULT_MODEL は、3 つすべての生成ツールで使用されるようになりました。
以前の 1.1.0~1.3.0 のバージョン識別子は過去に公開された後、削除されました。npm ではこれらを再利用できません。次に利用可能なマイナーリリースは 1.4.0 です。
開発と検証
npm ci
npm run build
npm test
npm pack --dry-run
認証情報を使用するスモークテスト:
DEEPSEEK_API_KEY="REPLACE_WITH_DEEPSEEK_KEY" npm run test:live
DEEPSEEK_MCP_AUTH_TOKEN="REPLACE_WITH_TOKEN" npm run test:remote
ライブスモークテストでは、モデル一覧、残高、テキストチャット、思考ストリーミング、Responses、厳格なベータ版の関数呼び出し、apply_patch のカスタムツール呼び出し、FIM、ビジュアル入力、および Files のアップロード/取得/一覧/削除の一連の処理とクリーンアップを確認します。
レジストリの識別情報
- MCP Registry:
io.github.DMontgomery40/deepseek - npm:
[email protected] - OCI:
docker.io/dmontgomery40/deepseek-mcp-server:0.5.0は最後に公開されたイメージで、現在の npm の機能セットは含まれていません。
ドキュメント監査
リリース監査では、サポート対象となる DeepSeek エンドポイントの参照と最新のガイドすべてに加え、MCP 2026-07-28 の全 31 ページと正式なスキーマを対象としています。調査結果、網羅範囲、ソース間の矛盾、オプション機能、検証上の制限は、API 監査とMCP 監査に記録されています。Anthropic 形式のプロバイダー API は参考情報として確認しました。このサーバーが公開するのは、OpenAI 互換の Chat、Responses、FIM、Files、モデル、残高の各ルートです。
公式リファレンス
- DeepSeek の変更履歴
- DeepSeek の10月17日の発表
- DeepSeek Search and Fetch のガイドと料金
- DeepSeek Responses の互換性ガイド
- DeepSeek V4.1 Flash の発表
- DeepSeek の料金とモデルの制限
- DeepSeek のビジュアル入力ガイド
- DeepSeek Files API のガイド
- DeepSeek Chat Completions
- DeepSeek Responses API
- MCP 2026-07-28 仕様
- MCP TypeScript SDK v2
- MCP SDK v2 移行ガイド
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。