Private, non-explicit intimacy exercises, scripts and a couples quiz for adults 18+.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Give personalized, non-explicit practices for confidence in intimacy: body confidence, starting a moment of closeness, boundaries, or talking about preferences. Use when someone asks how to feel more confident or less anxious about intimacy. 18+ only.
The part of confidence the user wants to work on.
Whether the user is doing this alone rather than with a partner.
A short summary of the situation in the user own words.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http coral https://mcp.getcoral.co/mcp
Give personalized, non-explicit practices for confidence in intimacy: body confidence, starting a moment of closeness, boundaries, or talking about preferences. Use when someone asks how to feel more confident or less anxious about intimacy. 18+ only.
| Argument | Type | Description |
|---|---|---|
| area | string | The part of confidence the user wants to work on. |
| solo | boolean | Whether the user is doing this alone rather than with a partner. |
| situation | string | A short summary of the situation in the user own words. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"area": {
"enum": [
"body",
"initiation",
"pleasure",
"boundaries",
"communication"
],
"type": "string",
"default": "body",
"description": "The part of confidence the user wants to work on."
},
"solo": {
"type": "boolean",
"description": "Whether the user is doing this alone rather than with a partner."
},
"situation": {
"type": "string",
"maxLength": 600,
"description": "A short summary of the situation in the user own words."
}
}
}Help the user find the right words to talk about intimacy, desire, boundaries, new ideas, starting things, afterwards, or different levels of desire. Returns a script, talking points, a pause line, and guidance for different partner reactions. 18+ only, non-explicit.
| Argument | Type | Description |
|---|---|---|
| tone | string | The tone the user wants to use. |
| topic | string | The conversation the user wants to have. |
| situation | string | A short summary of the situation in the user own words. |
| partnerResponse | string | How the partner has responded before, if known. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"tone": {
"enum": [
"gentle",
"direct",
"playful"
],
"type": "string",
"default": "gentle",
"description": "The tone the user wants to use."
},
"topic": {
"enum": [
"what_i_like",
"boundaries",
"frequency",
"fantasy",
"initiation",
"aftercare",
"mismatch"
],
"type": "string",
"default": "what_i_like",
"description": "The conversation the user wants to have."
},
"situation": {
"type": "string",
"maxLength": 600,
"description": "A short summary of the situation in the user own words."
},
"partnerResponse": {
"enum": [
"unknown",
"defensive",
"receptive",
"avoidant"
],
"type": "string",
"default": "unknown",
"description": "How the partner has responded before, if known."
}
}
}Create a short, consent-based intimacy challenge for a couple. Use for questions like "how do we reconnect", "how can we bring back some spark", or "we have drifted apart". Returns a day-by-day plan of non-explicit activities. 18+ only.
| Argument | Type | Description |
|---|---|---|
| focus | string | The main goal. connection is a 7-day reconnection plan, reconnection is a 14-day plan for a longer dry spell, confidence is a 7-day confidence plan, play is a 7-day playful plan. |
| comfort | string | How much directness and playfulness the user wants. Bold still means non-explicit. |
| boundaries | string | Any boundaries or limits the user mentions, so the plan can explicitly respect them. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"focus": {
"enum": [
"connection",
"reconnection",
"confidence",
"play"
],
"type": "string",
"default": "connection",
"description": "The main goal. connection is a 7-day reconnection plan, reconnection is a 14-day plan for a longer dry spell, confidence is a 7-day confidence plan, play is a 7-day playful plan."
},
"comfort": {
"enum": [
"gentle",
"curious",
"bold"
],
"type": "string",
"description": "How much directness and playfulness the user wants. Bold still means non-explicit."
},
"boundaries": {
"type": "string",
"maxLength": 500,
"description": "Any boundaries or limits the user mentions, so the plan can explicitly respect them."
}
}
}Explore why desire may have changed and get one personalized, consent-based intimacy exercise. Use for questions about low desire, feeling disconnected, or not knowing what changed. Non-explicit, 18+ only, and not medical advice.
| Argument | Type | Description |
|---|---|---|
| comfort | string | How much directness the user wants. Bold still means non-explicit. |
| factors | array | Optional factors the user already recognizes. Omit to let Coral infer from the situation. |
| partnered | boolean | Whether the user is currently in a relationship. |
| situation | string | A short summary of the user situation in their own words, for example "I want sex less than my partner and I feel guilty". |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"comfort": {
"enum": [
"gentle",
"curious",
"bold"
],
"type": "string",
"description": "How much directness the user wants. Bold still means non-explicit."
},
"factors": {
"type": "array",
"items": {
"enum": [
"stress",
"routine",
"connection",
"confidence",
"pressure",
"mismatch",
"health",
"history",
"unknown"
],
"type": "string"
},
"maxItems": 3,
"description": "Optional factors the user already recognizes. Omit to let Coral infer from the situation."
},
"partnered": {
"type": "boolean",
"description": "Whether the user is currently in a relationship."
},
"situation": {
"type": "string",
"maxLength": 600,
"description": "A short summary of the user situation in their own words, for example \"I want sex less than my partner and I feel guilty\"."
}
}
}Help a couple talk about different levels of desire without blame or pressure. Use when one partner wants more closeness than the other, when desire has changed, or when either person feels guilty or rejected. Returns a conversation plan and one exercise. 18+ only, non-explicit.
| Argument | Type | Description |
|---|---|---|
| pressure | string | How much pressure or resentment is present right now. |
| situation | string | A short summary of the situation in the user own words. |
| higherDesire | string | Which person currently wants sex more often. |
| talkedBefore | boolean | Whether they have already tried to talk about it. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"pressure": {
"enum": [
"low",
"medium",
"high"
],
"type": "string",
"default": "medium",
"description": "How much pressure or resentment is present right now."
},
"situation": {
"type": "string",
"maxLength": 600,
"description": "A short summary of the situation in the user own words."
},
"higherDesire": {
"enum": [
"me",
"partner",
"varies"
],
"type": "string",
"default": "varies",
"description": "Which person currently wants sex more often."
},
"talkedBefore": {
"type": "boolean",
"description": "Whether they have already tried to talk about it."
}
}
}Joins an existing quiz using the 8-character invite code from the partner. Returns a participant token and the ten questions. A quiz holds at most two people.
| Argument | Type | Description |
|---|---|---|
| inviteCode* | string | The 8-character invite code from the partner. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"inviteCode"
],
"properties": {
"inviteCode": {
"type": "string",
"maxLength": 20,
"minLength": 1,
"description": "The 8-character invite code from the partner."
}
}
}Creates a new private two-person intimacy quiz. Returns an 8-character invite code for the partner, a participant token for the person starting it, and the ten questions with their options. Quizzes are deleted after 14 days. 18+ only, non-explicit.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Checks a quiz without changing it. Says whether the partner has answered, and returns the shared comparison once both have. Needs the session ID and the participant token.
| Argument | Type | Description |
|---|---|---|
| sessionId* | string | The session ID returned when the quiz was started or joined. |
| participantToken* | string | This person's participant token, returned when they started or joined the quiz. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"sessionId",
"participantToken"
],
"properties": {
"sessionId": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The session ID returned when the quiz was started or joined."
},
"participantToken": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "This person's participant token, returned when they started or joined the quiz."
}
}
}Saves one person's answers to a quiz they started or joined: one option for each of the ten questions. When both people have submitted, the reply includes the shared comparison, which shows only the answers both people chose. Submitting again changes nothing.
| Argument | Type | Description |
|---|---|---|
| answers* | array | One answer per question. Every question must be answered. |
| sessionId* | string | The session ID returned when the quiz was started or joined. |
| participantToken* | string | This person's participant token, returned when they started or joined the quiz. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"sessionId",
"participantToken",
"answers"
],
"properties": {
"answers": {
"type": "array",
"items": {
"type": "object",
"required": [
"questionId",
"optionId"
],
"properties": {
"optionId": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"questionId": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
}
},
"maxItems": 20,
"minItems": 1,
"description": "One answer per question. Every question must be answered."
},
"sessionId": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The session ID returned when the quiz was started or joined."
},
"participantToken": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "This person's participant token, returned when they started or joined the quiz."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 13, 2026.