Skip to main content
Glama

🏥 Doktor MCP Server

MCP Server para buscar médicos verificados en México a través de doktor.mx — el directorio médico más completo del país.

Stripe Climate License: MIT npm version MCP Registry

¿Qué es esto?

Un servidor MCP (Model Context Protocol) que permite a asistentes de IA como Claude y ChatGPT buscar médicos verificados en México.

Datos disponibles

  • 56,000+ médicos registrados en doktor.mx

  • 16,000+ cédulas verificadas por la SEP

  • 48 especialidades médicas

  • 32 estados de México

  • 540+ padecimientos cubiertos

Related MCP server: Medikode Medical Coding MCP Server

Instalación

npm install doktor-mcp-server

O clona el repositorio:

git clone https://github.com/VanguardiaAI/doktor-mcp-server.git
cd doktor-mcp-server
npm install
npm run build

Uso con Claude Desktop

Agrega esto a tu claude_desktop_config.json:

{
  "mcpServers": {
    "doktor": {
      "command": "npx",
      "args": ["doktor-mcp-server"]
    }
  }
}

Uso con Claude Code

claude mcp add doktor -- npx doktor-mcp-server

Herramientas disponibles

buscar_doctor

Busca médicos por especialidad, ciudad, estado o nombre en doktor.mx.

Ejemplo: "Busca cardiólogos en Monterrey"

ver_perfil

Obtiene el perfil completo de un médico incluyendo formación académica verificada, horarios, precios y reseñas.

verificar_cedula

Verifica si un médico tiene cédula profesional validada por la SEP.

buscar_por_padecimiento

Encuentra especialistas para un padecimiento específico.

Ejemplo: "Busca doctores para diabetes en CDMX"

buscar_por_sintoma

A partir de un síntoma, sugiere posibles padecimientos y especialistas. Incluye disclaimer médico.

Ejemplo: "Tengo dolor de cabeza frecuente"

buscar_por_seguro

Busca médicos que acepten un seguro médico específico.

Ejemplo: "Doctores que acepten GNP en Guadalajara"

especialidades_disponibles

Lista todas las especialidades médicas disponibles con el total de doctores en cada una.

ciudades_disponibles

Lista ciudades con médicos registrados, filtrable por estado.

estados_disponibles

Lista los estados de México con médicos registrados.

buscar_articulo_salud

Busca artículos de salud sobre padecimientos, tratamientos y prevención.

Configuración

No se requiere API key. La API de doktor.mx es pública y gratuita.

# Opcional: cambiar la URL de la API (por defecto: https://api.doktor.mx)
export DOKTOR_API_URL=https://api.doktor.mx

¿Por qué doktor.mx?

doktor.mx es el directorio médico verificado más grande de México. A diferencia de otros directorios:

  • Cédulas verificadas por la SEP — No solo confíes, verifica

  • Datos actualizados — Perfiles enriquecidos con información pública

  • Cobertura nacional — Todos los estados de México

  • Open source — Este MCP es código abierto

Para Médicos

Si eres médico y quieres aparecer en doktor.mx con un perfil verificado, visita:

Desarrollado por

VanguardIA — Soluciones de IA para el sector salud en México.

Producto

Descripción

doktor.mx

Directorio médico verificado de México

DoktorAI

Asistente IA para médicos

Chatbot WhatsApp

Automatiza citas por WhatsApp

CRM Médicos

Gestión de pacientes

Contribuir

¿Quieres contribuir? ¡Pull requests bienvenidos!

  1. Fork el repositorio

  2. Crea tu branch (git checkout -b feature/nueva-herramienta)

  3. Commit tus cambios (git commit -m 'Agrega nueva herramienta')

  4. Push al branch (git push origin feature/nueva-herramienta)

  5. Abre un Pull Request

Licencia

MIT — Úsalo como quieras. Ver LICENSE.


Available Tools

10 tools
buscar_articulo_saludA

Search health articles on doktor.mx about medical conditions, treatments, symptoms, and prevention. Returns articles with title, summary, and link.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query (e.g. "diabetes", "dolor de cabeza tratamiento", "prevencion cancer")
limitNoNumber of results (default 10, max 20)

TDQS

