Skip to main content
Glama
guillelagoria

DOOR Knowledge MCP Server

DOOR Knowledge MCP Server

Servidor MCP (Model Context Protocol) para acceder a la base de conocimiento de soporte de DOOR.

Características

  • 📚 Documentos de support.door.com (artículos + PDFs convertidos)

  • 🔍 Búsqueda rápida con índice pre-generado

  • 🌐 API HTTP para acceso remoto (desplegado en Railway)

  • 🔄 Sincronización incremental de contenido

  • ⚡ Sin necesidad de descargar repositorio (usando cliente HTTP)

Related MCP server: MoEngage Documentation MCP Server

Instalación Rápida (Recomendado)

Para usuarios de Claude Desktop, la forma más fácil es usar el cliente HTTP remoto:

1. Configurar Claude Desktop

Abre tu archivo de configuración:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Agrega esta configuración:

{
  "mcpServers": {
    "door-knowledge": {
      "command": "npx",
      "args": ["-y", "mcp-http-client", "https://knowledge-mcp-production.up.railway.app"]
    }
  }
}

2. Reinicia Claude Desktop

¡Listo! Ya puedes preguntarle a Claude sobre documentación de Door sin descargar nada.

Ventajas de esta instalación:

  • ✅ No descargas archivos grandes

  • ✅ Instalación en 30 segundos

  • ✅ Siempre tienes la última versión

  • ✅ Funciona en cualquier plataforma

  • ✅ No necesitas conocimientos técnicos

Cliente HTTP: https://github.com/guillelagoria/mcp-http-client


Instalación Local (Para Desarrolladores)

# Instalar dependencias
npm install

# Sincronizar artículos de support.door.com
npm run sync

# Construir índice de búsqueda
npm run build-index

# Iniciar servidor MCP local
npm start

# O iniciar servidor HTTP
npm run start-http

Uso

Servidor MCP Local (para Claude Desktop)

Si prefieres ejecutar el servidor localmente (por ejemplo, para desarrollo):

{
  "mcpServers": {
    "door-knowledge": {
      "command": "node",
      "args": ["/ruta/absoluta/a/door-support-mcp/door-knowledge-mcp-server.js"]
    }
  }
}

Nota: Este método requiere descargar el repositorio completo. Para uso normal, recomendamos usar el cliente HTTP (ver arriba).

API HTTP

El servidor HTTP está desplegado en Railway y expone los siguientes endpoints:

Base URL: https://knowledge-mcp-production.up.railway.app

  • GET /health - Estado del servidor

  • GET /api/search?query=<term>&category=<cat>&limit=<num> - Búsqueda de documentos

  • GET /api/document?id=<doc_id> - Obtener documento completo

  • GET /api/categories - Listar categorías

Ejemplos:

# Health check
curl "https://knowledge-mcp-production.up.railway.app/health"

# Buscar documentos
curl "https://knowledge-mcp-production.up.railway.app/api/search?query=installation&limit=5"

# Listar categorías
curl "https://knowledge-mcp-production.up.railway.app/api/categories"

# Obtener documento específico
curl "https://knowledge-mcp-production.up.railway.app/api/document?id=DOCUMENT_ID"

Herramientas Disponibles

Una vez conectado a través de Claude Desktop, tendrás acceso a estas herramientas:

  1. search_door_knowledge - Buscar documentos por query

  2. get_door_document - Obtener contenido completo de un documento

  3. list_door_categories - Listar todas las categorías disponibles

Ejemplos de uso con Claude:

  • "Busca guías de instalación de Door"

  • "Muéstrame todos los runbooks disponibles"

  • "¿Qué categorías de documentación hay disponibles?"

  • "Dame el contenido completo del documento XYZ"

Scripts Disponibles

  • npm start - Iniciar servidor MCP

  • npm run start-http - Iniciar servidor HTTP

  • npm run sync - Sincronizar artículos de Door

  • npm run build-index - Construir índice de búsqueda

  • npm run clean - Limpiar PDFs procesados

  • npm run reprocess - Reprocesar todo desde cero

Despliegue en Railway

Este proyecto está configurado para desplegarse fácilmente en Railway.app:

  1. Conecta el repositorio a Railway

  2. Railway detectará automáticamente el Dockerfile

  3. El proyecto se construirá y desplegará automáticamente

  4. El health check estará disponible en /health

Estructura del Proyecto

door-support-mcp/
├── door_knowledge_base/     # Base de conocimiento extraída
├── door-knowledge-sync.js   # Sincronización de contenido
├── door-knowledge-mcp-server.js  # Servidor MCP
├── server-http.js            # Servidor HTTP
├── build-search-index-complete.js # Constructor de índice
├── package.json
├── Dockerfile
└── railway.json

Licencia

MIT

Available Tools

3 tools
get_door_documentA

Obtiene el contenido completo de un documento específico de la DOOR Knowledge Base. Usa el ID obtenido de search_door_knowledge.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_idYesID del documento (obtenido de search_door_knowledge)

TDQS

