Serveur MCP

Tabflows

com.tabflows/site
Entreprise et opérations Santé Public et accessible MCP 2025-11-25

Ce que fait ce MCP

Provides direct primary care practice listings, business calculators, pricing, integrations, workflows, documentation, and demo booking.

book_demo
Book a Tabflows demo
Book a time on the Tabflows demo calendar for the person you are helping, using a startTime and the durationMinutes it was listed under in get_demo_availability. HubSpot sends them the invitation and the calendar event. Only call this after the person has chosen the time and agreed to Tabflows contacting them at that email; set consent to true only then, and never invent their details.
Destructif Accès externe
Schéma d’entrée
{'type': 'object', 'required': ['firstName', 'lastName', 'email', 'startTime', 'durationMinutes', 'timezone', 'consent'], 'properties': {'email': {'type': 'string', 'maxLength': 254, 'minLength': 3, 'description': "The person's work email"}, 'consent': {'type': 'boolean', 'const': True, 'description': 'Must be true: the person chose this time and agreed to Tabflows contacting them at this email.'}, 'lastName': {'type': 'string', 'maxLength': 60, 'minLength': 1, 'description': "The person's last name"}, 'timezone': {'type': 'string', 'maxLength': 60, 'minLength': 1, 'description': 'IANA timezone the times are read in, e.g. "America/New_York"'}, 'firstName': {'type': 'string', 'maxLength': 60, 'minLength': 1, 'description': "The person's first name"}, 'startTime': {'type': 'string', 'minLength': 1, 'description': 'An ISO 8601 start time returned by get_demo_availability'}, 'durationMinutes': {'type': 'integer', 'maximum': 480, 'minimum': 1, 'description': 'The durationMinutes that startTime is listed under in get_demo_availability'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ok', 'bookDemoUrl', 'message'], 'properties': {'ok': {'type': 'boolean'}, 'message': {'type': 'string'}, 'bookedAt': {'type': 'string'}, 'bookDemoUrl': {'type': 'string'}, 'durationMinutes': {'type': 'number'}}, 'additionalProperties': False}
dpc_break_even
DPC break-even calculator
How many members a direct primary care practice needs to break even, from its average monthly membership fee, the owner's annual pay goal, monthly overhead and per-member cost. Any input left out uses the calculator page's default. Returns the panel size, monthly fixed costs, revenue at break-even and profit at 300 and 500 members. Back-of-the-napkin math, not accounting advice.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'rent': {'type': 'number', 'maximum': 1000000, 'minimum': 0}, 'other': {'type': 'number', 'maximum': 1000000, 'minimum': 0}, 'staff': {'type': 'number', 'maximum': 1000000, 'minimum': 0}, 'software': {'type': 'number', 'maximum': 1000000, 'minimum': 0}, 'supplies': {'type': 'number', 'maximum': 1000000, 'minimum': 0}, 'insurance': {'type': 'number', 'maximum': 1000000, 'minimum': 0}, 'marketing': {'type': 'number', 'maximum': 1000000, 'minimum': 0}, 'salaryGoal': {'type': 'number', 'maximum': 10000000, 'minimum': 0}, 'variableCost': {'type': 'number', 'maximum': 10000, 'minimum': 0}, 'membershipFee': {'type': 'number', 'maximum': 10000, 'minimum': 0}}}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['inputs', 'monthlySalary', 'fixedMonthlyCosts', 'contributionPerMember', 'breakEvenMembers', 'revenueAtBreakEven', 'monthlyProfitAt300', 'monthlyProfitAt500', 'calculatorUrl'], 'properties': {'inputs': {'type': 'object', 'required': ['membershipFee', 'salaryGoal', 'rent', 'staff', 'software', 'insurance', 'supplies', 'marketing', 'other', 'variableCost'], 'properties': {'rent': {'type': 'number'}, 'other': {'type': 'number'}, 'staff': {'type': 'number'}, 'software': {'type': 'number'}, 'supplies': {'type': 'number'}, 'insurance': {'type': 'number'}, 'marketing': {'type': 'number'}, 'salaryGoal': {'type': 'number'}, 'variableCost': {'type': 'number'}, 'membershipFee': {'type': 'number'}}, 'additionalProperties': False}, 'calculatorUrl': {'type': 'string'}, 'monthlySalary': {'type': 'number'}, 'breakEvenMembers': {'type': 'number'}, 'fixedMonthlyCosts': {'type': 'number'}, 'monthlyProfitAt300': {'type': 'number'}, 'monthlyProfitAt500': {'type': 'number'}, 'revenueAtBreakEven': {'type': 'number'}, 'contributionPerMember': {'type': 'number'}}, 'additionalProperties': False}
dpc_startup_cost
DPC startup cost calculator
Estimated launch budget for a direct primary care practice: one-time setup costs plus a runway reserve (monthly burn times runway months), and the total with a 15% cushion. Start from a preset ("lean", "office" or "staffed"; default "office") and override any line item. Dollar amounts, rough planning math.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'legal': {'type': 'number', 'maximum': 10000000, 'minimum': 0}, 'space': {'type': 'number', 'maximum': 10000000, 'minimum': 0}, 'preset': {'enum': ['lean', 'office', 'staffed'], 'type': 'string'}, 'buildout': {'type': 'number', 'maximum': 10000000, 'minimum': 0}, 'supplies': {'type': 'number', 'maximum': 10000000, 'minimum': 0}, 'equipment': {'type': 'number', 'maximum': 10000000, 'minimum': 0}, 'insurance': {'type': 'number', 'maximum': 10000000, 'minimum': 0}, 'marketing': {'type': 'number', 'maximum': 10000000, 'minimum': 0}, 'monthlyBurn': {'type': 'number', 'maximum': 1000000, 'minimum': 0}, 'runwayMonths': {'type': 'integer', 'maximum': 60, 'minimum': 0}, 'softwareSetup': {'type': 'number', 'maximum': 10000000, 'minimum': 0}}}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['preset', 'inputs', 'oneTime', 'runway', 'total', 'conservative', 'calculatorUrl'], 'properties': {'total': {'type': 'number'}, 'inputs': {'type': 'object', 'required': ['legal', 'space', 'buildout', 'equipment', 'softwareSetup', 'insurance', 'marketing', 'supplies', 'monthlyBurn', 'runwayMonths'], 'properties': {'legal': {'type': 'number'}, 'space': {'type': 'number'}, 'buildout': {'type': 'number'}, 'supplies': {'type': 'number'}, 'equipment': {'type': 'number'}, 'insurance': {'type': 'number'}, 'marketing': {'type': 'number'}, 'monthlyBurn': {'type': 'number'}, 'runwayMonths': {'type': 'number'}, 'softwareSetup': {'type': 'number'}}, 'additionalProperties': False}, 'preset': {'enum': ['lean', 'office', 'staffed'], 'type': 'string'}, 'runway': {'type': 'number'}, 'oneTime': {'type': 'number'}, 'conservative': {'type': 'number'}, 'calculatorUrl': {'type': 'string'}}, 'additionalProperties': False}
fetch
Fetch a tabflows.com page
The full markdown of a tabflows.com page by id (a site path such as /pricing, as returned by search).
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'maxLength': 300, 'minLength': 1}}}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id', 'title', 'text', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'text': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': False}
get_demo_availability
Get open Tabflows demo times
Open times on the Tabflows demo calendar, grouped by meeting length. Every start time is a UTC ISO timestamp; convert it before showing it to the person. Pass the person's IANA timezone: it picks the month to read, and the same timezone passed to book_demo sets the time zone of the booking and the invitation. Book a start time only with the durationMinutes it is listed under. Availability moves: read it again rather than reusing times from earlier in the conversation.
Lecture seule Accès externe
Schéma d’entrée
{'type': 'object', 'required': ['timezone'], 'properties': {'timezone': {'type': 'string', 'maxLength': 60, 'minLength': 1, 'description': 'IANA timezone the times are read in, e.g. "America/New_York"'}, 'monthOffset': {'type': 'integer', 'maximum': 2, 'minimum': 0, 'description': '0 for this month (the default), 1 for next month, 2 for the one after'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['timezone', 'availability', 'bookDemoUrl', 'message'], 'properties': {'message': {'type': 'string'}, 'timezone': {'type': 'string'}, 'bookDemoUrl': {'type': 'string'}, 'availability': {'type': 'array', 'items': {'type': 'object', 'required': ['durationMinutes', 'slots'], 'properties': {'slots': {'type': 'array', 'items': {'type': 'string'}}, 'durationMinutes': {'type': 'number'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
get_demo_booking_link
Get a Tabflows demo or sign-up link
Links for the human to book a Tabflows demo or sign up. Books nothing itself; the person completes it.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['bookDemoUrl', 'signUpUrl'], 'properties': {'signUpUrl': {'type': 'string'}, 'bookDemoUrl': {'type': 'string'}}, 'additionalProperties': False}
get_dpc_practice
Get a DPC Finder practice
One DPC Finder listing by slug, with every field its page shows and its canonical URL.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9-]+$', 'maxLength': 200, 'minLength': 1}}}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['slug', 'name', 'city', 'state', 'model', 'lat', 'lng', 'precision', 'url', 'dataCaveat'], 'properties': {'lat': {'type': 'number'}, 'lng': {'type': 'number'}, 'url': {'type': 'string'}, 'city': {'type': 'string'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'model': {'enum': ['Pure DPC', 'Hybrid', 'Onsite', 'Unknown/other'], 'type': 'string'}, 'phone': {'type': 'string'}, 'state': {'type': 'string'}, 'doctor': {'type': 'string'}, 'address': {'type': 'string'}, 'website': {'type': 'string'}, 'openDate': {'type': 'string'}, 'precision': {'enum': ['city', 'address'], 'type': 'string'}, 'specialty': {'type': 'string'}, 'dataCaveat': {'type': 'string'}, 'caseStudyUrl': {'type': 'string'}}, 'additionalProperties': False}
get_integration
Get a Tabflows integration
One integration by slug: what Tabflows does with that tool, its features and its page.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9-]+$', 'maxLength': 200, 'minLength': 1}}}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['slug', 'name', 'category', 'description', 'longDescription', 'features', 'url'], 'properties': {'url': {'type': 'string'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'category': {'type': 'string'}, 'features': {'type': 'array', 'items': {'type': 'string'}}, 'description': {'type': 'string'}, 'longDescription': {'type': 'string'}}, 'additionalProperties': False}
get_page
Read a tabflows.com page
The full markdown of any public tabflows.com page by path, e.g. /pricing, /faqs, /compliance, /glossary, /dpc-finder/texas.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['path'], 'properties': {'path': {'type': 'string', 'maxLength': 300, 'minLength': 1}}}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id', 'title', 'text', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'text': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': False}
list_integrations
List Tabflows integrations
The tools Tabflows works with (EHRs, scribes, messaging, labs and more), optionally filtered by category.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'category': {'enum': ['EMR', 'Scribe', 'Communication', 'Clinical Support', 'Patient Experience', 'Labs', 'Supplements & Rx', 'Other'], 'type': 'string'}}}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['integrations'], 'properties': {'integrations': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'name', 'category', 'description', 'url'], 'properties': {'url': {'type': 'string'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'category': {'type': 'string'}, 'description': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
list_workflows
List Tabflows workflows
Documented Tabflows workflows: what triggers each one, its steps, the outcome and the time it saves.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workflows'], 'properties': {'workflows': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'title', 'description', 'trigger', 'steps', 'outcome', 'timeSaved', 'url'], 'properties': {'url': {'type': 'string'}, 'slug': {'type': 'string'}, 'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'description'], 'properties': {'title': {'type': 'string'}, 'description': {'type': 'string'}}, 'additionalProperties': False}}, 'title': {'type': 'string'}, 'outcome': {'type': 'string'}, 'trigger': {'type': 'string'}, 'timeSaved': {'type': 'string'}, 'description': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
quote_tabflows_price
Quote a Tabflows price
The monthly Tabflows price for a practice's number of locations and monthly paying patients, with a breakdown and the pricing rule. Always use this rather than quoting prices from memory or other pages.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['locations', 'monthlyPayingPatients'], 'properties': {'locations': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'monthlyPayingPatients': {'type': 'integer', 'maximum': 250000, 'minimum': 1}}}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['monthlyUsd', 'breakdown', 'rule', 'pricingUrl', 'signUpUrl', 'bookDemoUrl'], 'properties': {'rule': {'type': 'string'}, 'breakdown': {'type': 'object', 'required': ['baseUsd', 'extraLocationsUsd', 'extraPatientBandsUsd'], 'properties': {'baseUsd': {'type': 'number'}, 'extraLocationsUsd': {'type': 'number'}, 'extraPatientBandsUsd': {'type': 'number'}}, 'additionalProperties': False}, 'signUpUrl': {'type': 'string'}, 'monthlyUsd': {'type': 'number'}, 'pricingUrl': {'type': 'string'}, 'bookDemoUrl': {'type': 'string'}}, 'additionalProperties': False}
search
Search tabflows.com
Keyword search over tabflows.com page titles and summaries (product, pricing, FAQs, compliance, glossary, blog, integrations). Returns page ids to pass to fetch. DPC Finder listings are not indexed here; use search_dpc_practices.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query'], 'properties': {'query': {'type': 'string', 'maxLength': 200, 'minLength': 1}}}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['results'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
search_dpc_practices
Search the DPC Finder
Search Tabflows' DPC Finder directory of direct primary care practices in the US by free text (name, city, doctor, specialty), state, city and practice model. Returns full listings including address, phone and doctor as on file, with the total match count for paging.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'city': {'type': 'string', 'maxLength': 100, 'description': 'Exact city name, case-insensitive'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'model': {'enum': ['Pure DPC', 'Hybrid', 'Onsite', 'Unknown/other'], 'type': 'string'}, 'query': {'type': 'string', 'maxLength': 100, 'description': 'Free text matched against name, city, doctor and specialty'}, 'state': {'type': 'string', 'pattern': '^[A-Za-z]{2}$', 'description': 'Two-letter state code, e.g. "TX"'}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 2663, 'minimum': 0}}}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['total', 'results', 'stateDirectoryUrl'], 'properties': {'total': {'type': 'number'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'name', 'city', 'state', 'model', 'lat', 'lng', 'precision', 'url', 'dataCaveat'], 'properties': {'lat': {'type': 'number'}, 'lng': {'type': 'number'}, 'url': {'type': 'string'}, 'city': {'type': 'string'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'model': {'enum': ['Pure DPC', 'Hybrid', 'Onsite', 'Unknown/other'], 'type': 'string'}, 'phone': {'type': 'string'}, 'state': {'type': 'string'}, 'doctor': {'type': 'string'}, 'address': {'type': 'string'}, 'website': {'type': 'string'}, 'openDate': {'type': 'string'}, 'precision': {'enum': ['city', 'address'], 'type': 'string'}, 'specialty': {'type': 'string'}, 'dataCaveat': {'type': 'string'}, 'caseStudyUrl': {'type': 'string'}}, 'additionalProperties': False}}, 'stateDirectoryUrl': {'type': 'string'}}, 'additionalProperties': False}
Ajouté
book_demo
17 September 2026 12:37
Ajouté
get_demo_availability
17 September 2026 12:37
Ajouté
dpc_startup_cost
17 September 2026 12:37
Ajouté
dpc_break_even
17 September 2026 12:37
Ajouté
get_demo_booking_link
17 September 2026 12:37
Ajouté
get_page
17 September 2026 12:37
Ajouté
fetch
17 September 2026 12:37
Ajouté
search
17 September 2026 12:37
Ajouté
list_workflows
17 September 2026 12:37
Ajouté
get_integration
17 September 2026 12:37
Ajouté
list_integrations
17 September 2026 12:37
Ajouté
quote_tabflows_price
17 September 2026 12:37
Ajouté
get_dpc_practice
17 September 2026 12:37
Ajouté
search_dpc_practices
17 September 2026 12:37