Remote MCP server (.NET 10) with OAuth 2.1 for Grok: GitHub Actions, Azure App Service logs, health checks
MCPpedia last refreshed this data
Azure Grok MCP Server is an MCP server that remote MCP server (.NET 10) with OAuth 2.1 for Grok: GitHub Actions, Azure App Service logs, health checks. Its tool list has not been published yet over http, requires no API key, and scores 39/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"azure-grok-mcp-server": {
"url": "<see-readme-for-url>"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A remote Model Context Protocol (MCP) server in .NET 10 / ASP.NET Core (official ModelContextProtocol.AspNetCore SDK, Streamable HTTP transport) that Grok and Grok Bot can add as a connector. It is protected with OAuth 2.1 following the MCP authorization spec, and exposes tools for deployment monitoring:
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in developer-tools / cloud
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
Manage Supabase projects — databases, auth, storage, and edge functions
MCP server for using the GitLab API
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
MCP Security Weekly
Get CVE alerts and security updates for Azure Grok MCP Server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A remote Model Context Protocol (MCP) server in .NET 10 / ASP.NET Core (official ModelContextProtocol.AspNetCore SDK, Streamable HTTP transport) that Grok and Grok Bot can add as a connector. It is protected with OAuth 2.1 following the MCP authorization spec, and exposes tools for deployment monitoring:
| Tool | What it does |
|---|---|
github_list_workflow_runs | Recent GitHub Actions runs for a repo (default Rocco5689/cursor-project-repo) |
github_failed_job_logs | Tail of logs of failed jobs in a run |
appservice_status | State, host name, runtime, plan of web app westus25601app (RG westus25601rg) |
appservice_recent_logs | Tail of recent container logs via the Kudu (SCM) API |
health_check | HTTP GET of https://westus25601app.azurewebsites.net with status + latency |
POST /mcp – MCP Streamable HTTP endpoint (requires Authorization: Bearer <JWT>)GET /.well-known/oauth-protected-resource – RFC 9728 protected resource metadataGET /.well-known/oauth-authorization-server and /.well-known/openid-configuration – OAuth 2.1 authorization server metadata (PKCE S256)POST /register – Dynamic Client Registration (RFC 7591); public clients (token_endpoint_auth_method: none), any redirect URI; stored in $Auth__DataDir/clients.jsonGET /authorize, GET /oauth/callback, POST /token (authorization_code + PKCE, refresh_token) – a facade in front of Microsoft Entra ID: the user signs in with Entra and the client receives the Entra access/refresh token (audience api://<client-id>, scope mcp.access)401 with WWW-Authenticate: Bearer resource_metadata="<url>", so MCP clients can discover the authorization server and run the OAuth 2.1 + PKCE flow.| Setting | Env var | Notes |
|---|---|---|
Auth:ResourceUrl | Auth__ResourceUrl | Public base URL of this server |
Auth:Authority | Auth__Authority | e.g. https://login.microsoftonline.com/<tenant>/v2.0 |
Auth:Audiences | Auth__Audiences | Comma-separated: api://<client-id>,<client-id> |
Auth:Scopes | Auth__Scopes | e.g. api://<client-id>/mcp.access |
Auth:Issuer | Auth__Issuer | Optional; defaults to the origin of ResourceUrl |
Auth:TenantId | Auth__TenantId | Entra tenant ID |
Auth:EntraClientId | Auth__EntraClientId | Entra app (confidential web client) used by the DCR facade |
Auth:EntraClientSecret | Auth__EntraClientSecret | Its client secret (env only, never commit) |
Auth:DataDir | Auth__DataDir | Persistent dir for client registrations (default /data, mount a volume) |
GitHub:Token | GITHUB_TOKEN or GitHub__Token | Fine-grained PAT with Actions: read |
GitHub:DefaultRepo | GitHub__DefaultRepo | |
Azure:SubscriptionId / ResourceGroup / WebAppName | Azure__... | |
Health:Url | Health__Url |
Azure calls use DefaultAzureCredential (env service principal AZURE_CLIENT_ID/AZURE_TENANT_ID/AZURE_CLIENT_SECRET, managed identity, or az login). The identity needs Reader (status) and Website Contributor/Contributor (Kudu logs) on the web app.
dotnet run --project src/AzureGrokMcpServer --urls http://localhost:8080
curl -i http://localhost:8080/.well-known/oauth-protected-resource
curl -i -X POST http://localhost:8080/mcp # -> 401 + WWW-Authenticate
Docker: docker build -t azure-grok-mcp-server . && docker run -p 8080:8080 -e Auth__ResourceUrl=... azure-grok-mcp-server
azure-grok-mcp-server (single tenant).api://<client-id>, add scope mcp.access.requestedAccessTokenVersion to 2 (so the issuer matches .../v2.0).