patchbay audit
highSCOPE-001

No per-tool scopes

Server advertises OAuth but tools either share one scope or declare none.

What it means

When all tools share a scope (or no scopes are declared at all) on an OAuth-protected server, there's no way to grant a client access to "read my data" without also granting "delete my data". The check only fires when there's OAuth context: either an OAuth discovery document is served, or the directory contains a scopes.json. On non-OAuth servers it stays silent, since scopes aren't applicable there.

How to fix

Give each tool its own scope with a verb-shaped suffix: user:read, user:write, email:send. Reject tool calls whose token lacks the required scope. If you ship a connector repo, commit scopes.json at the root mapping each tool name to its scope list.

Run the check against your own server:

npx -y @patchbay-nebius/agent audit <url-or-directory>

No install: scan an MCP server in the browser and get a shareable report.

Disagree with this finding on your server? Open an issue with the --json output. False-positive reports are the most useful feedback.