Tool tree
gradeNot graded
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": "/"
}