list-pipelines
Display available nf-core bioinformatics pipelines stored in the MCP server, enabling users to browse and identify relevant workflows and configurations.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "list-pipelines"
}
}Input 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).
{},