Teladoc MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Teladoc MCP ServerFind a primary care doctor available for a virtual visit today"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@striderlabs/mcp-teladoc
MCP server connector for Teladoc telehealth platform. Enable AI agents to search providers, book virtual appointments, manage prescriptions, and message healthcare providers.
Installation
npx @striderlabs/mcp-teladocOr install globally:
npm install -g @striderlabs/mcp-teladocRelated MCP server: Appendix
Configuration
Set environment variables:
export TELADOC_EMAIL="your-email@example.com"
export TELADOC_PASSWORD="your-password"
export TELADOC_HEADLESS="true" # optional, defaults to trueTools
Tool | Description |
| Search Teladoc providers by specialty, condition, gender, or language |
| Get detailed information about a specific provider |
| List upcoming and past appointments |
| Book a new virtual appointment |
| Cancel an existing appointment |
| View prescription history |
| Send secure message to your provider |
| Get past visit summaries |
Usage with Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"teladoc": {
"command": "npx",
"args": ["@striderlabs/mcp-teladoc"],
"env": {
"TELADOC_EMAIL": "your-email@example.com",
"TELADOC_PASSWORD": "your-password"
}
}
}
}License
MIT
Available Tools
8 toolsbook_appointmentC
Book a Teladoc virtual appointment
| Name | Required | Description | Default |
|---|---|---|---|
| provider_id | No | ||
| visit_type | Yes | General Medical, Mental Health, Dermatology, etc. | |
| date | No | ||
| time | No | ||
| reason | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states this is a booking action (implying a write/mutation operation) but doesn't mention authentication requirements, whether appointments can be modified after booking, error conditions, or what happens on success. This leaves significant gaps for a tool that presumably creates appointments.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with zero wasted words. It's appropriately sized for a tool with this level of complexity and gets straight to the point without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 5 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain what happens after booking (confirmation? error handling?), doesn't clarify parameter requirements beyond the schema, and provides no behavioral context. The agent would struggle to use this tool correctly without additional information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 20% schema description coverage (only 'visit_type' has a description), the description provides no additional parameter information. It doesn't explain what 'provider_id' refers to, the expected format for 'date' and 'time', or what 'reason' should contain. The description fails to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Book') and resource ('Teladoc virtual appointment'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'list_appointments' or 'cancel_appointment' beyond the basic verb distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives like 'search_providers' to find available providers first, or 'list_appointments' to check existing bookings. The description only states what it does, not when it's appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_appointmentC
Cancel a Teladoc appointment
| Name | Required | Description | Default |
|---|---|---|---|
| appointment_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool cancels an appointment, implying a destructive mutation, but lacks details on permissions needed, whether cancellations are reversible, confirmation requirements, or any side effects (e.g., notifications sent). This leaves significant gaps for safe agent use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with zero wasted words. It's front-loaded with the core action and resource, making it highly efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (a destructive mutation with no annotations, 0% schema coverage, and no output schema), the description is incomplete. It doesn't cover behavioral traits, parameter details, or expected outcomes, leaving the agent with insufficient information to invoke it correctly and safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description doesn't mention parameters at all, and schema description coverage is 0% (no descriptions in the schema). However, with only one parameter ('appointment_id'), the baseline is 4, but it's reduced to 3 because the description adds no semantic context (e.g., what format the ID should be or where to find it), missing an opportunity to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Cancel') and resource ('a Teladoc appointment'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'book_appointment' or 'list_appointments' beyond the verb, which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For example, it doesn't mention prerequisites (e.g., needing an existing appointment), exclusions (e.g., cannot cancel past appointments), or how it relates to siblings like 'book_appointment' or 'list_appointments'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_prescriptionsB
Get prescription history from Teladoc
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It states it's a read operation ('Get'), implying safety, but doesn't cover aspects like authentication needs, rate limits, data format, or pagination. This leaves significant gaps for a tool accessing sensitive health data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It's front-loaded with the core purpose, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of accessing prescription history (sensitive data), lack of annotations, and no output schema, the description is insufficient. It doesn't explain return values, error handling, or behavioral constraints, leaving the agent with incomplete context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so no parameter documentation is needed. The description doesn't add param info, but that's appropriate here, warranting a baseline score of 4 for adequate coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('prescription history from Teladoc'), making the purpose understandable. It doesn't explicitly differentiate from sibling tools like 'get_visit_history', but the resource specificity is adequate for a 4.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'get_visit_history' or other sibling tools. The description lacks context about use cases or prerequisites, offering minimal direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_provider_detailsC
Get detailed info about a specific Teladoc provider
| Name | Required | Description | Default |
|---|---|---|---|
| provider_id | No | ||
| provider_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves 'detailed info,' implying a read-only operation, but doesn't specify what details are included, whether authentication is required, if there are rate limits, or how errors are handled. This is a significant gap for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with zero waste—it directly states the tool's function without unnecessary words. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a provider details tool with 2 parameters, no annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects like authentication needs, error handling, or the structure of returned data, leaving the agent with insufficient context to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 2 parameters with 0% description coverage, so the schema provides no semantic information. The description doesn't add any meaning beyond implying that 'provider_id' or 'provider_name' are used to identify a provider. It doesn't explain if both parameters are required, how they interact, or what formats are expected, failing to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resource ('detailed info about a specific Teladoc provider'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'search_providers' or 'get_visit_history', which might also retrieve provider-related information, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, such as needing a provider ID or name, or clarify its role compared to siblings like 'search_providers' (which might list multiple providers) or 'get_visit_history' (which could include provider details). This lack of contextual direction leaves the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_visit_historyC
Get past visit history and summaries
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. 'Get' implies a read operation, but it doesn't specify authentication needs, rate limits, pagination behavior, or what format the 'summaries' take. For a tool accessing potentially sensitive medical history, this leaves significant behavioral gaps unaddressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point without wasted words. It's appropriately sized for a zero-parameter tool, though it could be slightly more specific about what 'past visit history' encompasses to improve clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a medical history tool with no annotations and no output schema, the description is insufficient. It doesn't explain what data is returned (e.g., dates, providers, diagnoses, summaries format), whether there are privacy restrictions, or how results are structured. Given the sensitivity of medical data and lack of structured context, more completeness is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters with 100% schema description coverage, so the schema fully documents the absence of inputs. The description appropriately doesn't discuss parameters since none exist, maintaining focus on the tool's purpose without unnecessary detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get past visit history and summaries' clearly states the verb ('Get') and resource ('past visit history and summaries'), making the purpose understandable. However, it doesn't distinguish this tool from potential sibling tools like 'list_appointments' or 'get_prescriptions' that might also retrieve historical medical data, leaving some ambiguity about scope differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't specify if this is for comprehensive history, recent visits only, or how it differs from 'list_appointments' which might show scheduled visits. There's no mention of prerequisites, context requirements, or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_appointmentsB
List upcoming and past Teladoc appointments
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action ('List') but doesn't describe traits such as authentication needs, rate limits, pagination, sorting, or what data fields are included in the output. This leaves significant gaps for a tool that likely interacts with sensitive medical data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste—it directly states the tool's purpose without redundancy. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of handling medical appointments and the lack of annotations and output schema, the description is incomplete. It doesn't address behavioral aspects like data sensitivity, error handling, or output format, which are critical for an AI agent to use this tool correctly in a healthcare context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, and the baseline score for zero parameters is 4, as it avoids unnecessary information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('List') and resource ('Teladoc appointments') with scope ('upcoming and past'), making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'get_visit_history' or 'search_providers', which might also retrieve appointment-related data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'get_visit_history' or 'search_providers'. The description implies a broad retrieval of appointments but doesn't specify use cases, prerequisites, or exclusions, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_providersC
Search Teladoc providers by specialty, condition, gender, or language
| Name | Required | Description | Default |
|---|---|---|---|
| specialty | No | ||
| condition | No | ||
| gender | No | ||
| language | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It only states what the tool does at a high level without mentioning important behavioral aspects like whether this is a read-only operation, what the response format looks like, whether there are rate limits, authentication requirements, or pagination behavior for search results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - a single sentence that efficiently communicates the core functionality. There's no wasted language, and it's appropriately sized for a search tool with straightforward parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 4 parameters, 0% schema coverage, no annotations, and no output schema, the description is insufficient. It doesn't explain what the search returns, how results are structured, whether all parameters are optional, or provide any context about the search behavior beyond the basic premise.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage for all 4 parameters, the description lists the parameter names but provides no semantic context about what values are expected, format requirements, or how these parameters interact. The description mentions 'by specialty, condition, gender, or language' but doesn't explain what constitutes valid inputs for these fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: searching Teladoc providers using specific criteria (specialty, condition, gender, language). It uses a specific verb ('search') and identifies the resource ('Teladoc providers'), but doesn't differentiate from sibling tools like 'get_provider_details' beyond the search aspect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_provider_details' or other sibling tools. It mentions search criteria but gives no context about prerequisites, when this search is appropriate, or what distinguishes it from other provider-related operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_messageC
Send a message to a Teladoc provider
| Name | Required | Description | Default |
|---|---|---|---|
| provider_id | No | ||
| subject | Yes | ||
| message | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure but offers none. It doesn't indicate whether this is a read or write operation (though 'send' implies mutation), what permissions are required, potential side effects, rate limits, or response format. This leaves critical behavioral traits undocumented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with zero wasted words. It's appropriately sized for a simple tool and front-loads the core purpose immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (a mutation operation with 3 parameters), lack of annotations, and no output schema, the description is incomplete. It fails to address behavioral aspects, parameter meanings, or usage context, making it inadequate for an agent to reliably invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate but adds no parameter information. It doesn't explain what 'provider_id', 'subject', or 'message' represent, their formats, constraints, or examples. With 3 parameters and no schema descriptions, this is a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Send a message') and target ('to a Teladoc provider'), which is specific and unambiguous. However, it doesn't differentiate this tool from potential sibling tools like 'book_appointment' or 'search_providers' beyond the basic verb+resource pairing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., needing a provider_id), appropriate contexts, or exclusions, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose with no overlap: booking vs. canceling appointments, listing vs. getting details, searching vs. messaging providers, and accessing prescriptions vs. visit history. The descriptions make it easy for an agent to differentiate between them.
All tools follow a consistent verb_noun pattern (e.g., book_appointment, cancel_appointment, get_prescriptions), with clear and predictable naming conventions throughout the set. There are no deviations or mixed styles.
With 8 tools, this server is well-scoped for a Teladoc healthcare domain, covering core functionalities like appointment management, provider interaction, and record access without being overly sparse or bloated.
The toolset provides strong coverage for key workflows (appointments, providers, records, messaging), but minor gaps exist, such as no tool for updating appointments or handling prescription refills, which agents might need to work around.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Physician-reviewed medical opinions and prescriptions for AI agents.
Connect AI agents to 1000+ apps with managed authentication and tool-calling.
Your MedNode health vault in your AI assistant — records, summaries, labs, appointments.
Connect AI clients to biomedical data and tools.
Related MCP Servers
- FlicenseBqualityDmaintenanceProvides comprehensive integration with the Cliniko API for healthcare practice management, including patient, appointment, and invoice administration. It enables tools for complex clinical workflows and direct access to practice resources through the Model Context Protocol.271

Appendixofficial
FlicenseNot gradedqualityDmaintenanceAppendix turns any AI health conversation into a board-certified physician's opinion — with a real prescription when clinically appropriate. Search medical literature and submit a clinical encounter for review, all from your agent.2
vClinic MCP Serverofficial
FlicenseNot gradedqualityCmaintenanceEnables AI agents to manage virtual clinic data including patients, visits, diagnoses, treatments, lab/radiology orders, and search medical literature and internal knowledge base.- FlicenseAqualityCmaintenanceEnables AI agents to manage appointments on Medicover's Polish patient portal, including booking, rescheduling, and slot searching for patients and dependents.7
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/markswendsen-code/mcp-teladoc'
If you have feedback or need assistance with the MCP directory API, please join our Discord server