npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@waldzellai/decision-framework

v0.1.3

Published

MCP server for diagrammatic thinking and spatial representation

Readme

Decision Framework MCP Server

Motivation

Language models often struggle with structured decision-making, particularly when multiple options, uncertain outcomes, and complex value trade-offs are involved. Current models frequently:

  1. Fail to systematically enumerate all available options
  2. Make inconsistent judgments about outcome probabilities
  3. Conflate preference and probability in evaluating options
  4. Do not systematically identify and weigh decision criteria
  5. Neglect to account for risk tolerance in recommendations
  6. Miss opportunities for gathering additional information

The Decision Framework Server addresses these limitations by providing a structured framework for decision analysis. By externalizing the decision-making process, models can provide more rigorous, transparent, and personalized decision support.

Technical Specification

Tool Interface

interface Option {
  id: string;
  name: string;
  description: string;
}

interface Outcome {
  id: string;
  description: string;
  probability: number; // 0.0-1.0
  optionId: string;
  value: number; // Utility value, can be positive or negative
  confidenceInEstimate: number; // 0.0-1.0
}

interface Criterion {
  id: string;
  name: string;
  description: string;
  weight: number; // 0.0-1.0, with all weights summing to 1.0
  evaluationMethod: "quantitative" | "qualitative" | "boolean";
}

interface CriterionEvaluation {
  criterionId: string;
  optionId: string;
  score: number; // 0.0-1.0 for normalized scores
  justification: string;
}

interface InformationGap {
  description: string;
  impact: number; // 0.0-1.0, how much it affects the decision
  researchMethod: string;
}

interface DecisionAnalysisData {
  // Core decision elements
  decisionStatement: string;
  options: Option[];
  criteria?: Criterion[];
  criteriaEvaluations?: CriterionEvaluation[];
  possibleOutcomes?: Outcome[];
  informationGaps?: InformationGap[];
  
  // Decision context
  stakeholders: string[];
  constraints: string[];
  timeHorizon: string;
  riskTolerance: "risk-averse" | "risk-neutral" | "risk-seeking";
  
  // Analysis results
  expectedValues?: Record<string, number>; // optionId -> expected value
  multiCriteriaScores?: Record<string, number>; // optionId -> weighted score
  sensitivityInsights?: string[];
  recommendation?: string;
  
  // Process metadata
  decisionId: string;
  analysisType: "expected-utility" | "multi-criteria" | "maximin" | "minimax-regret" | "satisficing";
  stage: "problem-definition" | "options" | "criteria" | "evaluation" | "analysis" | "recommendation";
  iteration: number;
  
  // Next steps
  nextStageNeeded: boolean;
  suggestedNextStage?: string;
}

Process Flow

sequenceDiagram
    participant Model
    participant DecServer as Decision Framework Server
    participant State as Decision State
    
    Model->>DecServer: Define decision problem
    DecServer->>State: Store problem definition
    DecServer-->>Model: Return decision state
    
    Model->>DecServer: Enumerate options
    DecServer->>State: Store available options
    DecServer-->>Model: Return updated state
    
    Model->>DecServer: Define evaluation criteria
    DecServer->>State: Store criteria with weights
    DecServer-->>Model: Return updated state
    
    Model->>DecServer: Evaluate options against criteria
    DecServer->>State: Store evaluations, calculate scores
    DecServer-->>Model: Return updated state with scores
    
    Model->>DecServer: Add outcome probabilities
    DecServer->>State: Store outcomes, calculate expected values
    DecServer-->>Model: Return updated state with expected values
    
    Model->>DecServer: Generate recommendation
    DecServer->>State: Store recommendation with justification
    DecServer-->>Model: Return final decision analysis

Key Features

1. Structured Decision Formulation

The server enforces clear problem definition:

  • Decision statement: Explicit framing of the decision
  • Options: Comprehensive enumeration of alternatives
  • Constraints: Explicit boundaries on viable options
  • Stakeholders: Who is affected by the decision

2. Multi-Method Decision Analysis

The server supports various decision frameworks:

  • Expected Utility: Probability � value calculations
  • Multi-Criteria Analysis: Weighted scoring across criteria
  • Maximin/Maximax: Focus on worst/best possible outcomes
  • Minimax Regret: Minimizing maximum potential regret
  • Satisficing: Finding options that meet minimum thresholds

3. Probability and Value Separation

The server maintains clear distinction between:

  • Probability assessments: Likelihood of outcomes
  • Value judgments: Desirability of outcomes
  • Confidence levels: Certainty of estimates

4. Information Value Analysis

The server identifies:

  • Information gaps: What we don't know
  • Research value: Worth of gathering more information
  • Decision robustness: How sensitive recommendations are to assumptions

5. Visual Representation

The server visualizes decision analysis:

  • Decision trees for expected utility analysis
  • Heat maps for multi-criteria analysis
  • Sensitivity graphs showing how changes affect recommendations

Usage Examples

Personal Decision Support

For major life decisions (career, education, relocation), the model can structure options, criteria, and uncertainties to provide personalized guidance.

Business Strategy

When evaluating business initiatives, the model can analyze options across multiple criteria with explicit weighting of factors.

Risk Management

For decisions with significant uncertainties, the model can provide expected value calculations with confidence intervals.

Policy Analysis

When evaluating policy options, the model can systematically account for impacts across different stakeholders.

Implementation

The server is implemented using TypeScript with:

  • A core DecisionFrameworkServer class
  • Decision analysis calculation engines
  • Visualization components for different analysis types
  • Sensitivity analysis utilities
  • Standard MCP server connection via stdin/stdout

This server enhances model capabilities for complex decision support, particularly in domains requiring systematic comparison of options, explicit trade-off analysis, and structured handling of uncertainty.