mcp-chain-of-draft-prompt-tool
Version:
MCP Chain of Draft (CoD) Prompt Tool - A Model Context Protocol tool for efficient reasoning
47 lines (46 loc) • 1.6 kB
JavaScript
import fetch from 'node-fetch';
import { logger } from './utils/logger.js';
function isChainOfDraftResponse(data) {
return (typeof data === 'object' &&
data !== null &&
'reasoning_steps' in data &&
'final_answer' in data &&
'approach' in data &&
'stats' in data);
}
async function testChainOfDraft() {
try {
const problem = "What is the sum of the first 10 prime numbers?";
const response = await fetch('http://localhost:3000/solve', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
problem,
domain: 'math',
approach: 'CoD'
})
});
const rawData = await response.json();
if (!isChainOfDraftResponse(rawData)) {
throw new Error('Invalid response format from server');
}
const data = rawData;
logger.codOutput.header('Chain of Draft Demo');
logger.codOutput.problem(problem);
logger.codOutput.steps(data.reasoning_steps);
logger.codOutput.answer(data.final_answer);
logger.codOutput.stats({
'Approach': data.approach,
'Word limit': data.stats.word_limit,
'Tokens used': data.stats.token_count,
'Execution time': `${data.stats.execution_time_ms}ms`,
'Complexity score': data.stats.complexity
});
}
catch (error) {
logger.error('Error testing Chain of Draft:', error);
}
}
testChainOfDraft();