squabble-mcp
Version:
Engineer-driven development with critical-thinking PM collaboration - MCP server for Claude
36 lines • 1.34 kB
JavaScript
import { z } from 'zod';
const saveDecisionSchema = z.object({
type: z.enum(['architecture', 'implementation', 'security', 'task']),
title: z.string(),
description: z.string(),
rationale: z.string(),
alternatives: z.array(z.object({
option: z.string(),
pros: z.array(z.string()),
cons: z.array(z.string())
})).optional(),
supportedBy: z.array(z.enum(['pm', 'engineer', 'security', 'architect']))
});
export function registerSaveDecision(server, workspaceManager) {
server.addTool({
name: 'save_decision',
description: 'Save an architectural decision record (ADR) for important project decisions',
parameters: saveDecisionSchema,
execute: async (args) => {
try {
const decision = {
...args,
proposedBy: 'pm',
timestamp: new Date()
};
await workspaceManager.saveDecision(decision);
return `Decision saved: ${args.title} (${args.type})`;
}
catch (error) {
console.error('Failed to save decision:', error);
return `Error: ${error instanceof Error ? error.message : 'Failed to save decision'}`;
}
}
});
}
//# sourceMappingURL=save-decision.js.map