Skip to main content
Glama
wjlim
by wjlim

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
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • 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
          };
        }
      }
    );
  • Empty input schema for the 'list-pipelines' tool (no parameters required).
    {},

Tool Definition Quality

Score is being calculated. Check back soon.

Install Server

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wjlim/nf-core_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server