docs-mcp

Remote MCP server for Tandem docs, install guides, SDKs, workflows, and agent setup help.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
86%
Integridad del esquema
92%
Calidad de los nombres
88%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (4)

  • LOWTool 'refresh_docs_index' description lacks action verben refresh_docs_index
  • LOWTool 'refresh_doc_page' description lacks action verben refresh_doc_page
  • LOWTool 'compare_docs_index_refresh' description lacks action verben compare_docs_index_refresh
  • LOWTool 'compare_doc_page_refresh' description lacks action verben compare_doc_page_refresh

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,786Tokens (definiciones de herramientas)
~1.0 KBTamaño de respuesta típico
Impacto moderado en la atención (1.40% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Disponibilidad

100.0%Disponible
832msLatencia promedio
hace 2mÚltimo éxito

Se sondea cada 10 minutos. Se muestran las últimas 100 muestras.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "docs-mcp": {
      "url": "https://tandem.ac/mcp"
    }
  }
}

Puntos de conexión remotos

https://tandem.ac/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (13)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢search_docs(query, docs_ref, engine_version, limit, audience)

Search the published Tandem docs index for relevant pages.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "The Tandem question, task, or keyword query to search for."
    },
    "docs_ref": {
      "type": "string",
      "description": "Docs channel or immutable ref. Defaults to stable. Use next, refs/<sha>, or releases/<version> only when explicitly needed."
    },
    "engine_version": {
      "type": "string",
      "description": "Optional Tandem engine version hint. If supplied without docs_ref, the MCP still defaults to stable unless a matching versioned docs ref is configured."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "description": "Maximum number of matching docs pages to return."
    },
    "audience": {
      "type": "string",
      "description": "Optional audience filter such as developer, desktop user, or operator."
    }
  },
  "required": [
    "query"
  ]
}
🟢get_doc(path, docs_ref, engine_version)

Fetch and normalize a published Tandem docs page by path or URL.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "path": {
      "type": "string",
      "description": "Docs path like /sdk/python/ or a full Tandem docs URL."
    },
    "docs_ref": {
      "type": "string",
      "description": "Docs channel or immutable ref. Defaults to stable."
    },
    "engine_version": {
      "type": "string",
      "description": "Optional Tandem engine version hint for compatibility checks."
    }
  },
  "required": [
    "path"
  ]
}
🟢get_start_path(role, docs_ref)

Recommend the best Tandem docs starting path for a desktop user, server admin, or developer.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "role": {
      "type": "string",
      "enum": [
        "desktop",
        "server_admin",
        "developer"
      ],
      "description": "The user role to optimize the docs starting point for."
    },
    "docs_ref": {
      "type": "string",
      "description": "Docs channel or immutable ref. Defaults to stable."
    }
  },
  "required": [
    "role"
  ]
}
🟢recommend_next_docs(current_path, docs_ref, goal, limit)

Recommend the next Tandem docs to read after a current page, optionally biased toward a goal.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "current_path": {
      "type": "string",
      "description": "Current Tandem docs path the user has already read."
    },
    "docs_ref": {
      "type": "string",
      "description": "Docs channel or immutable ref. Defaults to stable."
    },
    "goal": {
      "type": "string",
      "description": "Optional goal such as install Tandem, use the Python SDK, or build workflows."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 10,
      "description": "Maximum number of next-doc recommendations to return."
    }
  },
  "required": [
    "current_path"
  ]
}
🟢answer_how_to(task, docs_ref, engine_version, audience, limit)

Answer how to install or use Tandem, build workflows, or use the SDKs by synthesizing relevant published docs.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "task": {
      "type": "string",
      "description": "The Tandem task or question that needs a docs-grounded answer."
    },
    "docs_ref": {
      "type": "string",
      "description": "Docs channel or immutable ref. Defaults to stable."
    },
    "engine_version": {
      "type": "string",
      "description": "Optional Tandem engine version hint. Prefer stable docs for installed engines."
    },
    "audience": {
      "type": "string",
      "description": "Optional audience hint such as developer, desktop user, or operator."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 10,
      "description": "Maximum number of supporting docs recommendations to include."
    }
  },
  "required": [
    "task"
  ]
}
🟢get_tandem_guide(topic, docs_ref)

