← WebMCP Directory

Tool tree

enm-compass.life

Health & EducationTools verified
Website
Explore where you sit across three dimensions of ethical non-monogamy. Free quiz with personalised compatibility insights.
Explore capabilities
    get_site_overviewAnswer

    Orientation for agents: what ENM Compass is, the privacy contract, and how the quiz tools fit together. Call this first.

    View tool JSON
    {
      "name": "get_site_overview",
      "kind": "answer",
      "impl": "imperative",
      "description": "Orientation for agents: what ENM Compass is, the privacy contract, and how the quiz tools fit together. Call this first.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    start_quizAction

    Open the quiz (equivalent to the "Take the Quiz" button). Idempotent.

    View tool JSON
    {
      "name": "start_quiz",
      "kind": "act",
      "impl": "imperative",
      "description": "Open the quiz (equivalent to the \"Take the Quiz\" button). Idempotent.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    get_quiz_stateAnswer

    Progress snapshot: phase, per-axis answered counts, whether ready to submit, and which questions are still missing.

    View tool JSON
    {
      "name": "get_quiz_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Progress snapshot: phase, per-axis answered counts, whether ready to submit, and which questions are still missing.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    list_quiz_questionsAnswer

    List quiz questions with their descriptions so you can discuss them with your user. Optionally filter by section: "entwinement", "structure", "connection", or "bonus".

    View tool JSON
    {
      "name": "list_quiz_questions",
      "kind": "answer",
      "impl": "imperative",
      "description": "List quiz questions with their descriptions so you can discuss them with your user. Optionally filter by section: \"entwinement\", \"structure\", \"connection\", or \"bonus\".",
      "inputSchema": {
        "type": "object",
        "properties": {
          "section": {
            "type": "string",
            "description": "Optional: entwinement | structure | connection | bonus. Omit for everything."
          }
        }
      },
      "page": "/"
    }
    answer_quiz_questionAction

    Answer one rated question on behalf of the user (after discussing it with them). The page updates visibly, exactly as if the user clicked.

    View tool JSON
    {
      "name": "answer_quiz_question",
      "kind": "act",
      "impl": "imperative",
      "description": "Answer one rated question on behalf of the user (after discussing it with them). The page updates visibly, exactly as if the user clicked.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "axis": {
            "type": "string",
            "description": "entwinement | structure | connection"
          },
          "number": {
            "type": "integer",
            "description": "Question number within the axis, 1-10"
          },
          "rating": {
            "type": "integer",
            "description": "1-5 (1 = not for me, 5 = very open)"
          }
        },
        "required": [
          "axis",
          "number",
          "rating"
        ]
      },
      "page": "/"
    }
    answer_quiz_questionsAction

    Batch-answer multiple rated questions in one call (e.g. after the user describes their preferences in prose). Answers are applied with a short visible cadence so the user can watch.

    View tool JSON
    {
      "name": "answer_quiz_questions",
      "kind": "act",
      "impl": "imperative",
      "description": "Batch-answer multiple rated questions in one call (e.g. after the user describes their preferences in prose). Answers are applied with a short visible cadence so the user can watch.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "answers": {
            "type": "array",
            "description": "Each item: { axis, number (1-10), rating (1-5) }",
            "items": {
              "type": "object",
              "properties": {
                "axis": {
                  "type": "string"
                },
                "number": {
                  "type": "integer"
                },
                "rating": {
                  "type": "integer"
                }
              },
              "required": [
                "axis",
                "number",
                "rating"
              ]
            }
          }
        },
        "required": [
          "answers"
        ]
      },
      "page": "/"
    }
    answer_bonus_questionAction

    Answer one of the 3 bonus multiple-choice questions (ids: compersion, attachment, metamour). Bonus answers refine compatibility insights but do not affect axis scores. Use list_quiz_questions with section "bonus" for valid choice values.

    View tool JSON
    {
      "name": "answer_bonus_question",
      "kind": "act",
      "impl": "imperative",
      "description": "Answer one of the 3 bonus multiple-choice questions (ids: compersion, attachment, metamour). Bonus answers refine compatibility insights but do not affect axis scores. Use list_quiz_questions with section \"bonus\" for valid choice values.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "compersion | attachment | metamour"
          },
          "choice": {
            "type": [
              "string",
              "number"
            ],
            "description": "The \"choice\" value from list_quiz_questions (not the label)."
          }
        },
        "required": [
          "id",
          "choice"
        ]
      },
      "page": "/"
    }
    submit_quizSensitive Action

    Submit the quiz and reveal results. Requires all 30 rated questions answered (bonus questions are optional).

    View tool JSON
    {
      "name": "submit_quiz",
      "kind": "transact",
      "impl": "imperative",
      "description": "Submit the quiz and reveal results. Requires all 30 rated questions answered (bonus questions are optional).",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    get_quiz_resultsAnswer

    Structured results after submission: per-axis 0-10 scores, named profiles, peak preferences, and compatibility insights. Interpret them for your user — scores describe current leanings, not fixed identity.

    View tool JSON
    {
      "name": "get_quiz_results",
      "kind": "answer",
      "impl": "imperative",
      "description": "Structured results after submission: per-axis 0-10 scores, named profiles, peak preferences, and compatibility insights. Interpret them for your user — scores describe current leanings, not fixed identity.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    search_faqAnswer

    Keyword-search the site FAQ (ENM terminology, how the quiz works, the three axes, privacy, consent basics). Returns matching Q&As.

    View tool JSON
    {
      "name": "search_faq",
      "kind": "answer",
      "impl": "imperative",
      "description": "Keyword-search the site FAQ (ENM terminology, how the quiz works, the three axes, privacy, consent basics). Returns matching Q&As.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Keywords, e.g. \"kitchen table\", \"jealousy\", \"privacy\""
          }
        },
        "required": [
          "query"
        ]
      },
      "page": "/"
    }
    reset_quizAction

    Clear all answers and restart the quiz. Destructive — requires confirm: true, and ask the user before calling.

    View tool JSON
    {
      "name": "reset_quiz",
      "kind": "act",
      "impl": "imperative",
      "description": "Clear all answers and restart the quiz. Destructive — requires confirm: true, and ask the user before calling.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "confirm": {
            "type": "boolean",
            "description": "Must be true. Confirm with the user first."
          }
        },
        "required": [
          "confirm"
        ]
      },
      "page": "/"
    }