Claude を NuGet で導入する手順 — dotnet add package Anthropic の流れ

Claude を NuGet で導入|公式 Anthropic SDK の C# 使い方

C# / .NET のプロジェクトに Claude を組み込みたいとき、最初に探すのが NuGet パッケージです。Anthropic は公式の C# SDK を NuGet で Anthropic という名前で配布しており、dotnet add package Anthropic 一発で導入できます。本記事では Anthropic 公式 C# SDK ドキュメントと NuGet ギャラリーの情報を土台に、導入コマンド・最小コード・API キー設定・ストリーミング・IChatClient 連携、そして「バージョン 3.X 以下は実は別物だった」という重要な注意点まで、NuGet 経路に特化して整理しました。

結論powered by Claude

C# / .NET から Claude を呼ぶ公式 SDK は NuGet パッケージ Anthropic で、dotnet add package Anthropic で導入できます。.NET Standard 2.0 以降で動作し、現在はベータ版(バージョン 10 以降が公式)です。

最大の落とし穴は バージョン 3.X 以下が別物だった点です。3.X 以下は tryAGI コミュニティ製 SDK で、現在は tryAGI.Anthropic に移管されています。旧クライアントを使い続けたい場合は参照先をそちらへ変更してください。

最小コードは AnthropicClient client = new(); で生成し、client.Messages.Create() にメッセージを渡すだけ。API キーは ANTHROPIC_API_KEY 環境変数から自動取得され、Microsoft.Extensions.AIIChatClient 経由で MCP ツールとも連携できます。

目次 (10)

Claude は NuGet から .NET で使える — 公式パッケージは「Anthropic」

C# / .NET アプリケーションから Claude を呼び出す公式ルートは、NuGet パッケージ Anthropic です。Anthropic 公式が「バージョン 10 以降の Anthropic パッケージが C# 向けの公式 SDK である」と明記しており、Anthropic REST API へ C# から手軽にアクセスできます出典

NuGet ギャラリー上の Anthropic パッケージは累計ダウンロード 150 万超、ライセンスは MIT、メンテナは Anthropic 公式アカウントで、ターゲットは .NET Standard 2.0 と .NET 8.0(net9.0 まで互換)です出典。.NET Framework から最新の .NET まで幅広くカバーするため、レガシー資産を抱えた業務システムにも組み込みやすいのが特徴です。

ただし現時点では ベータ版で、マイナー / パッチ更新でも破壊的変更が入る可能性があります。本番投入する場合はバージョンを固定し、アップグレード時にリリースノートを確認する運用が安全です。

注意:バージョン 3.X 以下は別物 — 旧版は tryAGI.Anthropic へ

NuGet で Anthropic を検索する前に、必ず知っておくべき罠があります。バージョン 3.X 以下の Anthropic パッケージは、公式 SDK ではなく tryAGI というコミュニティが作っていた別物でした出典

現在 tryAGI 版は tryAGI.Anthropic という別パッケージに移管されています。整理すると以下のとおりです。

  • Anthropic(バージョン 10 以降): Anthropic 公式の C# SDK。新規プロジェクトはこちら
  • Anthropic(バージョン 3.X 以下): かつての tryAGI コミュニティ版。すでに役割を終えている
  • tryAGI.Anthropic: 旧 tryAGI 版の移管先。既存コードで使い続けたい場合のみ参照変更

古い記事やサンプルを見て Anthropic の 3.X を入れてしまうと、公式 SDK とは API が全く異なるため動きません。NuGet で導入する際は バージョン 10 以降(執筆時点の最新は 12 系) を明示するか、@latest 相当でインストールしてください。

インストール手順 — dotnet add package Anthropic

導入はワンライナーです。プロジェクトのルートで以下を実行します出典

dotnet add package Anthropic

バージョンを固定したい場合は明示します(NuGet ギャラリー記載の形式)出典

dotnet add package Anthropic --version 12.24.1

導入後の確認は次の順序で進めると確実です。

  1. dotnet add package Anthropic でパッケージを追加する
  2. .csprojPackageReference にバージョンが入ったことを確認する
  3. ANTHROPIC_API_KEY 環境変数を設定する(後述)
  4. dotnet build でビルドが通ることを確認する
  5. サンプルコードを実行して応答が返るかを試す

要件は .NET Standard 2.0 以降のみで、特別なネイティブ依存はありません。Visual Studio の NuGet パッケージマネージャー UI から Anthropic を検索して追加しても同じ結果になりますが、その際もバージョン 10 以降を選んでいるか必ず確認してください。

最小コード — AnthropicClient でメッセージを送る

導入できたら、最小構成は数行です出典

using System;
using Anthropic;
using Anthropic.Models.Messages;

AnthropicClient client = new();

MessageCreateParams parameters = new()
{
    MaxTokens = 1024,
    Messages =
    [
        new()
        {
            Role = Role.User,
            Content = "Hello, Claude",
        },
    ],
    Model = Model.ClaudeOpus4_8,
};

var message = await client.Messages.Create(parameters);

Console.WriteLine(message);

ポイントは 3 つです。AnthropicClient を引数なしで生成すると環境変数から設定を読み込みます。リクエストは MessageCreateParams を組み立てて client.Messages.Create() に渡すだけで、戻り値は Task<Message> です。モデルは Model.ClaudeOpus4_8 のように型付き定数で指定でき、最新の Claude Opus 4.8 を呼び出せます。

MaxTokens は必須項目なので忘れずに設定してください。会話を続ける場合は Messages 配列に過去のやり取りを Role.Assistant / Role.User で積み上げていきます。

API キー設定 — 環境変数と手動指定

