Skip to main content
Glama

MCP Office Interop Word Server

Servidor de Word de interoperabilidad de MCP Office

Este proyecto implementa un servidor de Protocolo de Contexto de Modelo (MCP) que permite la interacción con documentos de Microsoft Word utilizando interoperabilidad COM en Windows.

Proporciona herramientas MCP para realizar tareas comunes de procesamiento de textos mediante programación.

Características

  • Envuelve operaciones comunes de Microsoft Word a través de interoperabilidad COM ( winax ).
  • Expone la funcionalidad como herramientas MCP.
  • Admite transportes stdio y sse para la comunicación MCP.
  • Creado con TypeScript y utiliza @modelcontextprotocol/sdk .

Prerrequisitos

  • Node.js (se recomienda v18 o posterior)
  • npm
  • Microsoft Word instalado en una máquina Windows.

Instalación

  1. Clonar el repositorio o descargar el código fuente.
  2. Navegue hasta el directorio del proyecto en su terminal.
  3. Instalar dependencias:
    npm install

Edificio

Para compilar el código TypeScript en JavaScript:

npm run build

Esto enviará los archivos compilados al directorio dist .

Ejecución del servidor

El servidor puede ejecutarse utilizando dos transportes MCP diferentes: stdio o sse .

Transporte de stdio

Este es el modo predeterminado. Es adecuado para clientes locales que se comunican mediante entrada/salida estándar.

npm start

o

node dist/index.js

Conecte su cliente MCP (por ejemplo, MCP Inspector) utilizando el método stdio, apuntando al comando node dist/index.js .

Transporte SSE (eventos enviados por el servidor)

Este modo utiliza HTTP y eventos enviados por el servidor, adecuados para clientes remotos o basados en la web.

Potencia Shell:

$env:MCP_TRANSPORT="sse"; npm start

Bash / Cmd:

MCP_TRANSPORT=sse npm start

El servidor iniciará un servidor HTTP, normalmente en el puerto 3001 (o el puerto especificado por la variable de entorno PORT ).

  • Punto final de SSE: http://localhost:3001/sse
  • Punto final del mensaje (para POST del cliente): http://localhost:3001/messages

Conecte su cliente MCP utilizando el método SSE, proporcionando la URL del punto final SSE.

Herramientas disponibles

El servidor expone las siguientes herramientas (los nombres de las herramientas tienen el prefijo word_ ):

Operaciones de documentos:

  • word_createDocument : crea un nuevo documento de Word en blanco.
  • word_openDocument : abre un documento existente.
    • filePath (cadena): ruta absoluta al documento.
  • word_saveActiveDocument : guarda el documento actualmente activo.
  • word_saveActiveDocumentAs : guarda el documento activo en una nueva ruta/formato.
    • filePath (cadena): ruta absoluta donde guardar.
    • fileFormat (número, opcional): valor numérico WdSaveFormat (por ejemplo, 16 para docx, 17 para pdf).
  • word_closeActiveDocument : Cierra el documento activo.
    • saveChanges (número, opcional): valor de WdSaveOptions (0=No, -1=Sí, -2=Preguntar). Valor predeterminado: 0.

Manipulación de texto:

  • word_insertText : Inserta texto en la selección.
    • text (cadena): Texto a insertar.
  • word_deleteText : elimina el texto relativo a la selección.
    • count (número, opcional): Número de unidades a eliminar (predeterminado: 1). Positivo=hacia adelante, negativo=hacia atrás.
    • unit (número, opcional): valor de WdUnits (1=carácter, 2=palabra, etc.). Valor predeterminado: 1.
  • word_findAndReplace : busca y reemplaza texto.
    • findText (cadena): Texto a buscar.
    • replaceText (cadena): Texto de reemplazo.
    • matchCase (booleano, opcional): Predeterminado: falso.
    • matchWholeWord (booleano, opcional): predeterminado: falso.
    • replaceAll (booleano, opcional): Predeterminado: verdadero.
  • word_toggleBold : alterna el formato de negrita para la selección.
  • word_toggleItalic : alterna el formato de cursiva para la selección.
  • word_toggleUnderline : alterna el formato de subrayado para la selección.
    • underlineStyle (número, opcional): valor WdUnderline (predeterminado: 1=Único).

Formato de párrafo:

  • word_setParagraphAlignment : establece la alineación del párrafo.
    • alignment (número): valor de WdParagraphAlignment (0=Izquierda, 1=Centro, 2=Derecha, 3=Justificar).
  • word_setParagraphLeftIndent : Establece sangría izquierda.
    • indentPoints (número): valor de sangría en puntos.
  • word_setParagraphRightIndent : Establece sangría derecha.
    • indentPoints (número): valor de sangría en puntos.
  • word_setParagraphFirstLineIndent : Establece la sangría de primera línea/colgante.
    • indentPoints (número): valor de sangría en puntos (positivo=sangría, negativo=colgante).
  • word_setParagraphSpaceBefore : establece el espacio antes de los párrafos.
    • spacePoints (número): Valor de espacio en puntos.
  • word_setParagraphSpaceAfter : Establece espacio después de los párrafos.
    • spacePoints (número): Valor de espacio en puntos.
  • word_setParagraphLineSpacing : Establece el espacio entre líneas.
    • lineSpacingRule (número): valor de WdLineSpacing (0=Simple, 1=1,5, 2=Doble, 3=Al menos, 4=Exactamente, 5=Múltiple).
    • lineSpacingValue (número, opcional): valor necesario para las reglas 3, 4, 5.

