Skip to main content
Glama

AINumbers Fintech Intelligence Suite

MCP OAuth 2.1 Authorization Auditor

audit_mcp_oauth
Read-onlyIdempotent

Audit MCP OAuth 2.1 authorization: validate RFC 9728 protected-resource-metadata, check RFC 8707 audience binding, and assess token-passthrough / confused-deputy risk. Use when a developer is securing an MCP server's authorization. Renders the interactive AINumbers tool as a widget; inputs are applied via the AIN Bridge and the tool runs client-side (zero PII, zero network). Output schema: call describe_tool("audit_mcp_oauth").

Input Schema

NameRequiredDescriptionDefault
inputsNoMap of tool input element IDs to values (see manifest input_schema). Applied via AIN Bridge prefill.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "findings": {
      -      "type": "array"
      -    },
      -    "score": {
      -      "type": "number"
      -    }
      -  },
      -  "type": "object"
      -}New value: +null
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "findings": {
      +      "type": "array"
      +    },
      +    "score": {
      +      "type": "number"
      +    }
      +  },
      +  "type": "object"
      +}
  4. First observed

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive and openWorld=false, so the safety profile is covered. The description adds genuinely non-derivable behavior: the tool renders as an interactive widget, runs client-side, uses the AIN Bridge for prefills, and involves zero PII and zero network traffic. It stops short of describing failure modes when inputs are missing, hence 4 not 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three front-loaded sentences: capability, triggering context, then execution model and output discovery. Each sentence carries distinct information with no repetition, and the most decision-relevant content (what it audits) comes first.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, client-side audit with no output schema, the description covers the safety profile, execution model, and where to obtain the input and output schema via describe_tool. The one gap is that an agent cannot invoke it meaningfully without a prior describe_tool call to learn the input element IDs, so it is disclosed but indirect rather than fully self-contained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single 'inputs' parameter is an opaque map whose keys are not knowable from the schema itself. The description explains the delivery mechanism ('applied via AIN Bridge prefill') and points to describe_tool for the manifest input_schema, but does not list or characterize any of the expected input element IDs. Baseline 3 applies when the schema documents the parameter; the added pointer is marginal.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Audit MCP OAuth 2.1 authorization') and enumerates the concrete checks: RFC 9728 protected-resource-metadata, RFC 8707 audience binding, and token-passthrough/confused-deputy risk. That is far more specific than a tautology, but it never distinguishes itself from nearby siblings such as validate_mcp_authorization_metadata, lint_mcp_server_conformance, or audit_mcp_tool_scope_revocation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use when a developer is securing an MCP server's authorization' gives a real triggering context, which is better than nothing. It offers no exclusions and no routing to the many overlapping MCP-authorization siblings, so the agent must infer when this is preferred over validate_mcp_authorization_metadata or lint_mcp_server_conformance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.