Skip to main content
Glama

list-available-handlers

Retrieve all available AO system handlers for a specific process using Flux MCP server. Simplify handler management and integration without manual coding.

Input Schema

NameRequiredDescriptionDefault
processIdYes

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "processId": { "type": "string" } }, "required": [ "processId" ], "type": "object" }

Implementation Reference

  • src/mcp.ts:233-242 (registration)
    Registration of the 'list-available-handlers' MCP tool, including schema (processId: string), description, and thin handler wrapper that invokes the listHandlers helper and formats the output.
    this.server.tool( "list-available-handlers", "list all available handlers in an existing AO process", { processId: z.string() }, async ({ processId }) => { const handlers = await listHandlers(processId, this.signer); return { content: [{ type: "text", text: cleanOutput(handlers) }], }; }
  • The core handler logic that lists available handlers in an AO process by sending a Lua evaluation message to inspect and serialize the Handlers.list array.
    export async function listHandlers(processId: string, signer: any) { const messageId = await message({ process: processId, signer, data: ` local handlers = Handlers.list local result = {} for i, handler in ipairs(handlers) do table.insert(result, { name = handler.name, type = type(handler.pattern), }) end return result `, tags: [{ name: "Action", value: "Eval" }], }); const outputResult = await result({ message: messageId, process: processId, }); if (outputResult.Error) { return outputResult.Error; } return outputResult.Output.data; }
  • Alternative registration of the 'list-available-handlers' tool in the local stdio server script, using the inline listHandlers function.
    "list-available-handlers", { processId: z.string() }, async ({ processId }) => { const handlers = await listHandlers(processId); return { content: [{ type: "text", text: cleanOutput(handlers) }], }; } );
  • Inline helper function implementing the handler listing logic in the local index.js script, identical to the one in helpers/handlers.ts except using global signer.
    async function listHandlers(processId) { const messageId = await message({ process: processId, signer, data: ` local handlers = Handlers.list local result = {} for i, handler in ipairs(handlers) do table.insert(result, { name = handler.name, type = type(handler.pattern), }) end return result `, tags: [{ name: "Action", value: "Eval" }], }); const outputResult = await result({ message: messageId, process: processId, }); if (outputResult.Error) { return outputResult.Error; } return outputResult.Output.data; }

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/asrvd/flux'

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