remote
Production-ready, multi-tenant, REMOTE MCP SERVER TEMPLATE built with C#/.NET featuring reflection tools and enterprise security. Works with Claude Code, Cursor, VS Code. Complete OAuth2.1 and WebAuthn authentication, rate limiting, and deployment guides. Scoped identity integration with AWS Cognito, Azure AD, Google Cloud, Auth0, Clerk, LDAP, etc.
claude mcp add --transport stdio scampcat-remote-mcp docker run -i scampcat/remote-mcp \ --env ASPNETCORE_URLS="http://0.0.0.0:3001" \ --env AzureAD__ClientId="your-client-id" \ --env AzureAD__TenantId="your-tenant-id" \ --env Authentication__ExternalIdP__ClientSecret="your-client-secret (if using confidential client)"
How to use
This MCP server, Remote, hosts a production-grade MCP endpoint with Azure AD OAuth 2.1 authentication (mandatory PKCE) and dynamic client registration. It exposes 16 tools across four categories: Math (Add, Subtract, Multiply, Divide), Utility (Echo, GetCurrentTime, GenerateRandomNumber), Data (FormatJson, ToUpperCase, ToLowerCase, ReverseText), and Reflection (ListAllTools, GetToolInfo, ListToolsByCategory, SearchTools, GetServerMetadata). You can interact with the server through Claude desktop/code integrations or via direct MCP client connections. After authenticating with Azure AD, MCP clients register dynamically and can request tokens to perform tool operations, all in a stateless manner leveraging memory caching for client metadata. The Reflection tools enable self-documentation and discovery of tool capabilities, including metadata and categories, allowing clients to discover, filter, and search available tools at runtime. The server also supports health checks, server info, and a dedicated MCP endpoint for test interactions.
How to install
Prerequisites:
- .NET 9.0 SDK (for local build/run tests, if you choose to run without Docker)
- Docker (for containerized deployment)
- Node.js (for mcp-remote proxy if you plan to use Claude integration)
- Any required Azure AD app registrations and secret management setup
Install steps (Docker-based, aligns with the provided mcp_config):
- Ensure Docker is running on your host.
- Pull or build the remote MCP Docker image (example):
- docker pull scampcat/remote-mcp
- or build from a Dockerfile in the repository if you have one: docker build -t scampcat/remote-mcp .
- Run the server container with environment configuration:
docker run -i
-e ASPNETCORE_URLS=http://0.0.0.0:3001
-e Authentication__ExternalIdP__ClientSecret=your-client-secret
-e AzureAD__TenantId=your-tenant-id
-e AzureAD__ClientId=your-client-id
scampcat/remote-mcp - Verify the server is listening on port 3001 (the container should expose this port).
- If you prefer a local dotnet run setup (not containerized): clone the repo, navigate to the server project, restore and run: dotnet restore dotnet build dotnet run --urls http://0.0.0.0:3001
- Confirm endpoints:
- Health: http://localhost:3001/health
- Info: http://localhost:3001/info
- Root MCP endpoint: http://localhost:3001/
Notes:
- Ensure your Azure AD app registration is correctly configured with redirect URIs matching your deployment.
- For production, prefer Confidential Client flow and securely manage secrets (Azure Key Vault recommended).
Additional notes
Tips and common questions:
- If you see authentication issues, verify that the Azure AD app registration has the correct redirect URIs and that your client secret (if using confidential mode) is correctly provided via environment variables.
- The server is designed to be stateless for MCP clients; memcache is used to store client metadata without relying on cookies.
- Use the Reflection tools to discover and analyze available MCP tools at runtime (ListAllTools, GetToolInfo, ListToolsByCategory, SearchTools, GetServerMetadata).
- When testing, you can disable authentication by setting Mode to Disabled in appsettings.json (for testing only).
- The integration with Claude Code supports commands like:
- List all available tools
- Show me detailed information about the divide tool
- What tools are in the Math category?
- Search for tools related to text processing
- What's the server metadata?
- If you deploy behind a reverse proxy or load balancer, ensure proper CORS and allowed origins so MCP clients can communicate securely.
- For troubleshooting, check the container logs or dotnet application logs for OAuth and token issuance messages, and verify token audience and issuer settings match your client configurations.
Related MCP Servers
mcp-forge
A complete MCP server template that include vitamins (oauth authentication included)
spec-coding
Transform feature ideas into production-ready code through systematic Spec-Driven Development 通过系统化的**规格驱动开发**,将功能想法转化为可投入生产的代码
mcpbi
PowerBI MCP server to give LLM clients (Claude, GH Copilot,etc) context from locally running PowerBI Desktop instances.
azure-devops
Exposes Azure DevOps functionality via MCP: Boards, Repos, Pipelines, Artifacts, Test Plans, and Wiki tools for AI agents.
unity -template
Simple template project for controlling Unity via MCP
mcp -graph-api
Model-context-protocol (MCP) server for the Microsoft Graph API in C#