# DesarrolloMCP

> Curso de MCP en español: busca lecciones y artículos; con tu cuenta, tu progreso y tus lecciones.

- name: com.desarrollomcp/desarrollomcp
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 82/100 flags: no-repository
- quality: 87/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.desarrollomcp%2Fdesarrollomcp
- tools: https://api.protogrid.dev/v1/servers/com.desarrollomcp%2Fdesarrollomcp/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "desarrollomcp": {
      "type": "http",
      "url": "https://desarrollomcp.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 97
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-92% +updated-3d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 87/100 (new)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 9 of 9 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: leer_leccion (destructiveHint); ver_temario (destructiveHint); buscar (destructiveHint); …
- pass `tools.token_cost`: about 1,658 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 3 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 9, about 1,658 tokens to load them all
- tool set hash: a7a26f6643c2aa54eb96e997c3f6716c
- tools last changed: 2026-10-18T08:03:29.817Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.desarrollomcp/desarrollomcp.svg)](https://protogrid.dev/servers/com.desarrollomcp/desarrollomcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-18 `leer_leccion` changed (description, inputSchema)
  - before: Texto completo de una lección del curso, en Markdown, si el alumno tiene acceso (la 01 y el Básico con su cuenta; Avanzado y Experto si los ha comprado). Si no tiene acceso, devuelve la ficha pública y cómo conseguirlo. Necesita iniciar sesión.
  - after: Texto completo de una lección del curso, en Markdown, si el alumno tiene acceso (la 01 y el Básico con su cuenta; Avanzado y Experto si los ha comprado). Si no tiene acceso, devuelve la ficha pública y cómo conseguirlo. Necesita iniciar sesión. Úsala para estudiar o explicar una lección concreta con su texto; para saber de qué trata sin cuenta basta ver_leccion. Máximo 60 lecciones al día por alumno desde el servidor MCP; en la web no hay límite.
- 2026-10-18 `mi_progreso` changed (description)
  - before: Progreso del alumno en el curso: lecciones completadas por nivel, las últimas que terminó y la siguiente que le toca, con su URL. Necesita iniciar sesión.
  - after: Progreso del alumno en el curso: lecciones completadas por nivel, porcentaje, las últimas cinco que terminó y la siguiente que le toca, con su URL. Necesita iniciar sesión. Úsala cuando la persona pregunte por dónde va o qué estudiar ahora; después puedes abrir la siguiente lección con leer_leccion. No tiene parámetros.
- 2026-10-18 `mi_cuenta` changed (description)
  - before: Datos de la cuenta del alumno que ha iniciado sesión: email, nivel del curso al que tiene acceso, fecha de alta y, si no tiene el nivel más alto, cómo ampliarlo. Necesita iniciar sesión.
  - after: Datos de la cuenta del alumno que ha iniciado sesión: email, nivel del curso al que tiene acceso, niveles con acceso, fecha de alta y, si no tiene el nivel más alto, cómo ampliarlo. Necesita iniciar sesión. Úsala para saber qué puede leer la persona antes de recomendarle lecciones o un plan; para lo que lleva hecho, usa mi_progreso, y para los precios, ver_planes. No tiene parámetros.
- 2026-10-18 `leer_articulo` changed (description, inputSchema) **meaning changed**
  - before: Texto completo de un artículo del blog en Markdown, con su título, fecha, URL y las lecciones del curso relacionadas.
  - after: Texto completo de un artículo del blog en Markdown, con su título, fecha, URL y las lecciones del curso relacionadas. No necesita cuenta. Úsala cuando ya tienes el slug (de buscar o listar_articulos) y necesitas el contenido para responder o resumir; cita la URL del artículo. Si el slug no existe, búscalo con buscar.
- 2026-10-18 `listar_articulos` changed (description, inputSchema) **meaning changed**
  - before: Artículos publicados del blog, del más reciente al más antiguo, con fecha, tema, resumen y URL. Se puede filtrar por tema y paginar.
  - after: Artículos publicados del blog, del más reciente al más antiguo, con slug, fecha, tema, resumen y URL. Se puede filtrar por tema y paginar. Úsala para ver las novedades o todo lo publicado sobre un tema; si buscas algo concreto, usa buscar. Lee después el que interese con leer_articulo. Si hay_mas es true, vuelve a llamarla con desde igual a la posición siguiente.
- 2026-10-18 `ver_planes` changed (description) **meaning changed**
  - before: Niveles del curso con su precio en euros (pago único, sin suscripción), qué incluye cada uno y la garantía de devolución.
  - after: Niveles del curso con su precio en euros (pago único, sin suscripción), qué incluye cada uno, la garantía de devolución de 14 días y la URL de la página de planes. Úsala cuando la persona pregunte por precios, qué nivel comprar o qué incluye cada uno. Para saber qué tiene ya la persona, usa mi_cuenta. La compra se hace en la web, no desde aquí. No tiene parámetros.
- 2026-10-18 `ver_leccion` changed (description, inputSchema) **meaning changed**
  - before: Ficha pública de una lección: resumen, objetivos, secciones, tiempo de lectura, cómo se accede y URL. No devuelve el cuerpo de la lección, que solo se lee en la web.
  - after: Ficha pública de una lección: resumen, objetivos, secciones, tiempo de lectura, cómo se accede y URL. No devuelve el cuerpo de la lección. Úsala para explicar qué enseña una lección sin necesidad de cuenta. Para el texto completo, usa leer_leccion (pide iniciar sesión y acceso al nivel) o enlaza la URL. Si el slug no existe, llama a ver_temario para ver los válidos.
- 2026-10-18 `ver_temario` changed (description, inputSchema)
  - before: Lista las lecciones del curso de MCP (26 en tres niveles: Básico, Avanzado y Experto) con su slug, título, descripción, nivel y cómo se accede a cada una.
  - after: Lista las lecciones del curso de MCP (26 en tres niveles: Básico, Avanzado y Experto) con su slug, título, descripción, nivel y cómo se accede a cada una, más el precio y el resumen de cada nivel. Úsala para enseñar el plan de estudios completo o para obtener el slug de una lección; para un tema concreto es mejor buscar. Con el slug, ver_leccion da la ficha pública y leer_leccion el texto completo.
- 2026-10-18 `buscar` changed (description, inputSchema) **meaning changed**
  - before: Busca por palabras en las lecciones del curso y en los artículos del blog. Devuelve título, resumen, tipo y URL de cada resultado, los más relevantes primero.
  - after: Busca por palabras en las lecciones del curso y en los artículos del blog. Devuelve título, resumen, tipo (articulo o leccion), id (el slug que piden las demás herramientas) y URL de cada resultado, los más relevantes primero. Úsala primero cuando la persona pregunta por un tema y no sabes qué página lo trata. Después, lee el resultado con leer_articulo (artículos) o con ver_leccion / leer_leccion (lecciones). Si no hay resultados, prueba con sinónimos o en inglés, o recorre todo con ver_temario y listar_articulos.

Full history: https://api.protogrid.dev/v1/servers/com.desarrollomcp%2Fdesarrollomcp/changes

## Remotes

- https://desarrollomcp.com/mcp (streamable-http, auth none, reachable true, uptime30d 0.9166667)

## Packages

_none_

## Tools (9)

- `buscar`: Busca por palabras en las lecciones del curso y en los artículos del blog. Devuelve título, resumen, tipo (articulo o leccion), id (el slug que piden las demás herramientas) y URL de cada resultado, los más relevantes primero. Úsala primero cuando la persona pregunta por un tema y no sabes qué página lo trata. Después, lee el resultado con leer_articulo (artículos) o con ver_leccion / leer_leccion (lecciones). Si no hay resultados, prueba con sinónimos o en inglés, o recorre todo con ver_temario y listar_articulos.
- `leer_articulo`: Texto completo de un artículo del blog en Markdown, con su título, fecha, URL y las lecciones del curso relacionadas. No necesita cuenta. Úsala cuando ya tienes el slug (de buscar o listar_articulos) y necesitas el contenido para responder o resumir; cita la URL del artículo. Si el slug no existe, búscalo con buscar.
- `leer_leccion`: Texto completo de una lección del curso, en Markdown, si el alumno tiene acceso (la 01 y el Básico con su cuenta; Avanzado y Experto si los ha comprado). Si no tiene acceso, devuelve la ficha pública y cómo conseguirlo. Necesita iniciar sesión. Úsala para estudiar o explicar una lección concreta con su texto; para saber de qué trata sin cuenta basta ver_leccion. Máximo 60 lecciones al día por alumno desde el servidor MCP; en la web no hay límite.
- `listar_articulos`: Artículos publicados del blog, del más reciente al más antiguo, con slug, fecha, tema, resumen y URL. Se puede filtrar por tema y paginar. Úsala para ver las novedades o todo lo publicado sobre un tema; si buscas algo concreto, usa buscar. Lee después el que interese con leer_articulo. Si hay_mas es true, vuelve a llamarla con desde igual a la posición siguiente.
- `mi_cuenta`: Datos de la cuenta del alumno que ha iniciado sesión: email, nivel del curso al que tiene acceso, niveles con acceso, fecha de alta y, si no tiene el nivel más alto, cómo ampliarlo. Necesita iniciar sesión. Úsala para saber qué puede leer la persona antes de recomendarle lecciones o un plan; para lo que lleva hecho, usa mi_progreso, y para los precios, ver_planes. No tiene parámetros.
- `mi_progreso`: Progreso del alumno en el curso: lecciones completadas por nivel, porcentaje, las últimas cinco que terminó y la siguiente que le toca, con su URL. Necesita iniciar sesión. Úsala cuando la persona pregunte por dónde va o qué estudiar ahora; después puedes abrir la siguiente lección con leer_leccion. No tiene parámetros.
- `ver_leccion`: Ficha pública de una lección: resumen, objetivos, secciones, tiempo de lectura, cómo se accede y URL. No devuelve el cuerpo de la lección. Úsala para explicar qué enseña una lección sin necesidad de cuenta. Para el texto completo, usa leer_leccion (pide iniciar sesión y acceso al nivel) o enlaza la URL. Si el slug no existe, llama a ver_temario para ver los válidos.
- `ver_planes`: Niveles del curso con su precio en euros (pago único, sin suscripción), qué incluye cada uno, la garantía de devolución de 14 días y la URL de la página de planes. Úsala cuando la persona pregunte por precios, qué nivel comprar o qué incluye cada uno. Para saber qué tiene ya la persona, usa mi_cuenta. La compra se hace en la web, no desde aquí. No tiene parámetros.
- `ver_temario`: Lista las lecciones del curso de MCP (26 en tres niveles: Básico, Avanzado y Experto) con su slug, título, descripción, nivel y cómo se accede a cada una, más el precio y el resumen de cada nivel. Úsala para enseñar el plan de estudios completo o para obtener el slug de una lección; para un tema concreto es mejor buscar. Con el slug, ver_leccion da la ficha pública y leer_leccion el texto completo.