Operaciones de tabla:

  • word_addTable : Agrega una tabla en la selección.
    • numRows (número): Número de filas.
    • numCols (número): Número de columnas.
  • word_setTableCellText : establece texto en una celda de la tabla.
    • tableIndex (número): índice de tabla basado en 1.
    • rowIndex (número): índice de fila basado en 1.
    • colIndex (número): índice de columna basado en 1.
    • text (cadena): Texto a establecer.
  • word_insertTableRow : Inserta una fila en una tabla.
    • tableIndex (número): índice de tabla basado en 1.
    • beforeRowIndex (número, opcional): insertar antes de este índice de fila basado en 1 (o al final si se omite).
  • word_insertTableColumn : inserta una columna en una tabla.
    • tableIndex (número): índice de tabla basado en 1.
    • beforeColIndex (número, opcional): insertar antes de este índice de columna basado en 1 (o en el extremo derecho si se omite).
  • word_applyTableAutoFormat : aplica un estilo a una tabla.
    • tableIndex (número): índice de tabla basado en 1.
    • formatName (cadena | número): Nombre de estilo o valor de WdTableFormat .

Operaciones de imagen:

  • word_insertPicture : inserta una imagen en línea.
    • filePath (cadena): ruta absoluta al archivo de imagen.
    • linkToFile (booleano, opcional): Predeterminado: falso.
    • saveWithDocument (booleano, opcional): Predeterminado: verdadero.
  • word_setInlinePictureSize : cambia el tamaño de una imagen en línea.
    • shapeIndex (número): índice basado en 1 de la forma en línea.
    • heightPoints (número): Altura en puntos (-1 o 0 para ajustar el tamaño automáticamente).
    • widthPoints (número): Ancho en puntos (-1 o 0 para ajustar el tamaño automáticamente).
    • lockAspectRatio (booleano, opcional): Predeterminado: verdadero.

Operaciones de encabezado/pie de página:

  • word_setHeaderFooterText : Establece texto en un encabezado o pie de página.
    • text (cadena): Contenido del texto.
    • isHeader (booleano): Verdadero para el encabezado, falso para el pie de página.
    • sectionIndex (número, opcional): índice de sección basado en 1 (predeterminado: 1).
    • headerFooterType (número, opcional): valor de WdHeaderFooterIndex (1=Principal, 2=Primera página, 3=Páginas pares). Valor predeterminado: 1.

Operaciones de configuración de página:

  • word_setPageMargins : establece los márgenes de la página.
    • topPoints (número): Margen superior en puntos.
    • bottomPoints (número): Margen inferior en puntos.
    • leftPoints (número): Margen izquierdo en puntos.
    • rightPoints (número): Margen derecho en puntos.
  • word_setPageOrientation : establece la orientación de la página.
    • orientation (número): valor de WdOrientation (0=Vertical, 1=Horizontal).
  • word_setPaperSize : Establece el tamaño del papel.
    • paperSize (número): valor de WdPaperSize (por ejemplo, 1=Carta, 8=A4).

Notas

  • Este servidor requiere que Microsoft Word esté instalado y sea accesible a través de COM Interop en la máquina donde se ejecuta el servidor.
  • La gestión de errores en operaciones COM es básica. Un uso robusto en producción podría requerir una comprobación y recuperación de errores más detallada.
  • Las constantes del modelo de objetos de Word (como WdSaveFormat , WdUnits , etc.) se representan mediante sus valores numéricos en los argumentos de la herramienta. Puede que necesite consultar la documentación de VBA de Word para obtener valores específicos.
-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Un servidor MCP que permite la interacción programática con documentos de Microsoft Word en Windows a través de interoperabilidad COM, lo que permite operaciones como creación de documentos, manipulación de texto, formato y gestión de tablas.

  1. Características
    1. Prerrequisitos
      1. Instalación
        1. Edificio
          1. Ejecución del servidor
            1. Transporte de stdio
            2. Transporte SSE (eventos enviados por el servidor)
          2. Herramientas disponibles
            1. Notas

              Related MCP Servers

              • A
                security
                A
                license
                A
                quality
                A MCP server for managing and storing code snippets in various programming languages, allowing users to create, list, and delete snippets via a standardized interface.
                Last updated -
                3
                4
                JavaScript
                MIT License
              • A
                security
                A
                license
                A
                quality
                A server providing tools to read, write, and edit Microsoft Word (docx) files through the Model Context Protocol, allowing operations like complete document reading, content creation, targeted paragraph editing, and text insertion.
                Last updated -
                4
                10
                Python
                MIT License
              • -
                security
                F
                license
                -
                quality
                A tool that generates MCP servers for Smithery with Cursor IDE integration, allowing users to quickly create servers from templates such as Basic, Web Search, or Database interactions.
                Last updated -
                JavaScript
              • -
                security
                A
                license
                -
                quality
                MCP server that provides computer control capabilities including mouse movements, keyboard actions, screenshot capture with OCR, and window management through a unified API.
                Last updated -
                4
                Python
                MIT License

              View all related MCP servers

              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/mario-andreschak/mcp-msoffice-interop-word'

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