Skip to main content
Glama
angrysky56

Narrative Graph MCP

generateEnsemble.ts2.23 kB
// Tool implementation for generating ensembles import { createNarrative } from "../core/rtm-builder.js"; import { RTMEnsembleGenerator, createDefaultParameters } from "../core/rtm-ensemble.js"; interface GenerateEnsembleParams { text: string; title: string; ensembleSize?: number; maxBranchingFactor?: number; maxRecallDepth?: number; } // Tool implementation export default async function generateEnsemble(params: GenerateEnsembleParams) { try { // Create narrative from text const narrative = createNarrative(params.text, params.title); // Create RTM parameters const parameters = { ...createDefaultParameters(), maxBranchingFactor: params.maxBranchingFactor || 4, maxRecallDepth: params.maxRecallDepth || 6 }; // Generate ensemble const generator = new RTMEnsembleGenerator(parameters); const ensemble = await generator.generateEnsemble( narrative, params.ensembleSize || 100 ); // Analyze variance const variance = generator.analyzeEnsembleVariance(ensemble); // Test for scale invariance const scaleInvariance = generator.testScaleInvariance(ensemble); return { content: [{ type: "text", text: JSON.stringify({ success: true, ensembleId: `ensemble_${narrative.id}`, narrativeId: narrative.id, statistics: { ensembleSize: ensemble.trees.length, meanRecallLength: ensemble.statistics.meanRecallLength, stdRecallLength: ensemble.statistics.stdRecallLength, scalingExponent: ensemble.statistics.scalingExponent, variance: variance, scaleInvariance: scaleInvariance }, message: `Generated ensemble of ${ensemble.trees.length} trees with mean recall length ${ensemble.statistics.meanRecallLength.toFixed(2)} ± ${ensemble.statistics.stdRecallLength.toFixed(2)}` }, null, 2) }], }; } catch (error) { return { content: [{ type: "text", text: JSON.stringify({ success: false, error: error instanceof Error ? error.message : "Unknown error occurred" }, null, 2) }], }; } }

Implementation Reference

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/angrysky56/narrative-graph-mcp'

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