list-pipelines
Display available nf-core bioinformatics pipelines stored in the MCP server, enabling users to browse and identify relevant workflows and configurations.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.ts:23-60 (handler)The handler function for the 'list-pipelines' tool. It lists hardcoded nf-core pipelines ('rnaseq', 'sarek', 'modules', 'tools') and for each checks if nextflow.config exists, returning details including whether config is present.async () => { try { const pipelines = ['rnaseq', 'sarek', 'modules', 'tools']; const pipelineDetails = await Promise.all( pipelines.map(async (name) => { const configPath = path.join(process.cwd(), name, "nextflow.config"); try { const config = await fs.readFile(configPath, 'utf-8'); return { name, hasConfig: true, configPath }; } catch { return { name, hasConfig: false }; } }) ); return { content: [{ type: "text", text: JSON.stringify(pipelineDetails, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: `Error listing pipelines: ${error}` }], isError: true }; } }
- src/index.ts:20-61 (registration)Registration of the 'list-pipelines' tool using server.tool(), with empty input schema and the handler function.server.tool( "list-pipelines", {}, async () => { try { const pipelines = ['rnaseq', 'sarek', 'modules', 'tools']; const pipelineDetails = await Promise.all( pipelines.map(async (name) => { const configPath = path.join(process.cwd(), name, "nextflow.config"); try { const config = await fs.readFile(configPath, 'utf-8'); return { name, hasConfig: true, configPath }; } catch { return { name, hasConfig: false }; } }) ); return { content: [{ type: "text", text: JSON.stringify(pipelineDetails, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: `Error listing pipelines: ${error}` }], isError: true }; } } );
- src/index.ts:22-22 (schema)Empty input schema for the 'list-pipelines' tool (no parameters required).{},