Word MCP Server

Crear y editar documentos de Microsoft Word (.docx) a través de una API.

Documentación

Word MCP Server

Word MCP Server es una aplicación Python que permite crear y editar documentos de Microsoft Word (.docx) a través de una API. Este proyecto utiliza FastMCP para construir herramientas que interactúan con documentos de Word.

Instalación

Requisitos

  • Python 3.12+
  • Bibliotecas dependientes:
    • python-docx
    • opencv-python (cv2)
    • numpy
    • FastMCP

Instalación de bibliotecas

uv venv
source venv/bin/activate
uv pip install .

Características

Word MCP Server proporciona herramientas para:

  1. Crear y abrir documentos de Word
  2. Agregar y formatear texto
  3. Agregar imágenes
  4. Crear tablas
  5. Gestionar recursos y prompts

Guía de uso

Configuración y ejecución con LLM

Para usar Word MCP Server con modelos de lenguaje grandes (LLM), debes configurarlo a través de un archivo JSON:

{
  "mcpServers": {
    "word-mcp-server": {
      "command": "/path/to/word-mcp-server/.venv/bin/python3",
      "args": ["/path/to/word-mcp-server/server.py"]
    }
  }
}

Explicación de la configuración:

  • mcpServers: Objeto que contiene la configuración para los servidores MCP
  • word-mcp-server: Nombre identificador del servidor
  • command: Ruta al intérprete de Python (generalmente ubicado en el entorno virtual)
  • args: Parámetros de línea de comandos, donde el primer parámetro es la ruta al archivo server.py

El servidor se iniciará y estará listo para recibir comandos del LLM

Interacción con el LLM:

Una vez configurado y ejecutado correctamente, puedes usar el LLM para:

  • Crear y editar documentos de Word mediante comandos en lenguaje natural
  • Generar contenido automáticamente basado en prompts
  • Formatear texto, agregar imágenes y tablas de manera inteligente

Crear un documento nuevo

create_new_document()

Abrir un documento existente

open_document("path/to/document.docx")

Agregar títulos y párrafos

# Thêm tiêu đề
add_heading("Tiêu đề tài liệu", level=0)
add_heading("Chương 1", level=1)

# Thêm đoạn văn bản
add_paragraph("Đây là nội dung đoạn văn bản.")

# Thêm đoạn văn bản với định dạng
add_paragraph(
    "Đây là đoạn văn bản được định dạng.",
    style="Normal",
    font_size=14,
    bold=True,
    italic=False,
    alignment=WD_PARAGRAPH_ALIGNMENT.CENTER
)

Agregar formato a una parte del texto

# Tạo đoạn văn bản
p = add_paragraph("Đây là đoạn văn bản cơ bản. ")

# Thêm phần văn bản có định dạng khác
add_run_to_paragraph(
    p,
    "Phần này được in đậm và màu đỏ.",
    bold=True,
    color="red"
)

# Thêm phần văn bản có highlight
add_run_to_paragraph(
    p,
    " Phần này được highlight màu vàng.",
    highlight="yellow"
)

Agregar imágenes

# Thêm hình ảnh từ đường dẫn file
add_picture("path/to/image.jpg", width=4.0)

# Hoặc thêm hình ảnh từ ma trận numpy
import numpy as np
import cv2

img = cv2.imread("path/to/image.jpg")
add_picture(img, width=3.5)

Crear tablas

# Tạo bảng với 3 hàng và 4 cột
table = add_table(rows=3, cols=4, style="Table Grid")

# Điền dữ liệu vào bảng
table.cell(0, 0).text = "Hàng 1, Cột 1"
table.cell(0, 1).text = "Hàng 1, Cột 2"
# ...

Colores admitidos

Al usar los parámetros color y highlight, puedes usar los siguientes valores:

  • black
  • blue
  • green
  • dark blue
  • dark red
  • dark yellow
  • dark green
  • pink
  • red
  • white
  • teal
  • yellow
  • violet
  • gray25
  • gray50

Notas

  • Este proyecto utiliza la biblioteca python-docx para interactuar con documentos de Word
  • Los recursos y prompts se almacenan en las carpetas resources y prompts
  • Asegúrate de haber instalado todas las bibliotecas dependientes antes de ejecutar el servidor

Ejemplo completo

# Tạo tài liệu mới
create_new_document()

# Thêm tiêu đề
add_heading("Báo cáo dự án", level=0)

# Thêm thông tin người tạo
p = add_paragraph("Người tạo: ")
add_run_to_paragraph(p, "Nguyễn Văn A", bold=True)

# Thêm mục lục
add_heading("Mục lục", level=1)
add_paragraph("1. Giới thiệu")
add_paragraph("2. Nội dung")
add_paragraph("3. Kết luận")

# Thêm nội dung
add_heading("1. Giới thiệu", level=1)
add_paragraph("Đây là phần giới thiệu của dự án...")

# Thêm hình ảnh
add_paragraph("Hình ảnh minh họa:")
add_picture("project_diagram.jpg", width=5.0)

# Thêm bảng dữ liệu
add_heading("Bảng dữ liệu", level=2)
table = add_table(rows=3, cols=3)
table.cell(0, 0).text = "Dữ liệu 1"
table.cell(0, 1).text = "Dữ liệu 2"
table.cell(0, 2).text = "Dữ liệu 3"
# Điền các dữ liệu khác...

# Lưu tài liệu
save_document("bao_cao_du_an.docx")