Skip to main content
Glama

logout_of_adeu_cloud

Clears the locally stored API key from the OS Keychain to log out of the cloud backend, ending the authenticated session.

Instructions

Logs out of the Adeu Cloud backend by clearing the local API key from the OS Keychain.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Implementation Reference

  • Handler function for the logout_of_adeu_cloud tool. It clears the local API key from the OS Keychain via DesktopAuthManager.clear_api_key() and returns a success message.
    @tool(
        description="Logs out of the Adeu Cloud backend by clearing the local API key from the OS Keychain.",
        annotations={"openWorldHint": True},
    )
    async def logout_of_adeu_cloud(ctx: Context) -> str:
        await ctx.info("Initiating cloud session logout")
        try:
            DesktopAuthManager.clear_api_key()
            await ctx.debug("API key cleared from OS Keychain successfully")
            return "Successfully logged out. The local API key has been removed from the Keychain."
        except Exception as e:
            await ctx.error("Failed to clear API key during logout", extra={"error": str(e)})
            raise ToolError(f"Error during logout: {str(e)}") from e
  • The @tool decorator registers logout_of_adeu_cloud as an MCP tool with its description and openWorldHint annotation.
    @tool(
        description="Logs out of the Adeu Cloud backend by clearing the local API key from the OS Keychain.",
        annotations={"openWorldHint": True},
    )
  • Calls DesktopAuthManager.clear_api_key() which is the helper that actually removes the API key from the OS Keychain.
        DesktopAuthManager.clear_api_key()
        await ctx.debug("API key cleared from OS Keychain successfully")
        return "Successfully logged out. The local API key has been removed from the Keychain."
    except Exception as e:
        await ctx.error("Failed to clear API key during logout", extra={"error": str(e)})
        raise ToolError(f"Error during logout: {str(e)}") from e
  • The function signature shows it takes a Context object and returns a string. No additional input schema is defined.
    async def logout_of_adeu_cloud(ctx: Context) -> str:
Behavior4/5

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

Description discloses that the tool clears the local API key from the OS Keychain, which is a destructive action beyond the openWorldHint annotation. No contradiction.

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?

Single sentence, concise, front-loaded with the core action. No unnecessary words.

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?

Given the tool's simplicity (no params, output schema exists), the description fully covers purpose and side effects. No gaps.

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?

Tool has no parameters and schema coverage is 100%, so description does not need to add parameter details. It is adequate.

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?

Description clearly states the action (logs out) and the resource (Adeu Cloud backend), and implicitly differentiates from the sibling tool login_to_adeu_cloud.

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?

Description does not explicitly state when to use or when not to use, but the context of logout vs login makes usage obvious. No exclusions or alternatives are mentioned.

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

Install Server

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/dealfluence/adeu'

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