← WebMCP Directory

Tool tree

time-and-dime.netlify.app

Finance & CryptoTools verified
Website
Time&Dime is a local-first, WebMCP-enabled timed scenario calculator.
Explore capabilities
    list_projectsAnswer

    List locally stored Time&Dime projects newest-first. Returns summaries and stable project IDs, not full node data.

    View tool JSON
    {
      "name": "list_projects",
      "kind": "answer",
      "impl": "imperative",
      "description": "List locally stored Time&Dime projects newest-first. Returns summaries and stable project IDs, not full node data.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    open_projectAction

    Open one stored Time&Dime project by exact UUID or unique exact name. This navigates the shared page but does not modify project data.

    View tool JSON
    {
      "name": "open_project",
      "kind": "act",
      "impl": "imperative",
      "description": "Open one stored Time&Dime project by exact UUID or unique exact name. This navigates the shared page but does not modify project data.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Exact project UUID. Use this instead of projectName."
          },
          "projectName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Exact unique project name. Use this instead of projectId."
          }
        },
        "oneOf": [
          {
            "required": [
              "projectId"
            ]
          },
          {
            "required": [
              "projectName"
            ]
          }
        ],
        "additionalProperties": false
      }
    }
    calculate_projectAction

    Calculate a Time&Dime project on an in-memory clone without changing localStorage. Uses virtual time, exact decimal-string arithmetic, immediate-node propagation, and workload safety limits. Omit the selector when a project is already open.

    View tool JSON
    {
      "name": "calculate_project",
      "kind": "act",
      "impl": "imperative",
      "description": "Calculate a Time&Dime project on an in-memory clone without changing localStorage. Uses virtual time, exact decimal-string arithmetic, immediate-node propagation, and workload safety limits. Omit the selector when a project is already open.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Exact project UUID. Use this instead of projectName."
          },
          "projectName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Exact unique project name. Use this instead of projectId."
          }
        },
        "not": {
          "required": [
            "projectId",
            "projectName"
          ]
        },
        "additionalProperties": false
      }
    }
    get_calculation_resultAnswer

    Return the latest detailed in-memory calculation result for a project, including every node’s name, description, meaning, initial/final calculation value, schedule, and run/update counts. Call calculate_project first. Omit the selector when a project is open.

    View tool JSON
    {
      "name": "get_calculation_result",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return the latest detailed in-memory calculation result for a project, including every node’s name, description, meaning, initial/final calculation value, schedule, and run/update counts. Call calculate_project first. Omit the selector when a project is open.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Exact project UUID. Use this instead of projectName."
          },
          "projectName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Exact unique project name. Use this instead of projectId."
          }
        },
        "not": {
          "required": [
            "projectId",
            "projectName"
          ]
        },
        "additionalProperties": false
      }
    }
    clone_projectAction

    Clone a complete Time&Dime project with a new project UUID and new UUIDs for every node while preserving and remapping the graph. The clone is stored locally and opens by default.

    View tool JSON
    {
      "name": "clone_project",
      "kind": "act",
      "impl": "imperative",
      "description": "Clone a complete Time&Dime project with a new project UUID and new UUIDs for every node while preserving and remapping the graph. The clone is stored locally and opens by default.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "sourceProjectId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Exact source project UUID. Use instead of sourceProjectName."
          },
          "sourceProjectName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Exact unique source project name. Use instead of sourceProjectId."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "description": {
            "type": "string",
            "maxLength": 5000
          },
          "openAfterClone": {
            "type": "boolean",
            "default": true
          }
        },
        "oneOf": [
          {
            "required": [
              "sourceProjectId"
            ]
          },
          {
            "required": [
              "sourceProjectName"
            ]
          }
        ],
        "additionalProperties": false
      }
    }
    compare_scenariosAction

    Calculate and compare nodes from two to five Time&Dime projects without changing stored data. The first project is the baseline; finalValueDifference is scenario minus baseline. Each scenario may select nodes by UUID or unique exact name. When both sides omit selectors, nodes pair by stable node.index; otherwise they pair by selected/stored order. Exact differences are returned only for nodes with matching types and calculation fields.

    View tool JSON
    {
      "name": "compare_scenarios",
      "kind": "act",
      "impl": "imperative",
      "description": "Calculate and compare nodes from two to five Time&Dime projects without changing stored data. The first project is the baseline; finalValueDifference is scenario minus baseline. Each scenario may select nodes by UUID or unique exact name. When both sides omit selectors, nodes pair by stable node.index; otherwise they pair by selected/stored order. Exact differences are returned only for nodes with matching types and calculation fields.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "scenarios": {
            "type": "array",
            "minItems": 2,
            "maxItems": 5,
            "items": {
              "type": "object",
              "properties": {
                "projectId": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200,
                  "description": "Exact project UUID. Use this instead of projectName."
                },
                "projectName": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200,
                  "description": "Exact unique project name. Use this instead of projectId."
                },
                "nodeSelectors": {
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 100,
                  "items": {
                    "type": "object",
                    "properties": {
                      "nodeId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 200
                      },
                      "nodeName": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 200
                      }
                    },
                    "oneOf": [
                      {
                        "required": [
                          "nodeId"
                        ]
                      },
                      {
                        "required": [
                          "nodeName"
                        ]
                      }
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "oneOf": [
                {
                  "required": [
                    "projectId"
                  ]
                },
                {
                  "required": [
                    "projectName"
                  ]
                }
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "scenarios"
        ],
        "additionalProperties": false
      }
    }
    open_create_projectAction

    Open the Create Project page to configure a new Time&Dime project.

    View tool JSON
    {
      "name": "open_create_project",
      "kind": "act",
      "impl": "imperative",
      "description": "Open the Create Project page to configure a new Time&Dime project.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    go_to_homeAction

    Leave the Create Project page and return to the Time&Dime home page.

    View tool JSON
    {
      "name": "go_to_home",
      "kind": "act",
      "impl": "imperative",
      "description": "Leave the Create Project page and return to the Time&Dime home page.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    create_projectAction

    Create a Time&Dime project, store it locally, and open its project page. Duration projects need an end duration. Date-time projects need exact start and end dates with 24-hour times.

    View tool JSON
    {
      "name": "create_project",
      "kind": "act",
      "impl": "imperative",
      "description": "Create a Time&Dime project, store it locally, and open its project page. Duration projects need an end duration. Date-time projects need exact start and end dates with 24-hour times.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Name of the project."
          },
          "description": {
            "type": "string",
            "maxLength": 5000,
            "description": "Optional description of the project."
          },
          "endTimeMode": {
            "type": "string",
            "enum": [
              "duration",
              "dateTime"
            ],
            "description": "Whether the project ends after a duration or at an exact date and time."
          },
          "startDate": {
            "type": "string",
            "format": "date",
            "maxLength": 10,
            "description": "Start date in YYYY-MM-DD format. Used when endTimeMode is dateTime."
          },
          "startHours": {
            "type": "integer",
            "minimum": 0,
            "maximum": 23,
            "description": "Start hour in 24-hour time. Used when endTimeMode is dateTime."
          },
          "startMinutes": {
            "type": "integer",
            "minimum": 0,
            "maximum": 59,
            "description": "Start minute. Used when endTimeMode is dateTime."
          },
          "startSeconds": {
            "type": "integer",
            "minimum": 0,
            "maximum": 59,
            "description": "Start second. Used when endTimeMode is dateTime."
          },
          "endDuration": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Non-negative safe-integer duration value. Used when endTimeMode is duration."
          },
          "endDurationUnit": {
            "type": "string",
            "enum": [
              "Milliseconds",
              "Seconds",
              "Minutes",
              "Hours",
              "Days",
              "Months",
              "Years"
            ],
            "description": "Unit for endDuration. Used when endTimeMode is duration."
          },
          "endDurationParts": {
            "type": "object",
            "description": "Composite duration parts. The smallest non-zero supplied unit becomes the stored unit and larger parts are converted into it. Years equal 12 months; for days or smaller, years equal 365 days and months equal 30 days.",
            "properties": {
              "years": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "months": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "days": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "hours": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "minutes": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "seconds": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "milliseconds": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              }
            },
            "minProperties": 1,
            "additionalProperties": false
          },
          "endDate": {
            "type": "string",
            "format": "date",
            "maxLength": 10,
            "description": "End date in YYYY-MM-DD format. Used when endTimeMode is dateTime."
          },
          "endHours": {
            "type": "integer",
            "minimum": 0,
            "maximum": 23,
            "description": "End hour in 24-hour time. Used when endTimeMode is dateTime."
          },
          "endMinutes": {
            "type": "integer",
            "minimum": 0,
            "maximum": 59,
            "description": "End minute. Used when endTimeMode is dateTime."
          },
          "endSeconds": {
            "type": "integer",
            "minimum": 0,
            "maximum": 59,
            "description": "End second. Used when endTimeMode is dateTime."
          }
        },
        "required": [
          "name",
          "endTimeMode"
        ],
        "oneOf": [
          {
            "properties": {
              "endTimeMode": {
                "const": "duration"
              }
            },
            "anyOf": [
              {
                "required": [
                  "endDuration",
                  "endDurationUnit"
                ]
              },
              {
                "required": [
                  "endDurationParts"
                ]
              }
            ]
          },
          {
            "properties": {
              "endTimeMode": {
                "const": "dateTime"
              }
            },
            "required": [
              "startDate",
              "startHours",
              "startMinutes",
              "startSeconds",
              "endDate",
              "endHours",
              "endMinutes",
              "endSeconds"
            ]
          }
        ],
        "additionalProperties": false
      }
    }