← WebMCP Directory

Tool tree

gyfts.io

Health & EducationTools verified
Website
A trusted home for Metaphysical, Alternative, Complementary, and Holistic practice, curated, explained, and connected to practitioners seekers trust.
Explore capabilities

    page: Every page

    start_hereAction

    Best first call when a person describes what they are looking for in their own words, e.g. "trouble sleeping, interested in acupuncture in Dublin". Returns JSON {path, practitioners_for?: {name, url}, topics: [{type, name, url}], practitioners: [{name, url, where?, verified?}], events: [{name, url}], next_steps: [string], note}. If the words suggest a crisis it returns {crisis: true, emergency, lines, ...} instead: show that to the person first. Matching pages are not a diagnosis. Read-only.

    View tool JSON
    {
      "name": "start_here",
      "kind": "act",
      "impl": "imperative",
      "description": "Best first call when a person describes what they are looking for in their own words, e.g. \"trouble sleeping, interested in acupuncture in Dublin\". Returns JSON {path, practitioners_for?: {name, url}, topics: [{type, name, url}], practitioners: [{name, url, where?, verified?}], events: [{name, url}], next_steps: [string], note}. If the words suggest a crisis it returns {crisis: true, emergency, lines, ...} instead: show that to the person first. Matching pages are not a diagnosis. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "need": {
            "type": "string",
            "minLength": 2,
            "maxLength": 300,
            "description": "What the person is looking for, in their words."
          },
          "country": {
            "type": "string",
            "pattern": "^[A-Za-z]{2}$",
            "description": "Two-letter country code, e.g. IE or US."
          }
        },
        "required": [
          "need"
        ]
      },
      "page": "/"
    }
    get_crisis_resourcesAnswer

    Emergency number and free crisis helplines for a country. Use at once if the person mentions suicide, self-harm, or not being safe, or if any tool returns crisis: true. Returns JSON {crisis: true, message, country?, emergency, lines: [{name, contact, hours?}], elsewhere: {emergency, find_a_helpline}, note}.

    View tool JSON
    {
      "name": "get_crisis_resources",
      "kind": "answer",
      "impl": "imperative",
      "description": "Emergency number and free crisis helplines for a country. Use at once if the person mentions suicide, self-harm, or not being safe, or if any tool returns crisis: true. Returns JSON {crisis: true, message, country?, emergency, lines: [{name, contact, hours?}], elsewhere: {emergency, find_a_helpline}, note}.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "pattern": "^[A-Za-z]{2}$",
            "description": "Two-letter country code, e.g. IE, GB or US. Default: where the person is browsing from."
          }
        }
      },
      "page": "/"
    }
    about_gyftsAction

    How Gyfts works: what it is, booking and payment, cancellations and refunds, what Verified means, safety, and how to get in touch. Returns JSON {result: {topic, answer, read_more: [path]}, other_topics?}. Without a topic it answers what_is_gyfts and lists the others.

    View tool JSON
    {
      "name": "about_gyfts",
      "kind": "act",
      "impl": "imperative",
      "description": "How Gyfts works: what it is, booking and payment, cancellations and refunds, what Verified means, safety, and how to get in touch. Returns JSON {result: {topic, answer, read_more: [path]}, other_topics?}. Without a topic it answers what_is_gyfts and lists the others.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "topic": {
            "type": "string",
            "enum": [
              "what_is_gyfts",
              "booking_and_payment",
              "cancellations",
              "verification",
              "safety",
              "contact"
            ]
          }
        }
      },
      "page": "/"
    }
    search_gyftsAnswer

    Search the Gyfts holistic health directory by name: conditions, symptoms, practices (modalities), treatments, specialties, journeys (pathways), practitioners, organizations, events and articles. Returns JSON {results: [{type, name, detail?, url}], page, next_page?, note}, 6 per page. For details of one result call get_topic, get_practitioner or get_offering. To find practitioners who offer a practice (e.g. reiki), use find_practitioners. Directory information only, not medical advice.

    View tool JSON
    {
      "name": "search_gyfts",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search the Gyfts holistic health directory by name: conditions, symptoms, practices (modalities), treatments, specialties, journeys (pathways), practitioners, organizations, events and articles. Returns JSON {results: [{type, name, detail?, url}], page, next_page?, note}, 6 per page. For details of one result call get_topic, get_practitioner or get_offering. To find practitioners who offer a practice (e.g. reiki), use find_practitioners. Directory information only, not medical advice.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120,
            "description": "What to look for, e.g. \"reiki\", \"anxiety\", or a practitioner name."
          },
          "type": {
            "type": "string",
            "enum": [
              "condition",
              "symptom",
              "modality",
              "specialty",
              "treatment",
              "pathway",
              "practitioner",
              "organization",
              "event",
              "article"
            ],
            "description": "Only return results of this type. \"modality\" is a practice; \"pathway\" is a journey."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Page of results, from 1. Use next_page from the previous answer."
          }
        },
        "required": [
          "query"
        ]
      },
      "page": "/"
    }
    find_practitionersAnswer

    List published Gyfts practitioners who offer a practice or modality, e.g. "reiki" or "acupuncture", optionally in a country or city. Returns JSON {matched: {name, url}, results: [{name, url, where?, verified?}], page, next_page?, note}, 6 per page, verified practitioners first unless sort is "name". Call get_practitioner with the last part of a url for services, prices and formats. Read-only. Directory information only, not medical advice.

    View tool JSON
    {
      "name": "find_practitioners",
      "kind": "answer",
      "impl": "imperative",
      "description": "List published Gyfts practitioners who offer a practice or modality, e.g. \"reiki\" or \"acupuncture\", optionally in a country or city. Returns JSON {matched: {name, url}, results: [{name, url, where?, verified?}], page, next_page?, note}, 6 per page, verified practitioners first unless sort is \"name\". Call get_practitioner with the last part of a url for services, prices and formats. Read-only. Directory information only, not medical advice.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "practice": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120,
            "description": "The practice or modality name, e.g. \"reiki\"."
          },
          "country": {
            "type": "string",
            "pattern": "^[A-Za-z]{2}$",
            "description": "Two-letter country code, e.g. IE or US."
          },
          "city": {
            "type": "string",
            "minLength": 2,
            "maxLength": 60,
            "description": "City name, e.g. \"Dublin\"."
          },
          "sort": {
            "type": "string",
            "enum": [
              "verified",
              "name"
            ],
            "description": "verified: verified first, then A–Z (default). name: A–Z."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Page of results, from 1. Use next_page from the previous answer."
          }
        },
        "required": [
          "practice"
        ]
      },
      "page": "/"
    }
    find_offeringsAnswer

    List published courses, workshops, programs, retreats, classes, 1:1 sessions and events on Gyfts, optionally by format, price, country, city and date range. Returns JSON {results: [{name, url, by, format, price, starts?, where?}], page, next_page?, note}, 6 per page, soonest first unless sorted by price (prices compared as listed, not converted). Call get_offering with a url for details. Read-only: it does not book anything; the person books on the page.

    View tool JSON
    {
      "name": "find_offerings",
      "kind": "answer",
      "impl": "imperative",
      "description": "List published courses, workshops, programs, retreats, classes, 1:1 sessions and events on Gyfts, optionally by format, price, country, city and date range. Returns JSON {results: [{name, url, by, format, price, starts?, where?}], page, next_page?, note}, 6 per page, soonest first unless sorted by price (prices compared as listed, not converted). Call get_offering with a url for details. Read-only: it does not book anything; the person books on the page.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "courses",
              "workshops",
              "programs",
              "retreats",
              "classes",
              "sessions",
              "group-sessions",
              "circles",
              "talks",
              "community-events",
              "conferences"
            ],
            "description": "Which kind of offering to list."
          },
          "query": {
            "type": "string",
            "maxLength": 120,
            "description": "Optional words to match in the title or host name."
          },
          "mode": {
            "type": "string",
            "enum": [
              "online",
              "onsite",
              "blended"
            ],
            "description": "online, in person (onsite) or both (blended)."
          },
          "price": {
            "type": "string",
            "enum": [
              "free",
              "paid"
            ]
          },
          "country": {
            "type": "string",
            "pattern": "^[A-Za-z]{2}$",
            "description": "Two-letter country code, e.g. IE or US."
          },
          "city": {
            "type": "string",
            "minLength": 2,
            "maxLength": 60,
            "description": "Only items held in this city, e.g. \"Cork\". Online-only items drop out."
          },
          "from": {
            "type": "string",
            "format": "date",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Only items starting on or after this date (YYYY-MM-DD). Excludes undated items."
          },
          "to": {
            "type": "string",
            "format": "date",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Only items starting on or before this date (YYYY-MM-DD). Excludes undated items."
          },
          "sort": {
            "type": "string",
            "enum": [
              "soonest",
              "price_low",
              "price_high"
            ],
            "description": "Default soonest."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Page of results, from 1. Use next_page from the previous answer."
          }
        },
        "required": [
          "kind"
        ]
      },
      "page": "/"
    }
    find_organizationsAnswer

    List published Gyfts organizations: clinics, wellness centers, retreat centers, training schools, associations, practices. Filter by type, practice (e.g. "yoga"), country and city; give at least one. Returns JSON {matched?: {name, url}, results: [{name, url, type, where?}], page, next_page?, note}, 6 per page, A–Z. Call get_organization with the last part of a url for details. Read-only.

    View tool JSON
    {
      "name": "find_organizations",
      "kind": "answer",
      "impl": "imperative",
      "description": "List published Gyfts organizations: clinics, wellness centers, retreat centers, training schools, associations, practices. Filter by type, practice (e.g. \"yoga\"), country and city; give at least one. Returns JSON {matched?: {name, url}, results: [{name, url, type, where?}], page, next_page?, note}, 6 per page, A–Z. Call get_organization with the last part of a url for details. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "practice",
              "clinic",
              "wellness_center",
              "retreat_center",
              "corporate_wellness",
              "association",
              "training_school"
            ],
            "description": "training_school = a school or academy; association = a professional body."
          },
          "practice": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120,
            "description": "A practice the organization offers, e.g. \"yoga\" or \"acupuncture\"."
          },
          "country": {
            "type": "string",
            "pattern": "^[A-Za-z]{2}$",
            "description": "Two-letter country code, e.g. IE or US."
          },
          "city": {
            "type": "string",
            "minLength": 2,
            "maxLength": 60,
            "description": "City name, e.g. \"Galway\". Also matches an organization's other sites."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Page of results, from 1. Use next_page from the previous answer."
          }
        }
      },
      "page": "/"
    }
    get_topicAnswer

    Details of one condition, symptom, practice, treatment, specialty or journey on Gyfts: its reviewed short summary and page URL, and for a condition the practices its page lists. Returns JSON {result: {type, name, url, summary?, related_practices?: [{name, url}], next_step?}, note}. A listed practice is not a recommendation. Not medical advice, a diagnosis or a treatment plan.

    View tool JSON
    {
      "name": "get_topic",
      "kind": "answer",
      "impl": "imperative",
      "description": "Details of one condition, symptom, practice, treatment, specialty or journey on Gyfts: its reviewed short summary and page URL, and for a condition the practices its page lists. Returns JSON {result: {type, name, url, summary?, related_practices?: [{name, url}], next_step?}, note}. A listed practice is not a recommendation. Not medical advice, a diagnosis or a treatment plan.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "condition",
              "symptom",
              "practice",
              "treatment",
              "specialty",
              "journey"
            ],
            "description": "practice = a modality (/modalities/…); journey = a pathway (/journey/…)."
          },
          "slug": {
            "type": "string",
            "pattern": "^[a-z0-9][a-z0-9-]{0,119}$",
            "description": "The topic, e.g. \"anxiety\" from /conditions/anxiety: the last part of its Gyfts URL."
          }
        },
        "required": [
          "type",
          "slug"
        ]
      },
      "page": "/"
    }
    get_practitionerAnswer

    A published Gyfts practitioner's public profile summary. Returns JSON {result: {name, url, where?, verified?, practices?, specialties?, languages?, years_experience?, formats?, about?, services?: [{id, name, price, minutes?, format?}], book_url?}, note}. No contact details. Use a service id with check_availability and open_booking.

    View tool JSON
    {
      "name": "get_practitioner",
      "kind": "answer",
      "impl": "imperative",
      "description": "A published Gyfts practitioner's public profile summary. Returns JSON {result: {name, url, where?, verified?, practices?, specialties?, languages?, years_experience?, formats?, about?, services?: [{id, name, price, minutes?, format?}], book_url?}, note}. No contact details. Use a service id with check_availability and open_booking.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "pattern": "^[a-z0-9][a-z0-9-]{0,119}$",
            "description": "The practitioner, e.g. \"jane-doe\" from /ie/jane-doe: the last part of its Gyfts URL."
          }
        },
        "required": [
          "slug"
        ]
      },
      "page": "/"
    }
    get_organizationAnswer

    A published Gyfts organization's public summary. Returns JSON {result: {type, name, url, org_type, where?, about?, practices?: [{name, url}], locations?: [{name, city?}], next_step}, note}. No contact details. For its courses, classes and events, call find_offerings with its name as the query.

    View tool JSON
    {
      "name": "get_organization",
      "kind": "answer",
      "impl": "imperative",
      "description": "A published Gyfts organization's public summary. Returns JSON {result: {type, name, url, org_type, where?, about?, practices?: [{name, url}], locations?: [{name, city?}], next_step}, note}. No contact details. For its courses, classes and events, call find_offerings with its name as the query.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "pattern": "^[a-z0-9][a-z0-9-]{0,119}$",
            "description": "The organization, e.g. \"bright-cove\" from /ie/organizations/bright-cove: the last part of its Gyfts URL."
          }
        },
        "required": [
          "slug"
        ]
      },
      "page": "/"
    }
    check_availabilityAnswer

    A practitioner's open time windows over up to 14 days, optionally for one service (only windows long enough for it). Read-only: nothing is held or booked. Returns JSON {result: {practitioner, url, service?, from, to, times_are: "UTC", open_windows: [{start, end}], book_url, how_to_book}, note}. To book, call open_booking; the person picks the time and pays.

    View tool JSON
    {
      "name": "check_availability",
      "kind": "answer",
      "impl": "imperative",
      "description": "A practitioner's open time windows over up to 14 days, optionally for one service (only windows long enough for it). Read-only: nothing is held or booked. Returns JSON {result: {practitioner, url, service?, from, to, times_are: \"UTC\", open_windows: [{start, end}], book_url, how_to_book}, note}. To book, call open_booking; the person picks the time and pays.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "pattern": "^[a-z0-9][a-z0-9-]{0,119}$",
            "description": "The practitioner: the last part of its Gyfts URL."
          },
          "service": {
            "type": "string",
            "pattern": "^[0-9a-fA-F-]{36}$",
            "description": "A service id from get_practitioner."
          },
          "from": {
            "type": "string",
            "format": "date",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "First day to check (YYYY-MM-DD). Default today."
          },
          "days": {
            "type": "integer",
            "minimum": 1,
            "maximum": 14,
            "description": "How many days to check. Default 7."
          }
        },
        "required": [
          "slug"
        ]
      },
      "page": "/"
    }
    get_offeringAnswer

    Details of one event, course, workshop, retreat, organization offering or practitioner session, from a url returned by find_offerings. Returns JSON {result: {type, name, url, host?, starts?, ends?, timezone?, format?, where?, price?, minutes?, tickets?: [{name, price}], about?, how_to_book}, note}. Read-only.

    View tool JSON
    {
      "name": "get_offering",
      "kind": "answer",
      "impl": "imperative",
      "description": "Details of one event, course, workshop, retreat, organization offering or practitioner session, from a url returned by find_offerings. Returns JSON {result: {type, name, url, host?, starts?, ends?, timezone?, format?, where?, price?, minutes?, tickets?: [{name, price}], about?, how_to_book}, note}. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "maxLength": 300,
            "description": "The offering url from find_offerings, e.g. /events/sound-bath-dublin."
          }
        },
        "required": [
          "url"
        ]
      },
      "page": "/"
    }
    get_this_pageAnswer

    Details of the practitioner, organization, topic or offering shown on the current Gyfts page, in the same shape get_practitioner, get_organization, get_topic or get_offering return. Returns JSON {result: {...} | null, error?, note}; result is null on pages that are not about one of those (e.g. the homepage or a listing).

    View tool JSON
    {
      "name": "get_this_page",
      "kind": "answer",
      "impl": "imperative",
      "description": "Details of the practitioner, organization, topic or offering shown on the current Gyfts page, in the same shape get_practitioner, get_organization, get_topic or get_offering return. Returns JSON {result: {...} | null, error?, note}; result is null on pages that are not about one of those (e.g. the homepage or a listing).",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    open_pageAction

    Navigate this tab to a public Gyfts page, e.g. a url from any other tool. Only Gyfts pages; account, admin, sign-in and booking pages are refused (use open_booking to book). Returns JSON {opened} or {error}.

    View tool JSON
    {
      "name": "open_page",
      "kind": "act",
      "impl": "imperative",
      "description": "Navigate this tab to a public Gyfts page, e.g. a url from any other tool. Only Gyfts pages; account, admin, sign-in and booking pages are refused (use open_booking to book). Returns JSON {opened} or {error}.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "maxLength": 300,
            "description": "A Gyfts path such as /modalities/reiki, or a full gyfts.io URL."
          }
        },
        "required": [
          "url"
        ]
      },
      "page": "/"
    }
    open_bookingAction

    Open a practitioner's Gyfts booking page, optionally with one service chosen, so the person can pick a time and pay. The agent does not book or pay: the person signs in and completes it themselves. Returns JSON {opened} or {error}.

    View tool JSON
    {
      "name": "open_booking",
      "kind": "act",
      "impl": "imperative",
      "description": "Open a practitioner's Gyfts booking page, optionally with one service chosen, so the person can pick a time and pay. The agent does not book or pay: the person signs in and completes it themselves. Returns JSON {opened} or {error}.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "pattern": "^[a-z0-9][a-z0-9-]{0,119}$",
            "description": "The practitioner: the last part of its Gyfts URL."
          },
          "service": {
            "type": "string",
            "pattern": "^[0-9a-fA-F-]{36}$",
            "description": "A service id from get_practitioner."
          }
        },
        "required": [
          "slug"
        ]
      },
      "page": "/"
    }

    page: Home

    open_gyfts_searchAction

    Open the Gyfts search results page for a search term. Results cover conditions, symptoms, practices (modalities), treatments, specialties, journeys, practitioners, organizations, events and articles. Navigates this tab to the public results page; nothing is booked or changed. Gyfts is a directory: results are not medical advice, a diagnosis or a treatment recommendation.

    View tool JSON
    {
      "name": "open_gyfts_search",
      "kind": "act",
      "impl": "declarative",
      "description": "Open the Gyfts search results page for a search term. Results cover conditions, symptoms, practices (modalities), treatments, specialties, journeys, practitioners, organizations, events and articles. Navigates this tab to the public results page; nothing is booked or changed. Gyfts is a directory: results are not medical advice, a diagnosis or a treatment recommendation.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "description": "Search a feeling, symptom, practice or practitioner…"
          }
        },
        "required": [
          "q"
        ]
      },
      "page": "/"
    }