Skip to main content
Glama

scientificmethod

Apply structured scientific reasoning to analyze questions by guiding through hypothesis testing, variable identification, prediction making, and evidence evaluation.

Instructions

A detailed tool for applying formal scientific reasoning to questions and problems. This tool guides models through the scientific method with structured hypothesis testing. It enforces explicit variable identification, prediction making, and evidence evaluation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
stageYes
observationNo
questionNo
hypothesisNo
experimentNo
analysisNo
conclusionNo
inquiryIdYesUnique identifier for this scientific inquiry
iterationYesCurrent iteration of the scientific process
nextStageNeededYesWhether another stage is needed in the process

Implementation Reference

  • The `processScientificMethod` method is the core handler for the "scientificmethod" tool. It validates the input, processes the hypothesis and experiment data, formats the output for the console, and returns a JSON-formatted MCP-compliant response.
    public processScientificMethod(input: unknown): { content: Array<{ type: string; text: string }>; isError?: boolean } {
      try {
        const validatedData = this.validateInputData(input);
        const processedData: ScientificInquiryData = {
          ...validatedData,
          hypothesis: this.processHypothesis(validatedData.hypothesis),
          experiment: this.processExperiment(validatedData.experiment)
        };
        
        const formattedOutput = this.formatOutput(processedData);
        console.error(formattedOutput);
    
        return {
          content: [{
            type: "text",
            text: JSON.stringify({
              stage: processedData.stage,
              inquiryId: processedData.inquiryId,
              iteration: processedData.iteration,
              nextStageNeeded: processedData.nextStageNeeded,
              status: 'success'
            }, null, 2)
          }]
        };
      } catch (error) {
        return {
          content: [{
            type: "text",
            text: JSON.stringify({
              error: error instanceof Error ? error.message : String(error),
              status: 'failed'
            }, null, 2)
          }],
          isError: true
        };
      }
    }

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/chirag127/Clear-Thought-MCP-server'

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