DNN API Server (.NET C# Version)
@sachatrauwaen
Overview
What is DNN API Server (.NET C# Version)?
It is a Model Context Protocol (MCP) server for DNN Platform written in C# using .NET. It provides tools for interacting with DNN Platform through its APIs and is a C# port of the Node.js implementation using the official ModelContextProtocol SDK.
How to use DNN API Server (.NET C# Version)?
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.
Key features of DNN API Server (.NET C# Version)
- 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
Use cases of DNN API Server (.NET C# Version)
- Retrieve and manage DNN host settings programmatically
- Clear DNN cache remotely via an MCP tool
- Get details of a specific DNN portal
- List all DNN portals in the instance
- Extend functionality by adding custom MCP tools
FAQ from DNN API Server (.NET C# Version)
How does this server differ from the Node.js version?
It is a C# port using the official ModelContextProtocol SDK, offering the same functionality in the .NET ecosystem.
What are the runtime requirements?
.NET 7.0 or higher and a DNN Platform instance.
How do I configure authentication for the server?
Set the environment variables DNN_API_URL, DNN_USERNAME, and DNN_PASSWORD, or use a JSON site configuration file that includes a JWT token.
How can I add new tools to this server?
Open Tools/DnnTools.cs, add a new method in the appropriate region, and decorate it with the [McpServerTool] and [Description] attributes, then rebuild the project.
What transport or authentication does the server use?
It uses the Model Context Protocol; authentication is handled via username/password or a JWT token provided in the site configuration.