How it works
- The assistant acts as the member who connected it, in one organization. It has that member’s roles and the organization’s plan features, and nothing more.
- Roles are checked on every tool call. If an admin changes the member’s roles, the next call uses the new roles.
- Each tool runs the same Studio endpoint that the matching Studio page uses. The same rules, limits and audit logs apply.
- A connection is not an API key. The REST API refuses MCP tokens.
Transport
Send the access token in the
Authorization header of every request, and accept both JSON and event streams:
401. The WWW-Authenticate header points to the discovery document, so the client can start sign-in:
Authentication
The server uses OAuth 2.1 with the authorization code flow and PKCE. Most MCP clients do all of this for you once you give them the server URL.Endpoints
All endpoints are on
https://api.thehyperstack.com.
Client registration
Clients register themselves at/register. You don’t need to ask Hyperstack for a client ID.
grant_typesmust includeauthorization_code. Addrefresh_tokento refresh.response_typesmust includecode.token_endpoint_auth_methodcan benone(a public client with no secret),client_secret_postorclient_secret_basic. If you leave it out, you getclient_secret_postand a client secret.private_key_jwtis not supported.- PKCE uses
S256only.
Tokens
When the access token expires, get a new one with the refresh token. Each refresh also returns a new refresh token, valid for another 90 days. Store it and use it for the next refresh, because the old one stops working. If you send the same refresh token again within 60 seconds (for example, two refreshes at once, or a retry after a lost response), it still works. The connection lasts as long as it is used. If no refresh happens for 90 days, the member must connect again.
To end a connection from your client, send the access token or the refresh token to
/revoke. Either one ends the whole connection.
The consent page
/authorize sends the member to a Hyperstack page. There they:
- Sign in, if they are not signed in already.
- See the assistant’s name, the access it asks for, and where they will be sent back to.
- Pick the organization the assistant can work in. The page shows the member’s roles in each organization.
- Click Allow or Deny.
error=access_denied.
Scopes
A client asks for scopes when it registers or when it starts sign-in. If it asks for none, it gets all three. The consent page shows the scopes. The member allows or denies them all together.
A scope never adds to the member’s roles. To issue a credential, the connection needs the
issue scope and the member needs the Issuer role.
Manage connections
Admins see every connection of the organization in the Studio, under Settings → AI assistants. Each row shows the assistant, the member who connected it and when.- Click Disconnect to end a connection at once. The next request with its token gets a
401. - When a member leaves the organization, their connections stop working.
Confirmation before changes
The server gives every client these instructions:- Issuing creates credentials under review. Nothing is sent yet.
- Publishing emails each recipient and uses one credit per new recipient (by email). A recipient who is already covered uses no credit.
- Before it publishes, suspends, revokes or changes anything in bulk, the assistant must tell the user exactly what will happen and get a clear yes.
revoke_credentials are marked destructive. Clients can use these to ask the user before a call.
Tools
Each tool needs one scope, a role, and sometimes a plan feature. The Admin role includes every other role. Callget_organization to see the member’s roles and the plan’s features.
There are no tools to delete groups, designs or credentials, to change billing, or to manage API keys.
Organization
Credential groups
Designs
Attributes
Credentials
The bulk tools (
publish_credentials to export_credentials) take either a list of credential keys, or all_matching: true with the same filters as list_credentials.
Recipients
Reviews
Insights
Email templates
Pathways
Directories
Apps
These tools work with apps from the marketplace. Install and connect an app in the Studio first.Audit logs
Resources and prompts
The server also offers three resources that clients can attach as context:
And three prompts, ready-made tasks a client can offer:
Errors
When a tool fails, the call returns a normal MCP result withisError: true. The text says what went wrong and starts with the tool’s name:
Keys come from other tools. List or search first, then use the key in the result.
Arguments that don’t match a tool’s input schema also return
isError: true, with the details.
A connection that was revoked, or whose member left the organization, gets a 401 on every request, and its refresh token is refused. Connect again to get a new connection.
