drdroid-mcp-oauth-sim
An MCP server that is also its own OAuth 2.1 authorization server — for testing the DrDroid MCP OAuth connector end to end.
Point the connector here
| MCP Server URL | https://mcp-oauth-sim.20.84.32.208.nip.io/mcp |
|---|---|
| Auth | OAuth (discovery + DCR are both live — no client id needed) |
| Consent password | _b••••••••••
(set via the LOGIN_PASSWORD secret) |
Endpoints
| Protected resource metadata | /.well-known/oauth-protected-resource/mcp |
|---|---|
| Authorization server metadata | /.well-known/oauth-authorization-server |
| Registration (DCR) | POST /oauth/register
|
| Authorize | GET /oauth/authorize |
| Token | POST /oauth/token |
| Introspect / revoke | POST /oauth/introspect, POST /oauth/revoke |
Behaviour
- Access token TTL
3600s, refresh token TTL2592000s. Tokens are HS256 JWTs and survive pod restarts. - Grants supported:
authorization_code(PKCE S256 required),refresh_token,client_credentials. restart_servicerequires themcp:adminscope — untick it at consent to see scope enforcement.- Fault injection:
FORCE_401=false,DISABLE_DCR=false.
Tools
| Name | Description |
|---|---|
whoami | Return the OAuth identity behind the current request: subject, client_id, granted scopes, grant type and token expiry. Use this to verify the OAuth connection is working. |
echo | Echo a message back. Smoke test for tool invocation. |
list_services | List services in the demo catalog with tier, owner, health status, error rate and p99 latency. |
get_service_health | Get current health metrics for one service in the demo catalog. |
search_logs | Search the demo log corpus, optionally scoped to one service. |
list_incidents | List demo incidents with severity, status and summary. |
get_incident | Fetch one demo incident by id (e.g. INC-1042). |
restart_service | Simulate restarting a service. Requires the 'mcp:admin' scope — this is the tool to call when testing scope enforcement. |
Registered clients
| client_id | Name | Auth method | Source | redirect_uris | Registered |
|---|---|---|---|---|---|
drd-f79e71ad5d994129b893 |
DrDroid | client_secret_post | dcr | https://jfrog-dev-backend.prateekkanurkar.in/connectors/integrations/handlers/mcp/oauth/callback | 2026-08-03 11:37 |
drd-cf4b4a0fee394e76bc18 |
DrDroid | client_secret_post | dcr | https://jfrog-dev-backend.example/connectors/integrations/handlers/mcp/oauth/callback | 2026-08-03 09:17 |
drd-527d809fa0674b0a97de |
DrDroid | client_secret_post | dcr | https://jfrog-dev-backend.example/connectors/integrations/handlers/mcp/oauth/callback | 2026-08-03 09:16 |
drd-ec9b81361d8b48bca012 |
DrDroid | client_secret_post | dcr | https://jfrog-dev-backend.example/connectors/integrations/handlers/mcp/oauth/callback | 2026-08-03 09:16 |
drd-62debf7402474315a415 |
DrDroid | client_secret_post | dcr | https://jfrog-dev-backend.example/connectors/integrations/handlers/mcp/oauth/callback | 2026-08-03 09:15 |
drd-c039db33cc3245ceba08 |
DrDroid | client_secret_post | dcr | https://jfrog-dev-backend.example/connectors/integrations/handlers/mcp/oauth/callback | 2026-08-03 09:15 |
drd-5678b631650b44d8959d |
DrDroid | client_secret_post | dcr | https://jfrog-dev-backend.example/connectors/integrations/handlers/mcp/oauth/callback | 2026-08-03 09:15 |
drd-2caf73e84f6b4e898ea4 |
DrDroid | client_secret_post | dcr | https://jfrog-dev-backend.example/connectors/integrations/handlers/mcp/oauth/callback | 2026-08-03 09:04 |
drd-980e874720af4995b0ce |
DrDroid | client_secret_post | dcr | https://jfrog-dev-backend.example/connectors/integrations/handlers/mcp/oauth/callback | 2026-08-03 08:49 |
drdroid-m2m |
DrDroid M2M (client_credentials) | client_secret_post | static | — | 2026-08-03 08:32 |
Recent grants
| When (UTC) | Grant | Client | Scope | Detail | |
|---|---|---|---|---|---|
| 2026-08-03 18:54:03 | ok | refresh_token | drd-f79e71ad5d994129b893 |
mcp:read mcp:tools mcp:admin | |
| 2026-08-03 17:24:01 | ok | refresh_token | drd-f79e71ad5d994129b893 |
mcp:read mcp:tools mcp:admin | |
| 2026-08-03 15:53:59 | ok | refresh_token | drd-f79e71ad5d994129b893 |
mcp:read mcp:tools mcp:admin | |
| 2026-08-03 14:23:57 | ok | refresh_token | drd-f79e71ad5d994129b893 |
mcp:read mcp:tools mcp:admin | |
| 2026-08-03 13:23:50 | ok | refresh_token | drd-f79e71ad5d994129b893 |
mcp:read mcp:tools mcp:admin | |
| 2026-08-03 11:39:02 | fail | authorization_code | drd-f79e71ad5d994129b893 |
user denied consent | |
| 2026-08-03 11:39:01 | ok | authorization_code | drd-f79e71ad5d994129b893 |
mcp:read mcp:tools mcp:admin | |
| 2026-08-03 11:38:57 | ok | authorization_code | drd-f79e71ad5d994129b893 |
mcp:read mcp:tools mcp:admin | |
| 2026-08-03 11:38:56 | ok | authorization_code | drd-f79e71ad5d994129b893 |
mcp:read mcp:tools mcp:admin | |
| 2026-08-03 11:38:55 | ok | authorization_code | drd-f79e71ad5d994129b893 |
mcp:read mcp:tools mcp:admin | |
| 2026-08-03 11:38:53 | ok | authorization_code | drd-f79e71ad5d994129b893 |
mcp:read mcp:tools mcp:admin | |
| 2026-08-03 11:37:46 | ok | registration | drd-f79e71ad5d994129b893 |
mcp:read mcp:tools mcp:admin | name=DrDroid |
| 2026-08-03 10:02:05 | ok | client_credentials | drdroid-m2m |
mcp:read mcp:tools mcp:admin | |
| 2026-08-03 09:17:00 | ok | registration | drd-cf4b4a0fee394e76bc18 |
mcp:read mcp:tools mcp:admin | name=DrDroid |
| 2026-08-03 09:16:52 | fail | client_credentials | drdroid-m2m |
client authentication failed | |
| 2026-08-03 09:16:51 | ok | client_credentials | drdroid-m2m |
mcp:read mcp:tools mcp:admin | |
| 2026-08-03 09:16:49 | ok | refresh_token | drd-527d809fa0674b0a97de |
mcp:read mcp:tools | |
| 2026-08-03 09:16:41 | ok | authorization_code | drd-527d809fa0674b0a97de |
mcp:read mcp:tools | |
| 2026-08-03 09:16:37 | ok | registration | drd-527d809fa0674b0a97de |
mcp:read mcp:tools mcp:admin | name=DrDroid |
| 2026-08-03 09:16:29 | fail | client_credentials | drdroid-m2m |
client authentication failed | |
| 2026-08-03 09:16:27 | ok | client_credentials | drdroid-m2m |
mcp:read mcp:tools mcp:admin | |
| 2026-08-03 09:16:26 | ok | refresh_token | drd-ec9b81361d8b48bca012 |
mcp:read mcp:tools | |
| 2026-08-03 09:16:18 | ok | authorization_code | drd-ec9b81361d8b48bca012 |
mcp:read mcp:tools | |
| 2026-08-03 09:16:14 | ok | registration | drd-ec9b81361d8b48bca012 |
mcp:read mcp:tools mcp:admin | name=DrDroid |
| 2026-08-03 09:16:06 | fail | client_credentials | drdroid-m2m |
client authentication failed |