analyze_claim
Evaluate claims using empirical, responsible, harmonic, or pluralistic frameworks to identify validation steps and ensure credible information.
Instructions
Analyze a claim using multiple epistemological frameworks and suggest validation steps
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| framework | No | Validation framework to use (empirical, responsible, harmonic, or pluralistic) | |
| text | Yes | Claim to analyze |
Implementation Reference
- src/index.ts:106-173 (handler)The main execution logic for the 'analyze_claim' tool. It determines the validation framework, performs validation using helper functions, generates framework-specific cross-reference prompts, and formats the response content.if (name === "analyze_claim") { const framework: keyof typeof VALIDATION_FRAMEWORKS = (typeof args.framework === 'string' && args.framework in VALIDATION_FRAMEWORKS) ? args.framework as keyof typeof VALIDATION_FRAMEWORKS : VALIDATION_FRAMEWORK; const validation = validateWithFramework(args.text, framework, { hasEmpirical: /evidence|study|research|data/i.test(args.text), servesWellbeing: /benefit|improve|help|support/i.test(args.text), maintainsHarmony: /balance|harmony|integrate/i.test(args.text) }); const suggestions = getValidationSuggestions(args.text, framework); // Generate cross-referencing prompts const crossRefPrompts = [ `- Use Exa MCP server to search for general information: "${args.text}"`, `- Use Brave Search for independent web sources: "${args.text}"`, `- Search ArXiv for preprints and technical papers: "${args.text}"`, `- Use Google Scholar MCP server to find peer-reviewed research: "${args.text}"`, `- Cross-reference findings between academic and general sources to identify consensus or conflicts` ]; // Framework-specific cross-references if (framework === "empirical" || framework === "pluralistic") { crossRefPrompts.push( `- Compare methodologies between ArXiv papers and peer-reviewed research`, `- Analyze replication status across different studies`, `- Cross-validate findings between academic databases` ); } if (framework === "responsible" || framework === "pluralistic") { crossRefPrompts.push( `- Use Exa MCP server to search for community impact studies: "${args.text}"`, `- Cross-reference academic findings with community experiences`, `- Compare traditional knowledge with modern research findings` ); } if (framework === "harmonic" || framework === "pluralistic") { crossRefPrompts.push( `- Use Exa MCP server to search for alternative perspectives: "${args.text}"`, `- Compare Eastern and Western research approaches`, `- Synthesize findings across different knowledge systems` ); } return { content: [ { type: "text", text: `Analysis using ${framework} framework:\n\n` + `Requirements:\n${suggestions.join("\n")}\n\n` + `Confidence level: ${validation.confidence}\n\n` + `Suggested cross-references:\n${crossRefPrompts.join("\n")}` }, { type: "text", text: JSON.stringify({ framework, validation, suggestions, crossRefPrompts }) } ], }; }
- src/index.ts:35-53 (schema)Input schema definition for the 'analyze_claim' tool, specifying the required 'text' parameter and optional 'framework' with allowed values.{ name: "analyze_claim", description: "Analyze a claim using multiple epistemological frameworks and suggest validation steps", inputSchema: { type: "object", properties: { text: { type: "string", description: "Claim to analyze", }, framework: { type: "string", description: "Validation framework to use (empirical, responsible, harmonic, or pluralistic)", enum: ["empirical", "responsible", "harmonic", "pluralistic"], } }, required: ["text"], }, },
- src/index.ts:19-23 (registration)Server capabilities registration declaring 'analyze_claim' as an available tool.tools: { analyze_claim: true, validate_sources: true, check_manipulation: true },
- src/validation.ts:81-91 (helper)Helper function that applies the selected framework's validation logic to compute requirements and confidence level, called by the analyze_claim handler.export function validateWithFramework( claim: string, framework: keyof typeof VALIDATION_FRAMEWORKS, evidence: any ) { const validator = VALIDATION_FRAMEWORKS[framework]; return { requirements: validator.validateClaim(claim), confidence: validator.confidenceLevel(evidence) }; }
- src/validation.ts:93-99 (helper)Helper function that generates specific validation step suggestions from the framework's requirements, used in the analyze_claim response.export function getValidationSuggestions( claim: string, framework: keyof typeof VALIDATION_FRAMEWORKS ): string[] { const requirements = VALIDATION_FRAMEWORKS[framework].validateClaim(claim).requirements; return requirements.map(req => `- Verify if claim "${claim}" meets requirement: ${req}`); }