PropelAuth MCP OAuth 2.1 API

OAuth 2.1 flows for MCP clients

Operations 3

GET /oauth/2.1/authorize MCP Authorize #
POST /oauth/2.1/token MCP Token #
POST /oauth/2.1/introspect MCP Introspect #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/propelauth-mcp-oauth-2-1-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

propelauth-mcp-oauth-2-1-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: PropelAuth MCP Authentication MCP OAuth 2.1 API
  description: 'OAuth 2.1 authorization server endpoints PropelAuth exposes for Model Context Protocol

    (MCP) clients and AI agents. Includes dynamic client registration (RFC 7591), token

    introspection, and the OAuth 2.1 authorization server metadata endpoint. Use this to

    secure MCP servers with PropelAuth identities and organization-scoped permissions.'
  version: 1.0.0
  contact:
    name: PropelAuth Support
    url: https://www.propelauth.com
    email: support@propelauth.com
  license:
    name: PropelAuth Terms
    url: https://www.propelauth.com/legal/terms-of-service
servers:
- url: https://auth.example.com
  description: Your PropelAuth Auth URL
tags:
- name: MCP OAuth 2.1
  description: OAuth 2.1 flows for MCP clients
paths:
  /oauth/2.1/authorize:
    get:
      summary: MCP Authorize
      description: Begin an OAuth 2.1 authorization code flow with PKCE for an MCP client.
      operationId: mcpAuthorize
      tags:
      - MCP OAuth 2.1
      parameters:
      - name: response_type
        in: query
        required: true
        schema:
          type: string
          enum:
          - code
      - name: client_id
        in: query
        required: true
        schema:
          type: string
      - name: redirect_uri
        in: query
        required: true
        schema:
          type: string
          format: uri
      - name: scope
        in: query
        schema:
          type: string
          example: read:user_data tools:execute
      - name: state
        in: query
        schema:
          type: string
      - name: code_challenge
        in: query
        required: true
        schema:
          type: string
      - name: code_challenge_method
        in: query
        required: true
        schema:
          type: string
          enum:
          - S256
      responses:
        '302':
          description: Redirect to login or to redirect_uri with authorization code
  /oauth/2.1/token:
    post:
      summary: MCP Token
      description: Exchange an authorization code for tokens, or refresh an existing token.
      operationId: mcpToken
      tags:
      - MCP OAuth 2.1
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - grant_type
              - client_id
              properties:
                grant_type:
                  type: string
                  enum:
                  - authorization_code
                  - refresh_token
                code:
                  type: string
                redirect_uri:
                  type: string
                  format: uri
                refresh_token:
                  type: string
                client_id:
                  type: string
                client_secret:
                  type: string
                code_verifier:
                  type: string
      responses:
        '200':
          description: Token issued
          content:
            application/json:
              schema:
                type: object
                properties:
                  access_token:
                    type: string
                  refresh_token:
                    type: string
                  token_type:
                    type: string
                  expires_in:
                    type: integer
                  scope:
                    type: string
  /oauth/2.1/introspect:
    post:
      summary: MCP Introspect
      description: Validate an access token and return associated user, organization, and scope information.
      operationId: mcpIntrospect
      tags:
      - MCP OAuth 2.1
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - token
              properties:
                token:
                  type: string
                token_type_hint:
                  type: string
                  enum:
                  - access_token
                  - refresh_token
      responses:
        '200':
          description: Introspection result
          content:
            application/json:
              schema:
                type: object
                properties:
                  active:
                    type: boolean
                  scope:
                    type: string
                  client_id:
                    type: string
                  username:
                    type: string
                  sub:
                    type: string
                  exp:
                    type: integer
                  iat:
                    type: integer
                  org_id:
                    type: string
                    format: uuid
                  org_role:
                    type: string