EQIQs Rapport Axis
EQIQs Workplace Dynamics & Psychometric Compatibility Scoring
我該用這個嗎
品質與安全性
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"rapport-axis-core": {
"url": "https://adgmsnwjynqkhawhioil.supabase.co/functions/v1/mcp-server"
}
}
}遠端端點
https://adgmsnwjynqkhawhioil.supabase.co/functions/v1/mcp-serverstreamable-http它能做什麼
工具清單
工具(16)
🟢get_my_profile(context)
Return the signed-in user's own EQIQs profile: results across the 21-framework battery (MBTI, Big Five, Enneagram, DISC, EQ and more), plain-language labels, and which frameworks are still missing. Use when the user asks about themselves, e.g. 'what is my Enneagram type?' or 'how do I come across at work?'. Read-only; costs 1 unit.
輸入結構描述
{
"type": "object",
"properties": {
"context": {
"type": "string",
"enum": [
"business",
"romantic",
"friendship",
"coparenting"
],
"default": "business",
"description": "Relationship context that sets framework weighting. 'business' (default) is work-safe and withholds personal-life signals (love language, attachment style, date of birth); the other contexts include them."
}
},
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"profile": {
"type": "object",
"additionalProperties": {},
"description": "The person's profile fields that are visible in this context."
},
"label_meanings": {
"type": "object",
"additionalProperties": {
"$ref": "#/properties/profile/additionalProperties"
},
"description": "Plain-language meanings for the framework labels on the profile."
},
"context": {
"type": [
"string",
"null"
],
"description": "Relationship context the profile was filtered for."
},
"framework_coverage": {
"type": "number",
"description": "How many of the 21 frameworks have data."
},
"frameworks_total": {
"type": "number",
"description": "Total frameworks EQIQs uses (21)."
},
"frameworks_withheld": {
"type": "number",
"description": "How many frameworks are hidden in this context (e.g. personal-life signals at work)."
},
"matched_by": {
"type": "string",
"description": "How the signed-in user's own profile was found."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_profiles(search, limit, context)
List the people saved in the signed-in user's EQIQs workspace (id, name, department, how many of 21 frameworks are complete). Use to find someone before calling get_profile, score_compatibility or score_team. Read-only; costs 1 unit.
輸入結構描述
{
"type": "object",
"properties": {
"search": {
"type": "string",
"maxLength": 100,
"description": "Optional case-insensitive filter on name or email."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 25,
"description": "Maximum rows to return (1-100, default 25)."
},
"context": {
"type": "string",
"enum": [
"business",
"romantic",
"friendship",
"coparenting"
],
"default": "business",
"description": "Relationship context that sets framework weighting. 'business' (default) is work-safe and withholds personal-life signals (love language, attachment style, date of birth); the other contexts include them."
}
},
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"profiles": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
},
"description": "Matching profiles."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_profile(profile_id, email, name, context)
Return the full 21-framework read for one saved person: results per framework with plain-language labels, strengths, and working-style notes. Provide exactly one of profile_id, email or name. Read-only; costs 1 unit.
輸入結構描述
{
"type": "object",
"properties": {
"profile_id": {
"type": "string",
"description": "Profile id from list_profiles (preferred)."
},
"email": {
"type": "string",
"format": "email",
"description": "The person's exact email."
},
"name": {
"type": "string",
"description": "Full name. Ambiguous names return a list to choose from rather than a guess."
},
"context": {
"type": "string",
"enum": [
"business",
"romantic",
"friendship",
"coparenting"
],
"default": "business",
"description": "Relationship context that sets framework weighting. 'business' (default) is work-safe and withholds personal-life signals (love language, attachment style, date of birth); the other contexts include them."
}
},
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"profile": {
"type": "object",
"additionalProperties": {},
"description": "The person's profile fields that are visible in this context."
},
"label_meanings": {
"type": "object",
"additionalProperties": {
"$ref": "#/properties/profile/additionalProperties"
},
"description": "Plain-language meanings for the framework labels on the profile."
},
"context": {
"type": [
"string",
"null"
],
"description": "Relationship context the profile was filtered for."
},
"framework_coverage": {
"type": "number",
"description": "How many of the 21 frameworks have data."
},
"frameworks_total": {
"type": "number",
"description": "Total frameworks EQIQs uses (21)."
},
"frameworks_withheld": {
"type": "number",
"description": "How many frameworks are hidden in this context (e.g. personal-life signals at work)."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_profile(name, email, date_of_birth, department, mbti_type, ...)
Add a new person to the user's workspace, optionally with traits already known (e.g. an MBTI type from a past assessment). Use invite_person instead when the person should take the assessment themselves. Returns the new profile id. Costs 1 unit.
輸入結構描述
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Full name (required)."
},
"email": {
"type": "string",
"format": "email",
"description": "Optional email; used to match results if they later take the assessment."
},
"date_of_birth": {
"type": "string",
"format": "date",
"description": "Optional YYYY-MM-DD. Personal data: never used in business context."
},
"department": {
"type": "string",
"maxLength": 120,
"description": "Optional team or department, used by score_team, prep_meeting and suggest_lead."
},
"mbti_type": {
"type": "string",
"maxLength": 4,
"description": "Optional four-letter MBTI type, e.g. INTJ."
},
"disc_type": {
"type": "string",
"description": "Optional DISC style: D, I, S, C or a blend such as DI."
},
"enneagram_type": {
"type": "string",
"description": "Optional Enneagram type 1-9, with wing if known, e.g. 3w2."
},
"attachment_style": {
"type": "string",
"maxLength": 40,
"description": "Optional. Personal data: never used in business context."
},
"eq_score": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Optional emotional-intelligence score 0-100."
}
},
"required": [
"name"
],
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"profile": {
"type": "object",
"additionalProperties": {},
"description": "The newly created profile."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_relationships(context, limit)
List compatibility pairings the user has already saved, with each pair's score and the context it was scored in. Use to recall earlier comparisons without re-scoring. Read-only; costs 1 unit.
輸入結構描述
{
"type": "object",
"properties": {
"context": {
"type": "string",
"enum": [
"business",
"romantic",
"friendship",
"coparenting"
],
"description": "Optional filter: only pairings scored in this context."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 25,
"description": "Maximum rows to return (1-100, default 25)."
}
},
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"relationships": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
},
"description": "Saved pairings with their context."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢score_compatibility(person_a, person_b, context)
Score how two people work (or relate) together, 0-100, with a visual score card, sub-scores (communication, values, conflict and more), why the score landed where it did, and practical tips. Use for one pair; use score_team for three or more. Decision-support only, never the sole basis for hiring, promotion or termination. Read-only; costs 1 unit.
輸入結構描述
{
"type": "object",
"properties": {
"person_a": {
"type": "string",
"description": "First person. Accepts a profile id, an exact email, or a full name. If a name matches more than one person the tool asks which one instead of guessing."
},
"person_b": {
"type": "string",
"description": "Second person. Accepts a profile id, an exact email, or a full name. If a name matches more than one person the tool asks which one instead of guessing."
},
"context": {
"type": "string",
"enum": [
"business",
"romantic",
"friendship",
"coparenting"
],
"default": "business",
"description": "Relationship context that sets framework weighting. 'business' (default) is work-safe and withholds personal-life signals (love language, attachment style, date of birth); the other contexts include them."
}
},
"required": [
"person_a",
"person_b"
],
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"overall_score": {
"type": "number",
"description": "Overall compatibility score, 0-100."
},
"subscores": {
"type": "object",
"additionalProperties": {},
"description": "Score per dimension, 0-100."
},
"frameworks_used": {
"type": "number",
"description": "Frameworks with data for both people."
},
"frameworks_total": {
"type": "number",
"description": "Total frameworks considered."
},
"strengths": {
"type": "array",
"items": {
"type": "string"
},
"description": "Where the pair works well together."
},
"friction_points": {
"type": "array",
"items": {
"$ref": "#/properties/strengths/items"
},
"description": "Where the pair is likely to clash."
},
"subscore_reasons": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"$ref": "#/properties/subscores/additionalProperties"
}
},
"description": "Why each dimension scored as it did, with a tip."
},
"drivers": {
"type": "array",
"items": {
"$ref": "#/properties/subscore_reasons/items"
},
"description": "Frameworks that moved the score most."
},
"dos": {
"type": "array",
"items": {
"$ref": "#/properties/strengths/items"
},
"description": "Things to do with this person."
},
"donts": {
"type": "array",
"items": {
"$ref": "#/properties/strengths/items"
},
"description": "Things to avoid with this person."
},
"disclaimer": {
"type": "string",
"description": "Decision-support disclaimer."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡add_note(person, note)
Save a private note or check-in on one person in the user's workspace; it appears on their EQIQs profile. Use after 1:1s or when the user asks to remember something about someone. Costs 1 unit.
輸入結構描述
{
"type": "object",
"properties": {
"person": {
"type": "string",
"description": "Who the note is about. Accepts a profile id, an exact email, or a full name. If a name matches more than one person the tool asks which one instead of guessing."
},
"note": {
"type": "string",
"minLength": 1,
"maxLength": 4000,
"description": "Note text (up to 4,000 characters)."
}
},
"required": [
"person",
"note"
],
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"note_id": {
"type": "string",
"description": "Id of the saved note."
},
"person": {
"type": "string",
"description": "Who the note is about."
},
"profile_id": {
"type": "string",
"description": "Profile id of that person."
},
"created_at": {
"type": "string",
"description": "When the note was saved (ISO 8601)."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_notes(person, limit)
Read the user's saved notes and check-ins on one person, newest first. Use before a 1:1 or with prep_meeting. Read-only; costs 1 unit.
輸入結構描述
{
"type": "object",
"properties": {
"person": {
"type": "string",
"description": "Whose notes to read. Accepts a profile id, an exact email, or a full name. If a name matches more than one person the tool asks which one instead of guessing."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 20,
"description": "Maximum rows to return (1-100, default 20)."
}
},
"required": [
"person"
],
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"person": {
"type": "string",
"description": "Who the notes are about."
},
"profile_id": {
"type": "string",
"description": "Profile id of that person."
},
"notes": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
},
"description": "Notes, newest first."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡invite_person(person, email, name, send_email)
Create a private invite link for someone to take the EQIQs assessment and compare with the user. Finishing the assessment is their consent to share results. Optionally emailed by EQIQs; otherwise the link is returned to hand over. Limited to 10 invites per hour; no self-invites or opted-out addresses. Costs 1 unit.
輸入結構描述
{
"type": "object",
"properties": {
"person": {
"type": "string",
"description": "Existing saved person to invite (optional if email is given). Accepts a profile id, an exact email, or a full name. If a name matches more than one person the tool asks which one instead of guessing."
},
"email": {
"type": "string",
"format": "email",
"description": "Invitee's email, when they are not saved yet."
},
"name": {
"type": "string",
"maxLength": 120,
"description": "Invitee's name, shown in the invite."
},
"send_email": {
"type": "boolean",
"default": true,
"description": "true: EQIQs emails the link. false: only return the link."
}
},
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"invitee": {
"type": "string",
"description": "Who was invited."
},
"emailed": {
"type": "boolean",
"description": "Whether EQIQs emailed the invite."
},
"link": {
"type": [
"string",
"null"
],
"description": "Private invite link."
},
"status": {
"type": "string",
"description": "Invite status."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_invites(status, limit)
List comparison invites the user has sent and each one's status: pending, clicked, started or completed. Read-only; costs 1 unit.
輸入結構描述
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"all",
"pending",
"clicked",
"started",
"completed"
],
"default": "all",
"description": "Filter by status."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 20,
"description": "Maximum rows to return (1-50, default 20)."
}
},
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"invites": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
},
"description": "Sent invites with status (sent, opened, started, finished)."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢score_team(members, department, context, label)
Score a whole group in one call: every pairing is rolled up into a team cohesion score (visual card), the weakest shared dimension, the best-connected person, who is most isolated, pairings to watch (<55) and anchor pairings (75+), and the role mix with what is missing. Use instead of looping score_compatibility for 3+ people. Decision-support only. Read-only; costs 2 units.
輸入結構描述
{
"type": "object",
"properties": {
"members": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2,
"maxItems": 12,
"description": "Profile ids or full names of the people in the group (2-12). Omit when using department."
},
"department": {
"type": "string",
"maxLength": 100,
"description": "Use everyone tagged with this department instead of naming members. Exact match first; refuses and asks for names if more than 12 people match or the name spans several departments."
},
"context": {
"type": "string",
"enum": [
"business",
"romantic",
"friendship",
"coparenting"
],
"default": "business",
"description": "Relationship context that sets framework weighting. 'business' (default) is work-safe and withholds personal-life signals (love language, attachment style, date of birth); the other contexts include them."
},
"label": {
"type": "string",
"maxLength": 80,
"description": "Optional group name echoed in the summary."
}
},
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"label": {
"type": [
"string",
"null"
],
"description": "Team or department name."
},
"context": {
"type": "string",
"description": "Relationship context used."
},
"member_count": {
"type": "number",
"description": "People in the team."
},
"pair_count": {
"type": "number",
"description": "Pairings scored."
},
"cohesion_score": {
"type": "number",
"description": "Team cohesion, 0-100."
},
"subscore_averages": {
"type": "object",
"additionalProperties": {},
"description": "Average score per dimension across the team."
},
"weakest_subscore": {
"description": "The team's weakest shared dimension."
},
"members": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"$ref": "#/properties/subscore_averages/additionalProperties"
}
},
"description": "Each member with their average fit."
},
"connector": {
"description": "Best-connected member."
},
"most_isolated": {
"description": "Member furthest from the rest."
},
"pairs": {
"type": "array",
"items": {
"$ref": "#/properties/members/items"
},
"description": "Every pairing and its score."
},
"watch_pairs": {
"type": "array",
"items": {
"$ref": "#/properties/members/items"
},
"description": "Pairings that need care."
},
"anchor_pairs": {
"type": "array",
"items": {
"$ref": "#/properties/members/items"
},
"description": "Strongest pairings."
},
"role_coverage": {
"description": "Mix of working-style roles, counting each person once."
},
"thin_data": {
"description": "Members with too little data for a reliable read."
},
"disclaimer": {
"type": "string",
"description": "Decision-support disclaimer."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢start_assessment(framework)
Get the questions for one EQIQs framework so the user can take it inside the chat. Ask them one at a time, word for word, accepting only A or B. Call with no framework to list what the user has not completed yet. Personal frameworks (attachment, love language) need the user's explicit consent. Read-only; costs 1 unit.
輸入結構描述
{
"type": "object",
"properties": {
"framework": {
"type": "string",
"description": "Framework key, e.g. 'mbti', 'disc', 'enneagram', 'big_five'. Omit to list remaining frameworks."
}
},
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"completed": {
"type": "array",
"items": {},
"description": "Frameworks already completed."
},
"missing": {
"type": "array",
"items": {
"$ref": "#/properties/completed/items"
},
"description": "Frameworks still to take."
},
"framework": {
"type": "string",
"description": "Framework whose questions are returned."
},
"questions": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
},
"description": "Questions with A/B options."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡submit_assessment(framework, answers)
Score the answers collected via start_assessment with EQIQs' own scoring and save the result to the signed-in user's profile (overwrites an earlier result for that framework). Returns the result in plain language. Costs 1 unit.
輸入結構描述
{
"type": "object",
"properties": {
"framework": {
"type": "string",
"description": "The same framework key passed to start_assessment."
},
"answers": {
"type": "object",
"additionalProperties": {
"type": "string",
"enum": [
"A",
"B"
]
},
"description": "Map of question id to the user's answer, 'A' or 'B', for every question returned."
}
},
"required": [
"framework",
"answers"
],
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"framework": {
"type": "string",
"description": "Framework scored."
},
"result": {
"type": "string",
"description": "Resulting type or level."
},
"profile_id": {
"type": "string",
"description": "Profile the result was saved to."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢prep_meeting(members, department, goal)
Build a meeting prep brief for 1-12 attendees: how to communicate with and persuade each person, and which pairings in the room need care. Name attendees or pass a department. Read-only; costs 2 units.
輸入結構描述
{
"type": "object",
"properties": {
"members": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 12,
"description": "Profile ids or full names of attendees (1-12). Omit when using department."
},
"department": {
"type": "string",
"maxLength": 100,
"description": "Use everyone tagged with this department instead of naming members. Exact match first; refuses and asks for names if more than 12 people match or the name spans several departments."
},
"goal": {
"type": "string",
"maxLength": 300,
"description": "Optional meeting goal, e.g. 'agree the Q4 roadmap', used to tailor the advice."
}
},
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"goal": {
"type": [
"string",
"null"
],
"description": "Stated meeting goal."
},
"goal_tips": {
"type": "array",
"items": {},
"description": "Tips tied to the goal."
},
"weakest_pair": {
"description": "The pairing with the lowest score."
},
"people": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
},
"description": "How to work with each attendee."
},
"watch_pairs": {
"type": "array",
"items": {
"$ref": "#/properties/people/items"
},
"description": "Pairings that need care."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢suggest_lead(members, department, kind, project)
Rank 2-12 people for leading a kind of work (execution, people, innovation or analysis), showing the saved results behind each ranking and any thin data. Use for 'who should lead this project?'. Decision-support only. Read-only; costs 2 units.
輸入結構描述
{
"type": "object",
"properties": {
"members": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2,
"maxItems": 12,
"description": "Profile ids or full names of the people in the group (2-12). Omit when using department."
},
"department": {
"type": "string",
"maxLength": 100,
"description": "Use everyone tagged with this department instead of naming members. Exact match first; refuses and asks for names if more than 12 people match or the name spans several departments."
},
"kind": {
"type": "string",
"enum": [
"execution",
"people",
"innovation",
"analysis"
],
"default": "execution",
"description": "Kind of leadership the work needs."
},
"project": {
"type": "string",
"maxLength": 300,
"description": "Optional project description echoed in the ranking."
}
},
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"description": "Type of work being led."
},
"considerations": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
},
"description": "People to consider and why (not a ranking)."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢generate_narrative(person, compare_with, audience, context, focus, ...)
Premium: write a plain-language coaching narrative for one person, or for a pair when compare_with is given, synthesized from all 21 frameworks. Business context stays on working behavior only. Slower than other tools. Costs 5 units.
輸入結構描述
{
"type": "object",
"properties": {
"person": {
"type": "string",
"description": "Who the narrative is about. Accepts a profile id, an exact email, or a full name. If a name matches more than one person the tool asks which one instead of guessing."
},
"compare_with": {
"type": "string",
"description": "Optional second person for a pair narrative. Accepts a profile id, an exact email, or a full name. If a name matches more than one person the tool asks which one instead of guessing."
},
"audience": {
"type": "string",
"enum": [
"manager",
"self",
"partner"
],
"default": "manager",
"description": "Who will read it. Hiring or candidate-screening audiences are intentionally not supported."
},
"context": {
"type": "string",
"enum": [
"business",
"romantic",
"friendship",
"coparenting"
],
"default": "business",
"description": "Relationship context that sets framework weighting. 'business' (default) is work-safe and withholds personal-life signals (love language, attachment style, date of birth); the other contexts include them."
},
"focus": {
"type": "string",
"maxLength": 200,
"description": "Optional topic to emphasize, e.g. 'giving feedback'."
},
"length": {
"type": "string",
"enum": [
"short",
"standard",
"deep"
],
"default": "standard",
"description": "Approximate length of the narrative."
}
},
"required": [
"person"
],
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"properties": {
"requires_confirmation": {
"type": "boolean",
"description": "True when the price must be confirmed before running."
},
"units": {
"type": "number",
"description": "Tool-call units this narrative costs."
},
"narrative": {
"type": "string",
"description": "The written coaching narrative."
},
"sections": {
"description": "Narrative split into sections."
},
"action_items": {
"description": "Action items pulled from the narrative."
},
"subject": {
"type": "string",
"description": "Person the narrative is about."
},
"compared_with": {
"type": [
"string",
"null"
],
"description": "Second person, for pair narratives."
},
"audience": {
"type": "string",
"description": "Who the narrative is written for."
},
"context": {
"type": [
"string",
"null"
],
"description": "Relationship context for pair narratives."
},
"scoring": {
"description": "Scores the narrative is based on."
},
"guardrails": {
"type": "object",
"additionalProperties": {},
"description": "Safety check results."
},
"billing": {
"type": "object",
"additionalProperties": {
"$ref": "#/properties/guardrails/additionalProperties"
},
"description": "Units billed."
},
"disclaimer": {
"type": "string",
"description": "Decision-support disclaimer."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}社群
證據