Skip to main content
Glama
mgcrea

@mgcrea/mcp-keycloak

by mgcrea

keycloak_get_client_secret

Read-only

Retrieve a confidential client's current secret in plain text from Keycloak. Warning: this live credential appears in the conversation; requires manage-clients permission.

Instructions

Get a confidential client's CURRENT SECRET IN PLAIN TEXT. This is a live credential — it will appear in the conversation. Requires manage-clients. (To keep it out of reach entirely, move this tool's registration behind KEYCLOAK_ALLOW_WRITES.)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
realmNoRealm to operate on. Defaults to the server's configured realm (KEYCLOAK_REALM).
clientUuidYesClient UUID — the `id` field, NOT the human-facing clientId string. Every /clients/{id} path takes the UUID. Get it from keycloak_list_clients.
Install Server

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only provide readOnlyHint=true, so the burden is on the description to disclose risk. It does so clearly: the secret is a live credential, will surface in the conversation, requires elevated permission, and can be gated behind an environment variable. There is no contradiction with the read-only annotation.

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?

Two sentences deliver high-value information with no filler. The most safety-critical fact ('CURRENT SECRET IN PLAIN TEXT') is front-loaded, followed by the exposure warning and permission requirement.

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

Completeness5/5

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

For a simple two-parameter read tool with no output schema, the description is enough to select and invoke it correctly: it states what the tool returns, the risk of using it, the permission needed, and a mitigation option. No critical information is missing.

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?

The input schema already documents both parameters at 100% coverage, including the crucial clientUuid distinction from clientId and the suggestion to get it from keycloak_list_clients. The description itself adds no parameter-level meaning, so the schema carries the weight; baseline 3 applies.

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

Purpose5/5

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

The description names a specific verb ('Get'), a specific resource ('confidential client's current secret'), and explicitly notes it is 'IN PLAIN TEXT.' Among the many keycloak_* siblings, this unambiguously identifies the secret-retrieval operation and distinguishes it from generic client getters.

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

Usage Guidelines4/5

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

It states the required permission ('Requires manage-clients') and gives a notable warning about the credential appearing in conversation. It also hints at a deployment-level safeguard (KEYCLOAK_ALLOW_WRITES), but it does not explicitly name sibling alternatives or state when not to use the tool.

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

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mgcrea/mcp-keycloak'

If you have feedback or need assistance with the MCP directory API, please join our Discord server