mcpField
D
DNN API Server (.NET C# Version)

DNN API Server (.NET C# Version)

ローカル
github.com/sachatrauwaen開発ツール224 週間前に更新

DNN API Server (.NET C# Version) について

DNN API Server (.NET C# Version)は、API経由でDNN Platformを操作するC#製MCPサーバーです。ホストとポータルの管理ツールを備え、複数サイトの設定に対応します。

主な機能

  1. 01DNN API認証
  2. 02ホスト設定の取得
  3. 03DNNキャッシュの消去
  4. 04ポータル情報の取得と一覧表示
  5. 05環境変数またはJSONによるサイト設定
  6. 06MCP SDK属性によるツール拡張

活用シーン

  1. 01DNNホスト設定の確認
  2. 02サイトキャッシュの消去
  3. 03ポータル詳細の取得や一覧表示
  4. 04JSONファイルからのサイト設定選択

MCP 対応

ホスト設定の取得、キャッシュ消去、ポータル詳細の照会など、DNN Platform APIの操作をMCPツールとして公開します。公式のModelContextProtocol SDKを使用します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

DNN API Server(.NET C# バージョン)

.NET を使用して C# で記述された、DNN Platform 用の Model Context Protocol(MCP)サーバーです。

概要

このサーバーは Model Context Protocol を実装し、DNN Platform の API を通じて操作するツールを提供します。公式の ModelContextProtocol SDK を使用した Node.js 実装の C# 移植版です。

機能

  • DNN API による認証
  • ホスト管理ツール
  • ポータル管理ツール
  • 環境変数または JSON ファイルによるサイト構成のサポート
  • MCP SDK の属性を使用して簡単に拡張可能

要件

  • .NET 7.0 以降
  • DNN Platform インスタンス

構成

サーバーは環境変数を使用して構成できます。

  • DNN_API_URL:DNN インストールの API URL(必須)
  • DNN_USERNAME:DNN ユーザー名(トークンを使用しない場合は必須)
  • DNN_PASSWORD:DNN パスワード(トークンを使用しない場合は必須)
  • DNN_SITES_FILE:サイト構成を含む JSON ファイルのパス(任意)
  • DNN_SITE:サイトファイルから使用するサイト構成の名前(任意、既定値:「dnn18」)
サイト構成ファイルの形式
{
  "sites": {
    "dnn18": {
      "url": "https://your-dnn-site.com",
      "token": "your-jwt-token",
      "expires": "2025-12-31"
    }
  }
}

ビルドと実行

cd DnnApiServer
dotnet build
dotnet run

利用可能なツール

ホストツール
  • get_host:DNN ホストの設定を取得
  • clear_cache:DNN キャッシュをクリア
ポータルツール
  • get_portal:ポータルの詳細を取得
  • list_portals:すべてのポータルを一覧表示

新しいツールの追加

新しいツールを追加するには、DnnTools クラスにメソッドを追加します。

  1. Tools/DnnTools.cs を開きます
  2. 適切なリージョンに新しいメソッドを追加します(または新しいリージョンを作成します)
  3. [McpServerTool] 属性と [Description] 属性をメソッドに付与します
  4. プロジェクトを再ビルドします

例:

[McpServerTool]
[Description("Get page details")]
public async Task<string> GetPage(int pageId, int portalId)
{
    var data = await ExecuteCommandAsync(portalId, $"get-page --id {pageId}");
    return JsonSerializer.Serialize(data, new JsonSerializerOptions { WriteIndented = true });
}

ライセンス

MIT

コメント

MCP は初めてですか?

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

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