Word MCP Server

Crie e edite documentos do Microsoft Word (.docx) via uma API.

Documentação

Word MCP Server

Word MCP Server é um aplicativo Python que permite criar e editar documentos do Microsoft Word (.docx) por meio de API. Este projeto utiliza FastMCP para construir ferramentas que interagem com documentos do Word.

Instalação

Requisitos

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

Instalação das bibliotecas

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

Funcionalidades

O Word MCP Server fornece ferramentas para:

  1. Criar e abrir documentos do Word
  2. Adicionar e formatar texto
  3. Adicionar imagens
  4. Criar tabelas
  5. Gerenciar recursos e prompts

Guia de uso

Configuração e inicialização com LLM

Para usar o Word MCP Server com modelos de linguagem de grande porte (LLM), você precisa configurá-lo por meio de um arquivo JSON:

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

Explicação da configuração:

  • mcpServers: Objeto que contém a configuração dos servidores MCP
  • word-mcp-server: Nome identificador do servidor
  • command: Caminho para o interpretador Python (geralmente localizado no ambiente virtual)
  • args: Parâmetros de linha de comando, onde o primeiro parâmetro é o caminho para o arquivo server.py

O servidor será iniciado e estará pronto para receber comandos do LLM

Interação com o LLM:

Após configurar e iniciar com sucesso, você pode usar o LLM para:

  • Criar e editar documentos do Word por meio de comandos em linguagem natural
  • Gerar conteúdo automaticamente com base em prompts
  • Formatar texto, adicionar imagens e tabelas de forma inteligente

Criar um novo documento

create_new_document()

Abrir um documento existente

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

Adicionar títulos e parágrafos

# 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
)

Adicionar formatação a uma parte do 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"
)

Adicionar imagens

# 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)

Criar tabelas

# 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"
# ...

Cores suportadas

Ao usar os parâmetros color e highlight, você pode usar os seguintes valores:

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

Observações

  • Este projeto utiliza a biblioteca python-docx para interagir com documentos do Word
  • Os recursos e prompts são armazenados nas pastas resources e prompts
  • Certifique-se de ter instalado todas as bibliotecas dependentes antes de executar o servidor

Exemplo 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")