get-pipeline-modules
Retrieve and analyze modules from specific nf-core bioinformatics pipelines on the MCP Server to optimize workflow configurations.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pipeline | Yes |
Implementation Reference
- src/index.ts:69-91 (handler)The handler function reads the modules.json file from the specified pipeline directory, parses it, and returns the JSON content as text. Handles errors by returning an error message.async ({ pipeline }) => { try { const modulesPath = path.join(process.cwd(), pipeline, "modules.json"); const modulesContent = await fs.readFile(modulesPath, 'utf-8'); const modules = JSON.parse(modulesContent); return { content: [{ type: "text", text: JSON.stringify(modules, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: `Error getting pipeline modules: ${error}` }], isError: true }; } } );
- src/index.ts:66-68 (schema)Input schema validating the 'pipeline' parameter as a string using Zod.{ pipeline: z.string() },
- src/index.ts:64-92 (registration)Registers the 'get-pipeline-modules' tool with MCP server, including name, input schema, and handler function.server.tool( "get-pipeline-modules", { pipeline: z.string() }, async ({ pipeline }) => { try { const modulesPath = path.join(process.cwd(), pipeline, "modules.json"); const modulesContent = await fs.readFile(modulesPath, 'utf-8'); const modules = JSON.parse(modulesContent); return { content: [{ type: "text", text: JSON.stringify(modules, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: `Error getting pipeline modules: ${error}` }], isError: true }; } } );