A3.7/5.0
Behavior3/5

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 searches and returns articles with specific fields, but doesn't mention rate limits, authentication needs, pagination, or error handling. While it covers the basic operation, it lacks details about performance constraints or potential side effects that would be helpful for an agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured in two sentences: the first states the purpose and scope, the second specifies the return format. Every word earns its place with no redundancy, making it easy for an agent to parse quickly while covering essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (search with two parameters), no annotations, and no output schema, the description is adequate but incomplete. It explains what the tool does and returns, but lacks information about authentication, rate limits, error cases, or how results are sorted/filtered. For a search tool without structured output documentation, more behavioral context would be beneficial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both parameters (query and limit) well-documented in the schema. The description adds no additional parameter semantics beyond what's in the schema, such as query format examples or limit usage context. This meets the baseline score of 3 since the schema already provides complete parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Search health articles on doktor.mx') and resource ('about medical conditions, treatments, symptoms, and prevention'), distinguishing it from sibling tools like buscar_doctor (doctors) or buscar_por_padecimiento (by condition). It explicitly mentions the return format (title, summary, link), which helps differentiate its purpose from other search tools in the set.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for searching health articles, but provides no explicit guidance on when to use this tool versus alternatives like buscar_por_padecimiento or buscar_por_sintoma. It mentions the types of content (medical conditions, treatments, etc.) but doesn't specify exclusions or compare to sibling tools, leaving the agent to infer context from tool names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

buscar_doctorA

Search for doctors in Mexico by medical specialty, city, state, or name. Returns a list of matching doctors with their specialties, location, ratings, contact info, and profile links on doktor.mx.

ParametersJSON Schema
NameRequiredDescriptionDefault
especialidadNoMedical specialty (e.g. "cardiologia", "Pediatria")
ciudadNoCity name (e.g. "monterrey", "Guadalajara")
estadoNoMexican state (e.g. "nuevo-leon", "Jalisco")
nombreNoDoctor name (e.g. "Juan Perez")
limitNoNumber of results (default 10, max 50)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the search behavior and return format (list with specialties, location, ratings, contact info, profile links), but doesn't mention rate limits, authentication requirements, pagination, or error handling. It adequately describes the core operation but lacks details about operational constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that efficiently communicates purpose, parameters, and return value without unnecessary words. It's front-loaded with the core functionality and provides complete information in minimal space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with no annotations and no output schema, the description provides good context about what the tool does and what it returns. It covers the search scope, parameters, and result format adequately. However, without annotations or output schema, it could benefit from more behavioral details like rate limits or error scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description mentions the same parameters (specialty, city, state, name) but doesn't add meaningful semantic context beyond what's in the schema. The baseline of 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Search for doctors'), resource ('doctors in Mexico'), and scope ('by medical specialty, city, state, or name'), distinguishing it from siblings like buscar_articulo_salud (search health articles) or verificar_cedula (verify credentials). It specifies the exact platform (doktor.mx) and what information is returned.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for doctor searches in Mexico, but doesn't explicitly state when to use this tool versus alternatives like buscar_por_padecimiento (search by condition) or buscar_por_seguro (search by insurance). It mentions filtering criteria but doesn't provide guidance on when to choose this tool over other search methods.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

buscar_por_padecimientoA

Given a medical condition or disease, find which specialists treat it and available doctors on doktor.mx. Returns recommended specialties, related health articles, and matching doctors.

ParametersJSON Schema
NameRequiredDescriptionDefault
padecimientoYesMedical condition or disease (e.g. "diabetes", "hipertension", "dolor de espalda")
ciudadNoFilter by city (e.g. "monterrey", "Ciudad de Mexico")
estadoNoFilter by state (e.g. "nuevo-leon", "Jalisco")
limitNoNumber of doctor results (default 10, max 30)

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but lacks critical behavioral details. It mentions what the tool returns (specialties, articles, doctors) but doesn't disclose permissions needed, rate limits, pagination behavior, or error handling. For a search tool with no annotation coverage, this leaves significant gaps in understanding its operational constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured in two sentences that front-load the core functionality and then specify the return values. Every sentence adds value without redundancy, making it appropriately sized and easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (4 parameters, no output schema, no annotations), the description covers the basic purpose and returns but lacks details about behavioral constraints, error cases, or relationship to sibling tools. It's minimally viable but has clear gaps that could hinder optimal tool selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema, but doesn't contradict it either. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't need to compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

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 specific verbs ('find which specialists treat it and available doctors') and resources ('medical condition or disease', 'doktor.mx'). It distinguishes from siblings by focusing on condition-based search rather than symptom, insurance, or doctor-specific searches, making its scope explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by specifying it's for finding specialists and doctors based on a medical condition, which differentiates it from tools like 'buscar_por_sintoma' or 'buscar_doctor'. However, it doesn't explicitly state when NOT to use it or name alternatives, leaving some ambiguity about overlapping use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

