Skip to main content
Glama

add_token

Add a new OTP token to generate one-time passwords for authentication. Configure TOTP or HOTP tokens with custom settings like issuer, account, algorithm, and period.

Instructions

Add a new OTP token. Args: secret: Base32 encoded secret key issuer: Issuer of the OTP token account: Accout for the OTP token type: Type of the OTP token (TOTP or HOTP) (default is TOTP) algorithm: Hashing algorithm to use (SHA1, SHA256, SHA512, MD5) (default is SHA1) counter: Counter value for HOTP tokens (default is 0) digits: Number of digits in the OTP code (default is 6) period: Time period for TOTP tokens in seconds (default is 30)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
secretYesSecret key Base32
issuerYesIssuer of the OTP token
accountYesAccount for the OTP token
typeNoTOTP
algorithmNoSHA1
counterNoCounter value for HOTP tokens
digitsNoNumber of digits in the OTP code
periodNoTime period for TOTP tokens in seconds

Implementation Reference

  • The 'add_token' tool handler function. It is registered via the @mcp.tool() decorator. The function validates inputs using Pydantic Fields, constructs a Token object from freakotp, and inserts it into the token database using get_token_db().
    async def add_token( secret: str = Field(description="Secret key Base32"), issuer: str = Field(description="Issuer of the OTP token"), account: str = Field(description="Account for the OTP token"), type: Literal[TOKEN_TYPES] = "TOTP", algorithm: Literal[ALGORITHMS] = "SHA1", counter: int = Field(0, description="Counter value for HOTP tokens"), digits: int = Field(6, description="Number of digits in the OTP code"), period: int = Field(30, description="Time period for TOTP tokens in seconds"), ) -> str: """ Add a new OTP token. Args: secret: Base32 encoded secret key issuer: Issuer of the OTP token account: Accout for the OTP token type: Type of the OTP token (TOTP or HOTP) (default is TOTP) algorithm: Hashing algorithm to use (SHA1, SHA256, SHA512, MD5) (default is SHA1) counter: Counter value for HOTP tokens (default is 0) digits: Number of digits in the OTP code (default is 6) period: Time period for TOTP tokens in seconds (default is 30) """ try: db = get_token_db() token = Token( uri=None, type=TokenType[type] if type else TokenType.TOTP, algorithm=algorithm, counter=counter, digits=digits, issuer=issuer, issuer_int=None, issuer_ext=None, label=account, period=period, secret=Secret.from_base32(secret), token_db=db, ) db.insert(token) return "Token added successfully." except Exception: raise ToolError("Error adding OTP token. Please check the provided parameters.")

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/andreax79/otp-mcp'

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