Skip to main content
Glama
SmartBear MCP server

SmartBear MCP server

Official
by SmartBear

Contract Testing: Get Current User

contract-testing_get_current_user
Read-onlyIdempotent

Retrieve the profile of the currently authenticated user to identify the active SmartBear account and access its user details.

Instructions

Retrieve the profile of the currently authenticated user.

Toolset: User, Tokens and Preferences

Parameters: None

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
nameNo
typeNo
uuidNo
emailNo
_linksNo
activeNo
lastNameNo
seatTypeNo
_embeddedNo
createdAtNo
firstNameNo
lastLoginNo
updatedAtNo
externalIdNo
externalIdpIdNo
typeDescriptionNo
identityProviderIdNo
externalIdpUsernameNo
authenticationSourceNo
lastTimeTokenAccessedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.43.0
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$defs": {
      +    "EmbeddedLink": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "href": {
      +          "type": "string"
      +        },
      +        "name": {
      +          "type": "string"
      +        },
      +        "templated": {
      +          "type": "boolean"
      +        },
      +        "title": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "Permission": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "description": {
      +          "type": "string"
      +        },
      +        "group": {
      +          "type": "string"
      +        },
      +        "label": {
      +          "type": "string"
      +        },
      +        "scope": {
      +          "type": "string"
      +        },
      +        "uuid": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "UserRole": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "_links": {
      +          "additionalProperties": {},
      +          "properties": {
      +            "self": {
      +              "$ref": "#/$defs/EmbeddedLink"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "name": {
      +          "type": "string"
      +        },
      +        "permissions": {
      +          "items": {
      +            "$ref": "#/$defs/Permission"
      +          },
      +          "type": "array"
      +        },
      +        "uuid": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "UserTeam": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "_links": {
      +          "additionalProperties": {},
      +          "properties": {
      +            "pf:integrations": {
      +              "$ref": "#/$defs/EmbeddedLink"
      +            },
      +            "pf:membership": {
      +              "$ref": "#/$defs/EmbeddedLink"
      +            },
      +            "self": {
      +              "$ref": "#/$defs/EmbeddedLink"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "name": {
      +          "type": "string"
      +        },
      +        "uuid": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": {},
      +  "properties": {
      +    "_embedded": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "roles": {
      +          "items": {
      +            "$ref": "#/$defs/UserRole"
      +          },
      +          "type": "array"
      +        },
      +        "teams": {
      +          "items": {
      +            "$ref": "#/$defs/UserTeam"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "_links": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "pf:tokens": {
      +          "$ref": "#/$defs/EmbeddedLink"
      +        },
      +        "self": {
      +          "$ref": "#/$defs/EmbeddedLink"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "active": {
      +      "type": "boolean"
      +    },
      +    "authenticationSource": {
      +      "type": "string"
      +    },
      +    "createdAt": {
      +      "type": "string"
      +    },
      +    "email": {
      +      "type": "string"
      +    },
      +    "externalId": {
      +      "type": "string"
      +    },
      +    "externalIdpId": {
      +      "type": "string"
      +    },
      +    "externalIdpUsername": {
      +      "type": "string"
      +    },
      +    "firstName": {
      +      "type": "string"
      +    },
      +    "identityProviderId": {
      +      "type": "string"
      +    },
      +    "lastLogin": {
      +      "type": "string"
      +    },
      +    "lastName": {
      +      "type": "string"
      +    },
      +    "lastTimeTokenAccessed": {
      +      "type": "string"
      +    },
      +    "name": {
      +      "type": "string"
      +    },
      +    "seatType": {
      +      "type": "string"
      +    },
      +    "type": {
      +      "anyOf": [
      +        {
      +          "const": 0,
      +          "type": "number"
      +        },
      +        {
      +          "const": 1,
      +          "type": "number"
      +        }
      +      ]
      +    },
      +    "typeDescription": {
      +      "type": "string"
      +    },
      +    "updatedAt": {
      +      "type": "string"
      +    },
      +    "uuid": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Addedv0.40.0
  3. Removedv0.34.0
  4. First observedv0.27.1

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered without the description. The description adds one genuinely useful behavioral fact — the result is scoped to the caller's own authenticated identity — but says nothing about auth prerequisites, error behavior when the token is invalid, or what the profile contains.

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

Conciseness4/5

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

The core sentence is front-loaded and wastes nothing. The trailing "Toolset" and "Parameters: None" lines are metadata filler that restate structured information rather than adding meaning, but they are brief and do not obscure the purpose.

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 no-parameter, read-only identity lookup with an output schema and full annotation coverage, the description supplies what an agent needs to select and call it. The only gap is guidance on how it differs from the admin user-lookup tools.

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

Parameters4/5

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

There are zero parameters, so the baseline is 4. The "Parameters: None" line is redundant with the empty schema but at least confirms no input is needed, leaving nothing for the description to compensate for.

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?

"Retrieve the profile of the currently authenticated user" states a specific verb (retrieve) and resource (profile of the current user), and the qualifier "currently authenticated" separates it from contract-testing_admin_get_user, which targets an arbitrary user by id. It stops short of explicitly naming that sibling, but the scope is unambiguous.

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?

Usage is implied by the "currently authenticated user" phrasing — call this when you need the identity/profile tied to the active token rather than a specific user id. There is no explicit when-to-use/when-not-to-use statement or reference to alternatives such as contract-testing_admin_get_user or contract-testing_get_user_preferences.

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

Deploy Server

Other Tools