"""Local workshop specimen: no network or filesystem access in the tool."""
from mcp.server.fastmcp import FastMCP

mcp = FastMCP("workshop")

@mcp.tool()
async def normalize_currency(char_code: str) -> dict[str, str]:
    """Normalize a three-letter currency code; reject other input."""
    code = char_code.strip().upper()
    if len(code) != 3 or not code.isascii() or not code.isalpha():
        raise ValueError("Expected three ASCII letters")
    return {"char_code": code}

if __name__ == "__main__":
    mcp.run(transport="stdio")
