MyPlatformMcpServer
A sample mcp server with dummy services
claude mcp add --transport stdio demetrio-marra-myplatformmcpserver docker run -i myplatform-mcp-server
How to use
MyPlatform MCP Server exposes a suite of MCP-compliant tools designed to give AI agents structured access to company data, performance metrics, charts, and file management. It includes tools for navigating company information hierarchies, querying performance statistics, generating charts, and inspecting permissions. The server can be deployed via Docker for containerized operation, or run directly in a .NET environment if you prefer a local development setup. Tools like MyPlatform_CompanyInfo_GetProductsHierarchy and MyPlatform_Statistics_GetPerformanceStatistics enable agents to retrieve flattened hierarchies and filter performance data, while MyPlatform_Chart_GenerateChart can produce bar, line, or pie charts and upload them to a file server. Access control is handled via optional JWT authentication, and you can enable Keycloak integration if your environment requires it.
How to install
Prerequisites:
- Docker installed and running (optional for containerized deployment)
- .NET SDK 8.x if you choose to run the server directly from source
- MongoDB instance for persistence (as configured in appsettings)
Installation steps (Docker-based):
-
Build or pull the container image for the MCP server (example shown uses a prebuilt image name): docker pull myplatform-mcp-server
-
Run the container exposing the MCP server port (default 5000 in source; adjust as needed): docker run -p 8080:8080 myplatform-mcp-server
-
Verify health endpoints if you have liveness/readiness configured (example paths): GET http://localhost:8080/health/liveness GET http://localhost:8080/health/readiness
Installation steps (development from source):
-
Clone the repository: git clone https://github.com/demetrio-marra/MyPlatformMcpServer.git cd MyPlatformMcpServer
-
Configure application settings: cd MyPlatform.McpServer cp appsettings.json appsettings.Development.json
-
Update appsettings.Development.json with your configuration (JWT, ACL, File Server, MongoDB connections).
-
Build and run: dotnet build dotnet run --project MyPlatform.McpServer
-
Access the server at http://localhost:5000 (or the port defined by your launchSettings.json).
Notes:
- If you plan to enable JWT authentication, set Jwt.Enabled to true and configure Issuer and Audience accordingly in appsettings.Development.json.
- You can Dockerize the server using the Dockerfile located in MyPlatform.McpServer and adjust image names as needed.
Additional notes
Tips and common considerations:
- JWT Authentication: When enabled, MCP endpoints require a valid JWT bearer token. Ensure Keycloak (or another OIDC provider) is configured if you enable Issuer/Audience validation.
- Configuration: The repository relies on appsettings.json/appsettings.Development.json for Jwt, AclConfiguration, FileServerConfiguration, and repository connection strings. Keep credentials and endpoints secured and consider using environment variables in production.
- Health probes: If deploying to Kubernetes, configure the liveness and readiness probes as documented in the README to monitor MCP server health.
- MongoDB: Ensure the MongoDB connection string in the configuration points to a reachable database with appropriate collections for the MCP tools.
- Upgrading: The server uses ModelContextProtocol packages; keep them at compatible versions (e.g., 0.3.0-preview.x) to avoid breaking changes when updating dependencies.
Related MCP Servers
mssql
MSSQL Server MCP implementation written in C#
McpDotNet.Extensions.SemanticKernel
Microsoft SemanticKernel integration for the Model Context Protocol (MCP). Enables seamless use of MCP tools as AI functions.
RoslynMCP
A Model Context Protocol (MCP) server that provides C# code analysis capabilities using Microsoft Roslyn
DatabaseMcpServer
MCP server from ttcc666/DatabaseMcpServer
xperience-community
ASP.NET Core MCP server for Xperience by Kentico projects
mcp-dataverse
MCP Server for querying Dataverse using SQL