Skip to main content
Glama
flyanima

Open Search MCP

by flyanima

check_research_saturation

Evaluate research completeness to identify gaps in your literature review by analyzing existing sources against a specified topic.

Instructions

Evaluate research completeness and identify gaps

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
topicYesResearch topic to evaluate
sourcesNoList of sources already consulted

Implementation Reference

  • Execute function implementing the tool logic: extracts topic and sources, generates mock saturation analysis with completeness score, gaps, and recommendations.
    execute: async (args: ToolInput): Promise<ToolOutput> => {
      try {
        const { topic, sources = [] } = args;
        
        const saturationAnalysis = {
          topic,
          completeness_score: Math.floor(Math.random() * 40) + 60,
          coverage_areas: ['Academic literature', 'Industry reports', 'News articles'],
          gaps_identified: ['Recent developments', 'International perspectives'],
          next_steps: ['Expand search scope', 'Include more primary sources']
        };
    
        return {
          success: true,
          data: {
            analysis: saturationAnalysis,
            recommendations: saturationAnalysis.next_steps,
            completeness: `${saturationAnalysis.completeness_score}%`
          },
          metadata: {
            tool: 'check_research_saturation',
            timestamp: new Date().toISOString()
          }
        };
      } catch (error) {
        return {
          success: false,
          error: `Research saturation check failed: ${error instanceof Error ? error.message : String(error)}`,
          data: null
        };
      }
    }
  • Input schema for the tool defining topic as required string and optional sources array.
    inputSchema: {
      type: 'object',
      properties: {
        topic: {
          type: 'string',
          description: 'Research topic to evaluate'
        },
        sources: {
          type: 'array',
          items: { type: 'string' },
          description: 'List of sources already consulted'
        }
      },
      required: ['topic']
    },
  • Direct registration of the check_research_saturation tool using registry.registerTool, including name, description, schema, and handler.
    registry.registerTool({
      name: 'check_research_saturation',
      description: 'Evaluate research completeness and identify gaps',
      category: 'research',
      source: 'Thinking Analysis Engine',
      inputSchema: {
        type: 'object',
        properties: {
          topic: {
            type: 'string',
            description: 'Research topic to evaluate'
          },
          sources: {
            type: 'array',
            items: { type: 'string' },
            description: 'List of sources already consulted'
          }
        },
        required: ['topic']
      },
      execute: async (args: ToolInput): Promise<ToolOutput> => {
        try {
          const { topic, sources = [] } = args;
          
          const saturationAnalysis = {
            topic,
            completeness_score: Math.floor(Math.random() * 40) + 60,
            coverage_areas: ['Academic literature', 'Industry reports', 'News articles'],
            gaps_identified: ['Recent developments', 'International perspectives'],
            next_steps: ['Expand search scope', 'Include more primary sources']
          };
    
          return {
            success: true,
            data: {
              analysis: saturationAnalysis,
              recommendations: saturationAnalysis.next_steps,
              completeness: `${saturationAnalysis.completeness_score}%`
            },
            metadata: {
              tool: 'check_research_saturation',
              timestamp: new Date().toISOString()
            }
          };
        } catch (error) {
          return {
            success: false,
            error: `Research saturation check failed: ${error instanceof Error ? error.message : String(error)}`,
            data: null
          };
        }
      }
    });
  • src/index.ts:255-255 (registration)
    High-level call to registerThinkingAnalysisTools which registers check_research_saturation among other thinking analysis tools.
    registerThinkingAnalysisTools(this.toolRegistry);   // 4 tools: deep_research, visualize_thinking, decompose_thinking, check_research_saturation

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/flyanima/open-search-mcp'

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