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)
        ]
    }
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