A comprehensive configuration management library for Model Context Protocol (MCP) servers and clients. Provides robust support for client configurations, server environments, and library management with security features for sensitive data detection. Version 0.7.0 adds client-specific distribution capabilities allowing targeted configuration deployment to specific MCP clients.
$ dotnet add package DevJoy.Mcp.ConfigA C# .NET library that MCP servers import to gain configuration management capabilities. When integrated into an MCP server, it provides secure, automated configuration management with intelligent handling of sensitive data and seamless distribution across multiple MCP client applications.
.env files# Clone the repository
git clone https://github.com/devjoy-digital/devjoy.mcp-config.git
cd devjoy.mcp-config
# Restore dependencies
dotnet restore
# Build the solution
dotnet build
# Run tests
dotnet test
# Create NuGet package
dotnet pack --configuration Release
devjoy.mcp-config/
├── src/
│ └── DevJoy.Mcp/ # Main library project
├── test/
│ └── DevJoy.Mcp.Tests/ # Unit and integration tests
├── .github/
│ └── workflows/ # CI/CD pipelines
└── DevJoy.Mcp.sln # Solution file
# Run all tests
dotnet test
# Run tests with coverage
dotnet test --collect:"XPlat Code Coverage"
# Run specific test
dotnet test --filter "FullyQualifiedName~ConfigurationManager"
# Build in Release mode
dotnet build --configuration Release
# Create NuGet package
dotnet pack --configuration Release --output ./artifacts
To integrate this library into your MCP server:
Add the NuGet package reference:
<PackageReference Include="DevJoy.Mcp" Version="1.0.0" />
Use the configuration manager in your MCP server:
using DevJoy.Mcp;
using DevJoy.Mcp.Security;
var configManager = McpConfig.CreateManager();
// Register your MCP server
await configManager.RegisterServerAsync(serverConfig);
// Set non-sensitive configuration
await configManager.SetServerPropertyAsync("my-server", "host", "localhost");
// Securely capture passwords without LLM exposure
await configManager.SetServerPropertySecurelyAsync(
"my-server",
"password",
"Enter password (hidden):"
);
Please read our contributing guidelines before submitting pull requests.
[License information to be added]