Return a structured Tandem learning guide for install-engine, python-sdk, typescript-sdk, build-workflows, or headless-deploy.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "topic": {
      "type": "string",
      "enum": [
        "install-engine",
        "python-sdk",
        "typescript-sdk",
        "build-workflows",
        "headless-deploy"
      ],
      "description": "Named Tandem learning guide to return."
    },
    "docs_ref": {
      "type": "string",
      "description": "Docs channel or immutable ref. Defaults to stable."
    }
  },
  "required": [
    "topic"
  ]
}
⚪warmup_docs_cache(force_refresh, docs_ref)

Refresh the docs index and preload the most important Tandem docs pages into cache.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "force_refresh": {
      "type": "boolean",
      "description": "Whether to bypass cache and force fresh upstream fetches first."
    },
    "docs_ref": {
      "type": "string",
      "description": "Docs channel or immutable ref. Defaults to stable."
    }
  }
}
🟢get_docs_cache_status

Inspect the current docs cache state for index sources and warmed pages.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
⚪refresh_docs_index(force_refresh, docs_ref)

Force-refresh docs indexes and report whether data came from the network, cache, or stale fallback.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "force_refresh": {
      "type": "boolean",
      "description": "Whether to bypass cache and force a network refresh attempt."
    },
    "docs_ref": {
      "type": "string",
      "description": "Docs channel or immutable ref. Defaults to stable."
    }
  }
}
⚪refresh_doc_page(path, docs_ref, force_refresh)

Force-refresh a docs page and report whether content came from the network, cache, or stale fallback.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "path": {
      "type": "string",
      "description": "Docs path like /start-here/ or /sdk/python/ to refresh."
    },
    "docs_ref": {
      "type": "string",
      "description": "Docs channel or immutable ref. Defaults to stable."
    },
    "force_refresh": {
      "type": "boolean",
      "description": "Whether to bypass cache and force a network refresh attempt."
    }
  },
  "required": [
    "path"
  ]
}
⚪invalidate_docs_cache(target, path, docs_ref)

Invalidate docs cache entries for index data, all pages, or a specific page path.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "target": {
      "type": "string",
      "enum": [
        "all",
        "index",
        "pages",
        "page"
      ],
      "description": "Which cache area to invalidate."
    },
    "path": {
      "type": "string",
      "description": "Required when target is page; identifies the specific docs path to invalidate."
    },
    "docs_ref": {
      "type": "string",
      "description": "Optional docs ref to scope page/index cache invalidation."
    }
  }
}
⚪compare_docs_index_refresh(docs_ref)

Force-refresh the docs indexes and return before/after hashes so content changes can be proven.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "docs_ref": {
      "type": "string",
      "description": "Docs channel or immutable ref. Defaults to stable."
    }
  }
}
⚪compare_doc_page_refresh(path, docs_ref)

Force-refresh a docs page and return before/after hashes so page content changes can be proven.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "path": {
      "type": "string",
      "description": "Docs path like /start-here/ or /sdk/python/ to compare before and after refresh."
    },
    "docs_ref": {
      "type": "string",
      "description": "Docs channel or immutable ref. Defaults to stable."
    }
  },
  "required": [
    "path"
  ]
}

Comparar

Comparación con similares

Compara este servidor con otros de la misma categoría.

Herramientas:0
Herramientas:0
Herramientas:0
Herramientas:0
Herramientas:0

Historial de versiones

desconocido → desconocido
10/4/2026
Initial manifest with 13 tools
Detalles
Agregado:
  • + search_docs
  • + get_doc
  • + get_start_path
  • + recommend_next_docs
  • + answer_how_to
  • + get_tandem_guide
  • + warmup_docs_cache
  • + get_docs_cache_status
  • + refresh_docs_index
  • + refresh_doc_page
  • + invalidate_docs_cache
  • + compare_docs_index_refresh
  • + compare_doc_page_refresh
desconocido → desconocido
10/4/2026
Initial manifest with 13 tools
Detalles
Agregado:
  • + search_docs
  • + get_doc
  • + get_start_path
  • + recommend_next_docs
  • + answer_how_to
  • + get_tandem_guide
  • + warmup_docs_cache
  • + get_docs_cache_status
  • + refresh_docs_index
  • + refresh_doc_page
  • + invalidate_docs_cache
  • + compare_docs_index_refresh
  • + compare_doc_page_refresh
