Skip to main content
Glama
chingyangtseng-houzz

demo-mcp-server

demo-mcp-server

A throwaway MCP server and client metadata document, used to exercise OAuth authorization end to end during development. Nothing here is production code.

The server

src/ serves MCP over streamable HTTP behind Auth0-issued bearer tokens:

Path

Behaviour

POST /mcp

MCP endpoint. Unauthenticated requests get 401 with a WWW-Authenticate challenge naming the metadata document

GET /.well-known/oauth-protected-resource/mcp

RFC 9728 protected resource metadata

Tokens are verified against the tenant JWKS on iss, exp and aud, and a token naming no Organization is refused: without one there is no team boundary to work within. Two tools demand different scopes — whoami needs mcp:read and reports the identity the token carried, echo needs mcp:write — so an under-scoped call produces a real 403 with insufficient_scope.

nvm use 22 && npm install
npm run dev

Settings live in src/config.ts and every one is overridable by environment variable. The resource identifier must equal the URL clients actually connect to; clients reject a metadata document that names anything else.

Related MCP server: MCP Server OAuth Toy

The metadata document

docs/client.json is published via GitHub Pages and its URL is the client's client_id, per OAuth Client ID Metadata Document and MCP client registration.

The redirect URIs are MCP Inspector defaults: port 6276 for the CLI and TUI, port 6274 for the web client.

This repository is public because an authorization server fetches the document anonymously. It contains no configuration or credentials.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Minimal MCP server for testing SkyStage's self-auth auto-detection feature. It includes tools like ping, echo, server_info, and read_secret, and uses a mock OAuth provider for login.
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    A simple HTTP-based MCP server that provides demo tools (get_test_string, echo, check_maintenance), greeting prompts, and test resources, with optional OAuth 2.1 support.
    -