buscar_por_seguroA

Search for doctors on doktor.mx who accept a specific health insurance plan. Can be filtered by specialty and city.

ParametersJSON Schema
NameRequiredDescriptionDefault
seguroYesInsurance company name (e.g. "GNP", "AXA", "Mapfre", "MetLife")
especialidadNoFilter by specialty (e.g. "cardiologia", "Pediatria")
ciudadNoFilter by city (e.g. "monterrey", "Guadalajara")
limitNoNumber of results (default 10, max 30)

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but only states the basic functionality without disclosing behavioral traits like pagination, rate limits, authentication needs, error handling, or what happens when no results are found. It mentions filtering but doesn't explain how filters combine.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences front-load the core purpose and optional filters with zero wasted words. Every sentence earns its place by delivering essential information efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with no annotations and no output schema, the description adequately covers the basic purpose and filters but lacks completeness regarding behavioral aspects (e.g., result format, pagination, error cases) that would help an agent use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal value by mentioning specialty and city filters, but doesn't provide additional semantic context beyond what's in the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Search for doctors'), target resource ('on doktor.mx'), and key constraint ('who accept a specific health insurance plan'), distinguishing it from sibling tools like 'buscar_doctor' (general search) and 'buscar_por_padecimiento' (search by condition).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool (searching doctors by insurance plan with optional filters), but does not explicitly state when not to use it or name alternatives among sibling tools like 'buscar_doctor' or 'buscar_por_padecimiento'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

buscar_por_sintomaA

Given a symptom, suggest possible conditions and specialists on doktor.mx. Always includes a medical disclaimer. Does NOT provide diagnoses.

ParametersJSON Schema
NameRequiredDescriptionDefault
sintomaYesSymptom to search for (e.g. "dolor de cabeza", "fiebre", "mareos")
ciudadNoFilter doctors by city
limitNoNumber of doctor results (default 10, max 20)

TDQS

A3.5/5.0
Behavior3/5

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 adds useful context beyond basic functionality: it specifies the platform ('on doktor.mx'), includes a disclaimer requirement ('Always includes a medical disclaimer'), and clarifies limitations ('Does NOT provide diagnoses'). However, it doesn't mention other behavioral aspects like rate limits, authentication needs, or what happens with invalid inputs, which would be helpful for a tool with no 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise and well-structured: two sentences that efficiently convey purpose, platform, disclaimer requirement, and limitation. Every sentence earns its place, with no redundant or vague language, making it easy to parse and understand quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description provides adequate context for a simple search tool: it clarifies the tool's purpose, platform, and key behavioral notes (disclaimer, no diagnosis). However, it lacks details on output format, error handling, or integration with sibling tools, which could help an agent use it more effectively in a broader context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema (e.g., it doesn't explain how 'ciudad' interacts with symptom searching or clarify the 'limit' parameter's effect on results). Given the high schema coverage, a baseline score of 3 is appropriate as the description doesn't compensate with extra semantic details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Given a symptom, suggest possible conditions and specialists on doktor.mx.' It specifies the verb ('suggest') and resources ('possible conditions and specialists'), and distinguishes it from diagnosis tools by explicitly stating 'Does NOT provide diagnoses.' However, it doesn't explicitly differentiate from sibling tools like 'buscar_doctor' or 'buscar_por_padecimiento' beyond the symptom focus.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by mentioning 'Given a symptom' and specifying what it does NOT do ('Does NOT provide diagnoses'), which provides some guidance. However, it doesn't explicitly state when to use this tool versus alternatives like 'buscar_doctor' (which might search for doctors directly) or 'buscar_por_padecimiento' (which might search by condition rather than symptom), leaving room for ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ciudades_disponiblesB

List cities in Mexico that have registered doctors on doktor.mx. Can be filtered by state.

ParametersJSON Schema
NameRequiredDescriptionDefault
estadoNoFilter by state (e.g. "nuevo-leon", "Jalisco")