A4.1/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 describes the tool as retrieving full content, which implies a read-only operation, but lacks details on permissions, rate limits, error handling, or output format. The description adds basic context but misses key behavioral 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 two concise sentences with zero waste: the first states the purpose, and the second provides usage guidance. It is front-loaded and every sentence earns its place by adding value.

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 parameter, no output schema, no annotations), the description is adequate but incomplete. It covers purpose and usage well but lacks details on output format, error cases, or behavioral constraints, which are important for a tool without annotations.

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 the single parameter 'document_id' with its description. The description adds no additional meaning beyond what the schema provides, such as format examples or constraints, meeting the baseline for high schema coverage.

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 ('Obtiene el contenido completo') and resource ('un documento específico de la DOOR Knowledge Base'), distinguishing it from sibling tools like list_door_categories and search_door_knowledge by focusing on retrieving full content of a single document rather than listing categories or searching.

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

Usage Guidelines5/5

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

It explicitly states when to use this tool ('Usa el ID obtenido de search_door_knowledge'), providing a clear prerequisite and distinguishing it from the sibling tool search_door_knowledge, which is used to obtain the ID needed here.

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

list_door_categoriesB

Lista todas las categorías y subcategorías disponibles en la DOOR Knowledge Base con conteo de documentos.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/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 mentions the tool lists categories with document counts, but doesn't describe return format, pagination, error conditions, or performance characteristics. For a tool with zero annotation coverage, this leaves significant behavioral 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 a single, efficient sentence in Spanish that communicates the core functionality without unnecessary words. It's appropriately sized for a simple listing tool and front-loads the 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 simplicity (0 parameters, no annotations, no output schema), the description provides adequate basic information about what the tool does. However, without annotations or output schema, it should ideally describe the return format more explicitly to help the agent understand what to expect from the response.

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 baseline is 4. The description appropriately doesn't discuss parameters since none exist, and it adds value by explaining what the tool returns (categories, subcategories, and document counts).

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: listing all categories and subcategories with document counts from the DOOR Knowledge Base. It uses specific verbs ('Lista todas') and identifies the resource ('categorías y subcategorías'), though it doesn't explicitly differentiate from sibling tools like 'get_door_document' or 'search_door_knowledge'.

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

Usage Guidelines2/5

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 sibling tools or suggest scenarios where this listing tool would be preferred over 'search_door_knowledge' or 'get_door_document', leaving the agent without contextual usage direction.

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

search_door_knowledgeA

Busca documentos en la DOOR Knowledge Base por palabras clave, categorías o contenido. Retorna una lista de documentos relevantes con resúmenes. Es MUY RÁPIDO porque usa un índice pre-generado.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesTérmino de búsqueda (ej: "installation", "latch m", "intercom", "wiring")
categoryNoFiltrar por categoría específica (opcional). Usa list_door_categories para ver las disponibles.
limitNoNúmero máximo de resultados (default: 10)

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and adds valuable behavioral context: it discloses that the tool is 'MUY RÁPIDO porque usa un índice pre-generado' (performance characteristic) and describes the return format ('lista de documentos relevantes con resúmenes'). It doesn't cover aspects like error handling or authentication needs, but provides useful operational insights.

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 purpose and methods, the second adds performance context and return format. Every sentence earns its place with no wasted words, and key information is front-loaded.

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 is reasonably complete: it covers purpose, methods, performance, and return format. However, it doesn't specify what 'documentos relevantes' entails (e.g., ranking criteria) or error scenarios, leaving some gaps in operational 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 parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't explain how 'query' interacts with 'category' or provide search syntax examples). Baseline 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 specific action ('Busca documentos') and resource ('en la DOOR Knowledge Base'), with distinct search methods ('por palabras clave, categorías o contenido') that differentiate it from sibling tools like 'get_door_document' (which presumably retrieves a specific document) and 'list_door_categories' (which lists categories).

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 documents by keywords, categories, or content) and implicitly references 'list_door_categories' for available categories in the input schema. However, it lacks explicit guidance on when NOT to use it or direct alternatives to sibling tools.

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

TDQS

A3.7/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: get_door_document retrieves a specific document by ID, list_door_categories lists categories with counts, and search_door_knowledge searches for documents using keywords or categories. There is no overlap in functionality, making it easy for an agent to select the right tool.

Naming Consistency5/5

All tool names follow a consistent snake_case pattern with a clear verb_noun structure (get_door_document, list_door_categories, search_door_knowledge). The naming is predictable and enhances readability across the tool set.

Tool Count3/5

With only 3 tools, the server feels thin for a knowledge base domain, as it lacks operations like creating, updating, or deleting documents or categories. While the tools cover basic retrieval and listing, the count is borderline for comprehensive coverage.

Completeness2/5

The tool surface is significantly incomplete for a knowledge base server. It only supports read operations (get, list, search) with no ability to create, update, or delete documents or categories. This will cause agent failures when full lifecycle management is needed.

Maintenance

ActivityInactive
ResponsivenessSyncing

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

  • F
    license
    B
    quality
    F
    maintenance
    Transform your non-existent or unreadable docs into an intelligent, searchable knowledge base that actually answers those 'basic questions' before they're asked.
    11
    35
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Provides comprehensive access to MoEngage documentation from developers, help, and partners portals with full-text search, automatic updates, and intelligent filtering by platform, category, and source.
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables semantic search of project documentation using hybrid vector and full-text search with fast and deep query modes for immediate results or complex multi-round synthesis.
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Crawls documentation websites and provides semantic search capabilities over the content through vector embeddings, enabling natural language queries of technical documentation.
    2

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/guillelagoria/door-support-mcp'

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