MCP App Store
by KeenEthics
Consumer-Health

It's Complicated — Therapist Directory

by It's Complicated

Overview

Search a directory of thousands of verified, independent therapists, counsellors, and coaches across Europe and beyond, speaking 60+ languages. Find practitioners by location, language, speciality, therapeutic approach, session format, price, and more — then view full profiles with booking links. Sessions available online and in person.

Tools

get_therapist

Claude
Use this when the user wants the full details of one specific therapist — typically after search_therapists surfaced them (call with that result's slug), or when they name or link a particular profile. Fetches the public profile by slug (preferred) or numeric id: their bio (about, approach, education, experience), taxonomy (specialities, approaches, languages, identities, insurances), session formats and pricing, the services they offer, listed resources and links — plus a link to the profile page, where the user can see photos and video and book. Listed services are the ones the therapist offers, which is not a promise that each has open slots; booking happens on the profile page. Returns no images or video, and omits any detail the therapist has chosen not to publish. Only profiles currently live in the directory are returned; anything else is rejected.

list_filter_options

Claude
Call this before search_therapists whenever a request needs structured filters and you need the valid values to pass: specialities, approaches, languages, identities, genders, insurances and formats. Returns the slugs/codes search_therapists accepts. Speciality, approach and language values are limited to therapists currently live in the directory; identities, insurances, genders and formats are the full supported set. You do not need this tool for location: search_therapists takes a city or country as the user named it ("Berlin", "Germany") and resolves it itself. Cities are therefore not returned by default — there are several hundred of them. Ask for them only to browse: filter_type: 'locations', optionally with country to narrow to one country's cities. Pass filter_type to fetch a single facet, and prefer it whenever you only need one.

search_therapists

Claude
Use this whenever the user wants to find, browse, compare, or book a therapist, counsellor, psychologist, or other mental-health professional — including when they ask for recommendations by location, language, topic, session format, price, or identity. Searches the It's Complicated directory of verified, actively-listed therapists and returns up to 10 matching profiles, each with a link to the public profile where the user can read more and book. Pass query for free-text topics or a therapist's name. Pass location and country as the user named them ("Berlin", "München", "Germany") — the server resolves them, so do not look them up first. For the other structured filters (specialities, approaches, languages, identities, insurances), first call list_filter_options to get the valid slugs/codes, then pass them here. All filters are combined with AND. Results put available therapists first, prioritise responsive and recently active ones, then rotate fairly among equally-good matches — they are not ranked by how closely the text matches, so treat them as a fair sample, not a "best first" list. Capped at 10. total_count is the full number of matches before the cap. When total_count exceeds the number returned, you're seeing a 10-profile sample of total_count — say so and offer to narrow (by language, topic, price, format, …). query matches therapists whose profile mentions ALL of your search terms; if none do, the search is broadened to a looser match and query_relaxed is set to true — tell the user no exact match was found and that these are broader results. When total_count is 0, nothing matched and results is empty — tell the user no match was found, don't invent results. In that case, and only then, a relaxations array lists which single filter to drop and how many therapists that would surface, e.g. {"filter":"languages","count":3}; use it to offer concrete next steps ("dropping the language filter finds 3"). A notices array (present only when the server has something to flag) explains input it could not take at face value — an inverted price range, filter values it did not recognize, a city or country not in the directory — and how it read an ambiguous location; relay these to the user so they know what to correct. Each result carries the therapist's matchable facts (languages, specialities, approaches, formats, price, insurances, identities) plus a summary (their professional statement); use these to explain why each fits. Call get_therapist with a result's slug for the full profile.

App Stats

3

Tools

Claude

Platforms

Works with

Claude

Data refreshed daily