TDQS

B3.3/5.0
Behavior2/5

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 mentions filtering by state but doesn't describe other behaviors such as whether it returns all cities by default, pagination, error handling, or data format. For a tool with no annotation coverage, this leaves significant gaps in understanding its operational traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose and includes the optional filtering feature. There's no wasted text, and it's appropriately sized for a simple tool with one parameter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (one optional parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and filtering but lacks details on output format, error cases, or integration with siblings, leaving room for improvement in completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the single parameter 'estado' fully documented in the schema. The description adds marginal value by reiterating the filtering capability but doesn't provide additional semantics beyond what the schema already states (e.g., examples or edge cases). Baseline 3 is appropriate as the schema handles the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

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 ('cities in Mexico that have registered doctors on doktor.mx'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'estados_disponibles' (which likely lists states), leaving some ambiguity about when to use one versus the other.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by mentioning filtering by state, but doesn't provide explicit guidance on when to use this tool versus alternatives like 'estados_disponibles' or other search tools. It lacks clear when/when-not instructions or named alternatives, leaving usage context somewhat vague.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

especialidades_disponiblesA

List all available medical specialties in the doktor.mx directory with the number of registered doctors in each one.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the tool lists specialties with doctor counts, which suggests a read-only, non-destructive operation. However, it lacks details on potential rate limits, authentication needs, or error handling, which are important for a tool without annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that efficiently conveys the tool's purpose and output. It is front-loaded with the main action and includes no unnecessary details, making it highly concise and effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is complete enough for a basic listing operation. It explains what is returned, but could be improved by mentioning the format of the output (e.g., list structure) or any limitations, though this is less critical for such a straightforward tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 adds value by explaining what the tool returns (specialties with doctor counts), which goes beyond the schema. This justifies a baseline score above 3 for providing useful output semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('List all available medical specialties') and resource ('doktor.mx directory'), including additional context about the output ('with the number of registered doctors in each one'). It distinguishes itself from siblings like 'buscar_doctor' or 'ciudades_disponibles' by focusing on specialties rather than doctors, locations, or search functions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving a directory of specialties with doctor counts, but does not explicitly state when to use this tool versus alternatives like 'buscar_doctor' or 'buscar_por_padecimiento'. No exclusions or prerequisites are mentioned, leaving usage context somewhat open-ended.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

estados_disponiblesA

List states in Mexico that have registered doctors on doktor.mx, with the total number of doctors in each.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the tool lists states with registered doctors and includes counts, which is useful behavioral context. However, it does not mention potential limitations like rate limits, data freshness, or error conditions, leaving gaps in transparency for a read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that efficiently conveys the tool's purpose and output format. It is front-loaded with the main action and includes no redundant information, making it highly concise and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is largely complete. It explains what the tool does and what information it returns. However, without an output schema, it could benefit from more detail on the exact return format (e.g., structure of the list), slightly reducing completeness for agent invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 the schema fully documents the lack of inputs. The description adds value by clarifying the output includes state names and doctor counts, which is semantic context beyond the empty schema. Since there are no parameters, a baseline of 4 is appropriate as the description compensates with output details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('List states in Mexico'), the resource ('states with registered doctors on doktor.mx'), and includes a distinguishing detail ('with the total number of doctors in each'). It differentiates from siblings like 'ciudades_disponibles' by focusing on states rather than cities, making the purpose unambiguous and well-specified.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving state-level doctor statistics, but does not explicitly state when to use this tool versus alternatives like 'ciudades_disponibles' or 'buscar_doctor'. It provides clear context (listing states with doctors) but lacks explicit exclusions or named alternatives, leaving some ambiguity in tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verificar_cedulaB

Verify if a doctor has a valid professional license (cedula profesional) registered with the SEP (Mexico's education authority). Search by license number or doctor name.

ParametersJSON Schema
NameRequiredDescriptionDefault
cedulaNoProfessional license number (cedula profesional)
nombreNoDoctor name to search (e.g. "Juan Perez")

TDQS

B3.4/5.0
Behavior2/5

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. While it describes the verification purpose, it doesn't disclose important behavioral traits like whether this is a read-only operation, what happens with partial matches, rate limits, authentication requirements, or what the verification result looks like. For a tool with zero annotation coverage, this leaves significant gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly concise with two clear sentences that each earn their place. The first sentence establishes the core purpose, and the second specifies the search parameters. There's zero wasted language and it's front-loaded with the main functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a verification tool that likely returns structured results, the description is incomplete. It doesn't explain what constitutes 'valid' verification, what format the results take, whether partial name matches are supported, or any error conditions. For a tool with this complexity and no structured output documentation, the description should do more.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds minimal value beyond the schema by mentioning the search can be done 'by license number or doctor name,' which slightly reinforces the parameter purposes but doesn't provide additional semantic context beyond what's in the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('verify if a doctor has a valid professional license') and identifies the resource ('cedula profesional registered with SEP'). It distinguishes from sibling tools like 'buscar_doctor' by focusing specifically on license verification rather than general doctor search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by specifying search parameters (license number or doctor name), but doesn't explicitly state when to use this tool versus alternatives like 'buscar_doctor' or provide guidance on which parameter to prioritize. It gives basic usage context but lacks explicit alternatives or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ver_perfilA

Get the full profile of a specific doctor by their URL slug. Returns biography, specialties, office locations with addresses and hours, consultation prices, accepted insurance, patient reviews, and whether they have an AI booking assistant on doktor.mx.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesDoctor URL slug (e.g. "dr-juan-perez-monterrey")

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that the tool returns detailed profile data (biography, specialties, etc.) and mentions the source (doktor.mx), which is useful context. However, it lacks behavioral details like rate limits, authentication needs, or error handling, leaving gaps for a tool with no 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core action ('Get the full profile') and lists return details concisely. Every part adds value without redundancy, making it appropriately sized and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is fairly complete. It explains what the tool does and what it returns in detail. However, without annotations or output schema, it could benefit from more behavioral context (e.g., data freshness, limitations), slightly reducing completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the 'slug' parameter well-documented in the schema. The description adds minimal value beyond the schema by mentioning 'URL slug' and the example format, but doesn't provide additional syntax or constraints. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('full profile of a specific doctor'), specifying it's by URL slug. It distinguishes from sibling tools like 'buscar_doctor' (search) by focusing on retrieving detailed information for a known doctor, making the purpose specific and differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you have a doctor's URL slug to fetch their complete profile, contrasting with search tools like 'buscar_doctor' for finding doctors. However, it doesn't explicitly state when not to use it or name alternatives, leaving some guidance implicit rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 10 tool updatesv1.0.1
    • First observedbuscar_articulo_salud
    • First observedbuscar_doctor
    • First observedbuscar_por_padecimiento
    • First observedbuscar_por_seguro
    • First observedbuscar_por_sintoma
    • First observedciudades_disponibles
    • First observedespecialidades_disponibles
    • First observedestados_disponibles
    • First observedver_perfil
    • First observedverificar_cedula

TDQS

A3.8/5.0
Disambiguation4/5

Most tools have distinct purposes, such as searching for doctors, articles, or verifying licenses, but 'buscar_doctor' and 'buscar_por_padecimiento' overlap slightly in doctor search functionality, which could cause minor confusion. The descriptions help clarify differences, but some overlap exists.

Naming Consistency5/5

All tool names follow a consistent Spanish verb_noun pattern (e.g., buscar_articulo_salud, buscar_doctor, verificar_cedula), with no mixing of conventions like camelCase or snake_case. This makes the set predictable and easy to understand.

Tool Count5/5

With 10 tools, the server is well-scoped for a medical directory service, covering key areas like doctor search, article lookup, and verification. Each tool serves a clear purpose without being excessive or insufficient for the domain.

Completeness4/5

The tool set covers core operations for a medical directory, including search, listing, and verification, but lacks direct appointment booking or patient review submission tools, which are minor gaps that agents might need to work around. Overall, it supports most user workflows effectively.

Maintenance

ActivityInactive
ResponsivenessNo issues

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

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables AI assistants to securely access Epic Healthcare Systems patient data through FHIR R4 API integration. Provides tools for searching patients, retrieving clinical summaries, vital signs, medications, and generating healthcare reports with HIPAA-compliant OAuth 2.0 authentication.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides AI assistants with live, authenticated access to official Mexican data sources including CURP, RFC, postal codes, phone numbers, SPEI payments, CFDI status, DOF semantic search, and geocoding via INEGI/INE.
    MIT

Latest Blog Posts

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/VanguardiaAI/doktor-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server