Skip to main content
Proposed — not available yet. This page describes a design under review.
An API key acts as the user who created it, with everything that user can do. An OAuth token carries scopes: the user chose them on the consent screen when they connected the app. Each endpoint and MCP tool needs one scope, and each scope only ever narrows what the user could already do in Wordsmith. A token never reaches anything its user cannot see. A :write scope includes its :read scope. The exception is files:write, which lets an app upload files without reading the user’s other files.

Scopes available today

New scopes in this proposal

Document actions such as Translate need files:write, because they create files, and files:read for their inputs.

Defaults

An app that requests no scope gets every scope except directory:admin. directory:admin only narrows what the person who approves it can already do: an organisation admin’s token can administer the organisation, a team admin’s only their own teams. On the MCP server, one tool uses it, manage_organisation, and a host has it only when it asks for it. Apps connected before a new scope existed are asked to approve it the next time the user reconnects. Until then the new endpoints and MCP tools return 403 insufficient_scope, naming the missing scope.

Scopes and MCP tools

The MCP server lists only the tools a token can use. A connection granted only research:read sees two tools, legal_research and get_operation, not twenty-six. See MCP tools for each tool’s scope.