DNN API Server (.NET C# Version)
Description
# DNN API Server (.NET C# Version) A Model Context Protocol (MCP) server for DNN Platform written in C# using .NET. ## Overview This server implements the Model Context Protocol to provide tools for interacting with DNN Platform through its APIs. It's a C# port of the Node.js…
About
# DNN API Server (.NET C# Version) A Model Context Protocol (MCP) server for DNN Platform written in C# using .NET. ## Overview This server implements the Model Context Protocol to provide tools for interacting with DNN Platform through its APIs. It's a C# port of the Node.js implementation using the official…
Details
- Author
- sachatrauwaen
- Downloads
- 290
- Categories
- Developer Tools, API
Jump to
- Authentication with DNN API using username/password or JWT token
- Host management tools: get_host, clear_cache
- Portal management tools: get_portal, list_portals
- Support for site configuration via environment variables or JSON file
- Easily extensible using MCP SDK attributes
Configure the server via environment variables (DNN_API_URL, DNN_USERNAME, DNN_PASSWORD, DNN_SITES_FILE, DNN_SITE) or a site configuration JSON file. Build and run by executing cd DnnApiServer; dotnet build; dotnet run. Requires .NET 7.0 or higher and a running DNN Platform instance.
DNN API Server (.NET C# Version)
A Model Context Protocol (MCP) server for DNN Platform written in C# using .NET.
Overview
This server implements the Model Context Protocol to provide tools for interacting with DNN Platform through its APIs. It's a C# port of the Node.js implementation using the official ModelContextProtocol SDK.
Features
- Authentication with DNN API
- Host management tools
- Portal management tools
- Support for site configuration via environment variables or JSON file
- Easily extensible using MCP SDK attributes
Requirements
- .NET 7.0 or higher
- DNN Platform instance
Configuration
The server can be configured using environment variables:
- DNN_API_URL: URL to your DNN installation API (required)
- DNN_USERNAME: DNN username (required if not using a token)
- DNN_PASSWORD: DNN password (required if not using a token)
- DNN_SITES_FILE: Path to a JSON file containing site configurations (optional)
- DNN_SITE: Name of the site configuration to use from the sites file (optional, default: "dnn18")
Site Configuration File Format
{
"sites": {
"dnn18": {
"url": "https://your-dnn-site.com",
"token": "your-jwt-token",
"expires": "2025-12-31"
}
}
}
Building and Running
cd DnnApiServer
dotnet build
dotnet run
Available Tools
Host Tools
-get_host: Get DNN host settings
- clear_cache: Clear DNN cache
Portal Tools
-get_portal: Get portal details
- list_portals: List all portals
Adding New Tools
To add new tools, simply add new methods to the DnnTools class:
1. Open Tools/DnnTools.cs
2. Add a new method in the appropriate region (or create a new region)
3. Decorate the method with the [McpServerTool] and [Description] attributes
4. Rebuild the project
For example:
[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 });
}
License
MIT
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





