FlowiseAI/Flowise · error · Error

No tools available for the Pipedream app slug "${appSlug}".

Error message

No tools available for the Pipedream app slug "${appSlug}". Please check your configuration.

What it means

First of two identical-message throws: fires immediately after toolkit.initialize() if toolkit._tools.tools is empty (rawTools.length === 0). It means the Pipedream MCP server accepted the request but returned zero tools for the given app slug, so there is nothing to expose.

Source

Thrown at packages/components/nodes/tools/MCP/Pipedream/PipedreamMCP.ts:332

        const serverParams = {
            url: 'https://remote.mcp.pipedream.net',
            headers: {
                Authorization: `Bearer ${accessToken}`,
                'x-pd-project-id': projectId,
                'x-pd-environment': environment,
                'x-pd-external-user-id': externalUserId,
                'x-pd-app-slug': appSlug,
                'x-pd-tool-mode': toolMode
            }
        }

        try {
            const toolkit = new MCPToolkit(serverParams as any, 'sse')
            await toolkit.initialize()

            const rawTools = toolkit._tools?.tools ?? []
            if (rawTools.length === 0) {
                throw new Error(`No tools available for the Pipedream app slug "${appSlug}". Please check your configuration.`)
            }

            const toolPromises = rawTools.map((t: McpTool) =>
                createPipedreamTool(toolkit, t.name, t.description || t.name, t.inputSchema ?? { type: 'object', properties: {} })
            )
            const settled = await Promise.allSettled(toolPromises)
            const tools = settled.filter((r): r is PromiseFulfilledResult<Tool> => r.status === 'fulfilled').map((r) => r.value)

            if (tools.length === 0) {
                throw new Error(`No tools available for the Pipedream app slug "${appSlug}". Please check your configuration.`)
            }

            return tools
        } catch (error: any) {
            if (error.message?.includes('404')) {
                throw new Error(`Pipedream app slug "${appSlug}" not found. Please verify the slug on mcp.pipedream.com.`)
            }
            if (error.message?.includes('401')) {

View on GitHub (pinned to abe4a8601a)

Solutions

  1. Verify the app slug is correct and that the Pipedream project has access to that app.
  2. Check the 'environment' input (development/production) matches where tools are configured.
  3. Check the 'toolMode' input; try 'tools-only' vs another mode to see if tools appear.
  4. Confirm the OAuth scopes / project permissions grant access to the app's tools.
Defensive patterns

Strategy: validation

Type guard

function hasTools(raw: unknown): raw is { tools: unknown[] } {
    return typeof raw === 'object' && raw !== null && Array.isArray((raw as any).tools) && (raw as any).tools.length > 0
}

Try / catch

try { await pipedream.getTools(nodeData, options) }
catch (e) { if (e instanceof Error && e.message.startsWith('No tools available for the Pipedream app slug')) { /* check env/toolMode/permissions */ } }

Prevention

When it happens

Trigger: The MCP server responds successfully but the tool list is empty — app slug valid but the app exposes no tools in the selected environment/toolMode, or the project lacks access to the app.

Common situations: App slug correct but the Pipedream project/subscription does not include that app; toolMode set to a mode that yields no tools for that app; new app with no configured tools; environment mismatch (production vs development).

Related errors


AI-assisted analysis of FlowiseAI/Flowise@abe4a8601a (2026-08-12). Data as JSON: /api/errors/0d5756d34ac65fd6. Report an issue: GitHub.