desconocido → desconocido
10/4/2026
Initial manifest with 13 tools
Detalles
Agregado:
  • + search_docs
  • + get_doc
  • + get_start_path
  • + recommend_next_docs
  • + answer_how_to
  • + get_tandem_guide
  • + warmup_docs_cache
  • + get_docs_cache_status
  • + refresh_docs_index
  • + refresh_doc_page
  • + invalidate_docs_cache
  • + compare_docs_index_refresh
  • + compare_doc_page_refresh
desconocido → desconocido
10/4/2026
Initial manifest with 13 tools
Detalles
Agregado:
  • + search_docs
  • + get_doc
  • + get_start_path
  • + recommend_next_docs
  • + answer_how_to
  • + get_tandem_guide
  • + warmup_docs_cache
  • + get_docs_cache_status
  • + refresh_docs_index
  • + refresh_doc_page
  • + invalidate_docs_cache
  • + compare_docs_index_refresh
  • + compare_doc_page_refresh
desconocido → desconocido
10/4/2026
Initial manifest with 13 tools
Detalles
Agregado:
  • + search_docs
  • + get_doc
  • + get_start_path
  • + recommend_next_docs
  • + answer_how_to
  • + get_tandem_guide
  • + warmup_docs_cache
  • + get_docs_cache_status
  • + refresh_docs_index
  • + refresh_doc_page
  • + invalidate_docs_cache
  • + compare_docs_index_refresh
  • + compare_doc_page_refresh
desconocido → desconocido
10/3/2026
Initial manifest with 13 tools
Detalles
Agregado:
  • + search_docs
  • + get_doc
  • + get_start_path
  • + recommend_next_docs
  • + answer_how_to
  • + get_tandem_guide
  • + warmup_docs_cache
  • + get_docs_cache_status
  • + refresh_docs_index
  • + refresh_doc_page
  • + invalidate_docs_cache
  • + compare_docs_index_refresh
  • + compare_doc_page_refresh
desconocido → desconocido
10/3/2026
Initial manifest with 13 tools
Detalles
Agregado:
  • + search_docs
  • + get_doc
  • + get_start_path
  • + recommend_next_docs
  • + answer_how_to
  • + get_tandem_guide
  • + warmup_docs_cache
  • + get_docs_cache_status
  • + refresh_docs_index
  • + refresh_doc_page
  • + invalidate_docs_cache
  • + compare_docs_index_refresh
  • + compare_doc_page_refresh
desconocido → desconocido
10/3/2026
Initial manifest with 13 tools
Detalles
Agregado:
  • + search_docs
  • + get_doc
  • + get_start_path
  • + recommend_next_docs
  • + answer_how_to
  • + get_tandem_guide
  • + warmup_docs_cache
  • + get_docs_cache_status
  • + refresh_docs_index
  • + refresh_doc_page
  • + invalidate_docs_cache
  • + compare_docs_index_refresh
  • + compare_doc_page_refresh
desconocido → desconocido
10/3/2026
Initial manifest with 13 tools
Detalles
Agregado:
  • + search_docs
  • + get_doc
  • + get_start_path
  • + recommend_next_docs
  • + answer_how_to
  • + get_tandem_guide
  • + warmup_docs_cache
  • + get_docs_cache_status
  • + refresh_docs_index
  • + refresh_doc_page
  • + invalidate_docs_cache
  • + compare_docs_index_refresh
  • + compare_doc_page_refresh
desconocido → desconocido
10/3/2026
Initial manifest with 13 tools
Detalles
Agregado:
  • + search_docs
  • + get_doc
  • + get_start_path
  • + recommend_next_docs
  • + answer_how_to
  • + get_tandem_guide
  • + warmup_docs_cache
  • + get_docs_cache_status
  • + refresh_docs_index
  • + refresh_doc_page
  • + invalidate_docs_cache
  • + compare_docs_index_refresh
  • + compare_doc_page_refresh

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada13 herramientas
verificadoversión no registrada13 herramientas
verificadoversión no registrada13 herramientas