Skip to main content
Glama

set_pwm

Adjust PWM frequency from 0 to 100 to control IoT device behavior through MQTT communication.

Instructions

设置PWM频率,范围0-100

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
frequencyYesPWM频率值(0-100)

Implementation Reference

  • Executes the set_pwm tool: validates frequency argument (0-100), constructs MQTT payload 'PWM {frequency}'.
    if name == "set_pwm":
        frequency = arguments.get("frequency", 0)
        if not (0 <= frequency <= 100):
            return [types.TextContent(
                type="text",
                text="Error: Frequency must be between 0 and 100"
            )]
        message = f"PWM {frequency}"
  • Dynamically lists and registers MCP tools loaded from config.yaml, including set_pwm if configured, with schema derived from config parameters.
    @server.list_tools()
    async def handle_list_tools() -> List[types.Tool]:
        """List available tools."""
        tools = []
        for tool_name, tool_config in config.tools.items():
            tools.append(
                types.Tool(
                    name=tool_config.name,
                    description=tool_config.description,
                    inputSchema={
                        "type": "object",
                        "properties": {
                            param["name"]: {
                                "type": param["type"],
                                "description": param["description"],
                                **({"enum": param["enum"]} if "enum" in param else {})
                            }
                            for param in tool_config.parameters
                        },
                        "required": [
                            param["name"]
                            for param in tool_config.parameters
                            if param.get("required", False)
                        ]
                    }
                )
            )
        return tools
  • Constructs JSON schema for tool inputs from configuration parameters (used for set_pwm schema).
    inputSchema={
        "type": "object",
        "properties": {
            param["name"]: {
                "type": param["type"],
                "description": param["description"],
                **({"enum": param["enum"]} if "enum" in param else {})
            }
            for param in tool_config.parameters
        },
        "required": [
            param["name"]
            for param in tool_config.parameters
            if param.get("required", False)
        ]
    }

Tool Definition Quality

Score is being calculated. Check back soon.

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/mcp2everything/mcp2mqtt'

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