{"manifest":{"id":"mcp","name":"MCP","description":"Stateful GitHub-backed MCP emulator with streamable HTTP transport, OAuth discovery, Dynamic Client Registration, authorization-code OAuth, and enterprise-managed ID-JAG token exchange.","docsUrl":"https://docs.emulators.dev/github","surfaces":[{"id":"mcp","kind":"mcp","title":"Streamable HTTP MCP endpoint","status":"supported","basePath":"/mcp"},{"id":"oauth","kind":"oauth","title":"MCP OAuth authorization server","status":"supported"}],"auth":[{"id":"bearer","title":"Bearer token","type":"bearer-token","status":"supported"},{"id":"dcr","title":"Dynamic Client Registration","type":"dynamic-client-registration","status":"supported"}],"specs":[{"kind":"mcp","title":"GitHub MCP tool subset","coverage":"hand-authored","operations":[{"operationId":"get_me","status":"hand-authored","summary":"Return the authenticated user."},{"operationId":"get_test_image","status":"hand-authored","summary":"Return a deterministic PNG fixture as native MCP image content."},{"operationId":"get_test_image_with_metadata","status":"hand-authored","summary":"Return text metadata followed by the deterministic PNG fixture."}]},{"kind":"oauth-metadata","title":"MCP OAuth discovery metadata","coverage":"hand-authored","operations":[{"operationId":"mcp.oauth.protectedResourceMetadata","method":"GET","path":"/.well-known/oauth-protected-resource","status":"hand-authored"},{"operationId":"mcp.oauth.authorizationServerMetadata","method":"GET","path":"/.well-known/oauth-authorization-server","status":"hand-authored"},{"operationId":"mcp.oauth.register","method":"POST","path":"/register","status":"hand-authored"},{"operationId":"mcp.oauth.jwtBearer","method":"POST","path":"/token","status":"hand-authored"}]}],"seedSchema":{"description":"Seed GitHub users/data plus MCP auth and scope discovery settings.","fields":[{"key":"users","title":"Users","description":"GitHub users addressable by MCP tools and OAuth authorization.","example":[{"login":"octocat","email":"octocat@github.com"}]},{"key":"auth","title":"Auth mode","description":"One of oauth, bearer, or query. Defaults to oauth.","example":"oauth"},{"key":"scopes","title":"OAuth scopes","description":"Scopes advertised by the MCP OAuth metadata.","example":["repo","read:user"]}],"example":{"auth":"oauth","users":[{"login":"octocat","email":"octocat@github.com"}],"scopes":["repo","read:user"]}},"stateModel":{"description":"MCP auth settings plus the GitHub store used by MCP tools.","collections":[{"name":"github.users"},{"name":"github.repos"},{"name":"github.issues"},{"name":"github.pulls"}]},"connections":[{"id":"mcp-endpoint","title":"MCP endpoint","kind":"mcp","description":"Connect an MCP client to the streamable HTTP endpoint.","template":"{{baseUrl}}/mcp"},{"id":"base-url","title":"Base URL (env)","kind":"env","language":"bash","description":"Point your SDK or app at the emulator instead of the real provider.","template":"{{SERVICE_UPPER}}_BASE_URL={{baseUrl}}"},{"id":"create-credential","title":"Create a credential","kind":"curl","language":"bash","description":"Mint a working credential for this instance.","template":"curl -s -X POST {{controlBaseUrl}}/credentials \\\n  -H \"content-type: application/json\" \\\n  -d '{\"type\":\"{{defaultAuthType}}\"}'"},{"id":"inspect-ledger","title":"Inspect requests","kind":"curl","language":"bash","description":"Read the request ledger to validate how your app called the service.","template":"curl -s {{controlBaseUrl}}/ledger"}],"resetBehavior":{"description":"Resets the instance to its seeded baseline.","reseeds":true,"clearsLedger":true,"clearsWebhooks":true},"ledger":{"description":"Recent provider requests with sensitive headers and fields redacted.","recordsFields":["timestamp","method","host","path","route","operationId","correlationId","identity","request","response","summary","sideEffects","webhookDeliveries","durationMs"],"redactsSensitive":true,"correlationId":true,"webhookDeliveries":true,"sideEffects":true,"persistent":true,"maxEntries":1000},"inspectorTabs":[{"id":"overview","title":"Overview","kind":"landing","description":"Service surfaces, base URLs, and connection snippets."},{"id":"ledger","title":"Ledger","kind":"ledger","description":"Recent provider requests recorded by the emulator."},{"id":"state","title":"State","kind":"state","description":"Current seeded and mutated instance state."},{"id":"credentials","title":"Credentials","kind":"credentials","description":"Mint tokens, API keys, or OAuth clients."},{"id":"seed","title":"Seed","kind":"seed","description":"Seed state or load a scenario."}]},"instance":null,"sampleInstance":{"service":"mcp","instance":"your-instance","baseUrl":"https://mcp.your-instance.emulators.dev","providerBaseUrl":"https://mcp.your-instance.emulators.dev","controlBaseUrl":"https://mcp.your-instance.emulators.dev/_emulate"},"connections":[{"id":"mcp-endpoint","title":"MCP endpoint","kind":"mcp","description":"Connect an MCP client to the streamable HTTP endpoint.","template":"{{baseUrl}}/mcp","body":"https://mcp.your-instance.emulators.dev/mcp"},{"id":"base-url","title":"Base URL (env)","kind":"env","language":"bash","description":"Point your SDK or app at the emulator instead of the real provider.","template":"{{SERVICE_UPPER}}_BASE_URL={{baseUrl}}","body":"MCP_BASE_URL=https://mcp.your-instance.emulators.dev"},{"id":"create-credential","title":"Create a credential","kind":"curl","language":"bash","description":"Mint a working credential for this instance.","template":"curl -s -X POST {{controlBaseUrl}}/credentials \\\n  -H \"content-type: application/json\" \\\n  -d '{\"type\":\"{{defaultAuthType}}\"}'","body":"curl -s -X POST https://mcp.your-instance.emulators.dev/_emulate/credentials \\\n  -H \"content-type: application/json\" \\\n  -d '{\"type\":\"bearer-token\"}'"},{"id":"inspect-ledger","title":"Inspect requests","kind":"curl","language":"bash","description":"Read the request ledger to validate how your app called the service.","template":"curl -s {{controlBaseUrl}}/ledger","body":"curl -s https://mcp.your-instance.emulators.dev/_emulate/ledger"}]}