認証は環境変数経由が基本です。AnthropicClient を引数なしで生成すると、ANTHROPIC_API_KEY / ANTHROPIC_AUTH_TOKEN / ANTHROPIC_BASE_URL を自動で読み込みます出典

using Anthropic;

// ANTHROPIC_API_KEY などの環境変数から自動設定
AnthropicClient client = new();

CI / コンテナ環境などで明示的に渡したい場合はプロパティで設定します。

using Anthropic;

AnthropicClient client = new() { ApiKey = "my-anthropic-api-key" };

設定項目は ApiKey(環境変数 ANTHROPIC_API_KEY)、AuthToken(ANTHROPIC_AUTH_TOKEN)、BaseUrl(ANTHROPIC_BASE_URL、既定は https://api.anthropic.com)の 3 つです。キーをソースコードへ直書きすると漏洩リスクがあるため、本番では環境変数または Secret マネージャー経由を徹底してください。

ストリーミング応答 — CreateStreaming と IAsyncEnumerable

チャット UI のようにトークンを逐次表示したい場合は、ストリーミング版メソッドを使います。メソッド名には必ず Streaming のサフィックスが付き、戻り値は IAsyncEnumerable です出典

await foreach (var message in client.Messages.CreateStreaming(parameters))
{
    Console.WriteLine(message);
}

await foreach で回すと、サーバーから届いたチャンクを 1 つずつ受け取れます。完全な応答を待たずに描画を始められるため、体感速度が大きく改善します。SSE(Server-Sent Events)ベースの実装なので、Web API でそのままクライアントへ中継する構成とも相性が良好です。

IChatClient 連携 — Microsoft.Extensions.AI と MCP

公式 SDK は Microsoft.Extensions.AI.AbstractionsIChatClient インターフェースを実装しています。これにより、.NET 標準の AI 抽象化レイヤーに乗せた汎用コードから Claude を呼べます出典

using Anthropic;
using Microsoft.Extensions.AI;

AnthropicClient client = new();

IChatClient chatClient = client.AsIChatClient("claude-opus-4-8")
    .AsBuilder()
    .UseFunctionInvocation()
    .Build();

IChatClient として扱えると、Model Context Protocol(MCP)C# SDK(ModelContextProtocol)のツールを直接組み合わせられます。たとえば外部の MCP サーバーが公開するツール群を ChatOptions.Tools に渡し、UseFunctionInvocation() で関数呼び出しを自動化する、といった構成が標準部品だけで完成します。プロバイダーを差し替えても呼び出し側コードを変えずに済むのが、この抽象化の最大の利点です。

エラー処理・リトライ・タイムアウト

公式 SDK は HTTP ステータスごとに専用例外を投げます。基底クラスは AnthropicApiException で、401 なら AnthropicUnauthorizedException、429 なら AnthropicRateLimitException、5xx なら Anthropic5xxException といった具合に分岐します出典。4xx 系はすべて Anthropic4xxException を継承するため、まとめて捕捉することも可能です。

リトライは既定で 2 回、短い指数バックオフ付きで自動実行されます。対象は接続エラー・408・409・429・5xx です。回数を変えたい場合はクライアント設定で指定します。

using Anthropic;

AnthropicClient client = new() { MaxRetries = 3 };

タイムアウトの既定値は 10 分です。長時間のストリーミングや重い生成を扱わない通常用途では、短めに設定して早期に失敗を検知する方が運用しやすいケースもあります。

using System;
using Anthropic;

AnthropicClient client = new() { Timeout = TimeSpan.FromSeconds(42) };

クラウド経由で使う — Bedrock / Vertex / Foundry

Anthropic API を直接叩くだけでなく、クラウドプラットフォーム経由で Claude を使う場合は、用途別の NuGet パッケージが分かれています出典

  • Amazon Bedrock: Anthropic.Bedrock(新規は AnthropicBedrockMantleClient を推奨)
  • Google Vertex AI: Anthropic.Vertex
  • Microsoft Foundry: Anthropic.Foundry(AnthropicFoundryClient を使用)
  • Claude Platform on AWS: Anthropic.Aws(AnthropicAwsClient、ベータ)

すでに AWS / Google Cloud / Azure 上に基盤を持つ企業は、これらのパッケージを使うことで認証・課金・データ所在を既存のクラウド契約に統合できます。コア API は同じ Messages.Create の形を踏襲するため、直接 API 版から移行する際の学習コストも小さく済みます。

公式 Anthropic とコミュニティ Anthropic.SDK の違い

NuGet には公式 Anthropic のほかに、Anthropic.SDK というコミュニティ製パッケージも存在します。こちらは Anthropic とは無関係の有志が開発する非公式クライアントで、Claude API を C# から扱いやすくする独自の API 設計を持っています出典

両者の選び分けの目安は以下です。

  • 新規プロジェクト: 公式 Anthropic を選ぶ。公式メンテで IChatClient 連携も標準装備
  • 既存の Anthropic.SDK 資産: 動いているなら無理に乗り換えず、必要に応じて移行を計画
  • 旧 tryAGI 版(Anthropic 3.X 以下)を使っていた: tryAGI.Anthropic へ参照変更

公式版は現在ベータのため API が変わる可能性がありますが、IChatClient を通じた .NET エコシステムとの統合や、Bedrock / Vertex / Foundry への展開を見据えるなら公式 Anthropic が第一候補です。導入は dotnet add package Anthropic のワンライナーから始められるので、まずは最小コードで応答を確認し、そこからストリーミングやツール連携へ広げていくのがおすすめです出典

参考になったら ♡
Clauder Navi 編集部
@clauder_navi

Anthropic の Claude / Claude Code を中心に、日本のエンジニア向けに最新動向と実務 を毎日発信。 運営方針 は メディアについて をご覧ください。