FlowiseAI/Flowise · error · Error

No tools available for the Pipedream app slug

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.

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.

Appendix: 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)