DNN API Server (.NET C# Version) について
DNN API Server (.NET C# Version)は、API経由でDNN Platformを操作するC#製MCPサーバーです。ホストとポータルの管理ツールを備え、複数サイトの設定に対応します。
主な機能
- 01DNN API認証
- 02ホスト設定の取得
- 03DNNキャッシュの消去
- 04ポータル情報の取得と一覧表示
- 05環境変数またはJSONによるサイト設定
- 06MCP SDK属性によるツール拡張
活用シーン
- 01DNNホスト設定の確認
- 02サイトキャッシュの消去
- 03ポータル詳細の取得や一覧表示
- 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 クラスにメソッドを追加します。
Tools/DnnTools.csを開きます- 適切なリージョンに新しいメソッドを追加します(または新しいリージョンを作成します)
[McpServerTool]属性と[Description]属性をメソッドに付与します- プロジェクトを再ビルドします
例:
[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
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。