Skip to main content
Glama
mirza1272

wordsmith-mcp

by mirza1272

Wordsmith MCP

Un servidor MCP (Model Context Protocol) que ofrece a cualquier cliente de IA compatible con MCP un conjunto de herramientas sin conexión de análisis y reescritura de texto — estadísticas, resúmenes extractivos, extracción de palabras clave, puntuación de legibilidad, conversión de casos de nomenclatura, extracción de entidades y diferencias de texto.

No requiere claves API. No hace llamadas de red. No almacena estado en ningún sitio. Todo se ejecuta localmente sobre el texto que le pases, lo que lo hace rápido, gratuito y seguro para apuntarlo a documentos privados.

Construido con el MCP Python SDK.


Por qué existe esto

Los modelos de lenguaje son excelentes para juzgar texto, pero sorprendentemente poco fiables para medirlo — pídeles un recuento exacto de palabras o una puntuación de Flesch y adivinarán. Wordsmith entrega al modelo una calculadora determinista para esas tareas, por lo que las respuestas sobre la longitud, la dificultad y los términos clave de un documento se calculan en lugar de estimarse.


Related MCP server: armavita-originality-ai-mcp

Herramientas

Tool

Qué hace

Parámetros clave

text_stats

Caracteres, palabras, palabras únicas, oraciones, párrafos, líneas, longitud media de palabra/oración, tiempo de lectura estimado

text

summarize_text

Resumen extractivo — puntúa las oraciones por la frecuencia de palabras significativas y devuelve las mejores en orden original

text, max_sentences (1–20, por defecto 3)

extract_keywords

Palabras significativas más frecuentes con recuentos y frecuencia relativa; palabras vacías filtradas

text, limit (1–50, por defecto 10), min_length

readability

Índice de legibilidad de Flesch + nivel de grado Flesch–Kincaid, con interpretación en lenguaje sencillo

text

convert_case

Convierte a snake, kebab, slug, camel, pascal, constant, title, sentence, upper, lower

text, style

extract_entities

Extrae correos electrónicos, URLs, hashtags, menciones, números de teléfono y números independientes

text

diff_texts

Diferencia unificada línea por línea entre un borrador y una revisión

before, after, context_lines

Todas las herramientas están anotadas con readOnlyHint: true, openWorldHint: false — nunca mutan nada y nunca se conectan a internet.


Inicio rápido (local, stdio)

git clone https://github.com/mirza1272/wordsmith-mcp.git
cd wordsmith-mcp
python3 -m venv .venv
source .venv/bin/activate      # Windows: .venv\Scripts\activate
pip install -e .

Ejecútalo:

wordsmith-mcp

El servidor habla MCP a través de stdio y se quedará esperando a un cliente: es un comportamiento correcto, no un bloqueo. Los clientes lo inician por sí mismos; consulta abajo.

Verifica que funciona

python scripts/smoke_test.py

Esto inicia el servidor como lo haría un cliente MCP real, lista las herramientas, llama a cada una de ellas e imprime los resultados.

Ejecuta las pruebas unitarias

pip install -e ".[dev]"
pytest -q

Conectarlo a un cliente

Claude Desktop

Edita claude_desktop_config.json:

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

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

  • Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "wordsmith": {
      "command": "/absolute/path/to/wordsmith-mcp/.venv/bin/wordsmith-mcp"
    }
  }
}

Reinicia Claude Desktop y luego pregunta algo como "¿Cómo de legible es este párrafo y cuáles son sus 5 palabras clave principales?"

Claude Code

claude mcp add wordsmith -- /absolute/path/to/wordsmith-mcp/.venv/bin/wordsmith-mcp

Cursor / Windsurf / otros clientes

Cualquier cliente que acepte un bloque mcpServers usa la misma estructura que el ejemplo de Claude Desktop anterior.

MCP Inspector (depuración visual)

npx @modelcontextprotocol/inspector .venv/bin/wordsmith-mcp

Abre una interfaz de navegador en la que se puede llamar a cada herramienta manualmente e inspeccionar el tráfico JSON-RPC en bruto.


Modo HTTP (para despliegues alojados)

El mismo servidor también habla streamable HTTP, que es lo que usan los marketplaces alojados:

TRANSPORT=http PORT=8081 wordsmith-mcp

El endpoint MCP está entonces en http://localhost:8081/mcp.

Variable de entorno

Por defecto

Significado

TRANSPORT

stdio

stdio para clientes locales, http para alojados

HOST

0.0.0.0

Dirección de escucha en modo HTTP

PORT

8081

Puerto de escucha en modo HTTP

MCP_PATH

/mcp

Ruta HTTP en la que se sirve el endpoint MCP


Despliegue

El formulario de publicación de Smithery requiere un endpoint MCP HTTPS en vivo, así que el servidor se aloja primero y luego se lista. Para ello se incluyen Dockerfile y render.yaml; smithery.yaml se mantiene para los hosts que compilan el contenedor directamente.

Guía completa: DEPLOY.md.

En resumen: despliega el contenedor en un host (Render, Railway, Fly.io — se incluye render.yaml) y luego publica la URL resultante https://<host>/mcp en Smithery.

Compilar el contenedor localmente primero es una buena prueba de cordura:

docker build -t wordsmith-mcp .
docker run --rm -p 8081:8081 wordsmith-mcp

Estructura del proyecto

wordsmith-mcp/
├── src/wordsmith_mcp/
│   ├── __init__.py        # package exports
│   ├── __main__.py        # python -m wordsmith_mcp
│   ├── server.py          # MCP server: tool definitions and schemas
│   └── textutils.py       # pure text logic, no MCP imports
├── scripts/smoke_test.py  # end-to-end client that exercises every tool
├── tests/test_textutils.py
├── examples/claude_desktop_config.json
├── Dockerfile
├── smithery.yaml
├── pyproject.toml
└── README.md

textutils.py contiene los algoritmos y no importa nada de MCP, por lo que la lógica se puede probar unitariamente por sí sola; server.py es una fina capa de protocolo que describe esas funciones al modelo.


Cómo funciona (un recorrido de 60 segundos por MCP)

MCP es un protocolo JSON-RPC que permite a un cliente de IA descubrir y llamar a las herramientas expuestas por un servidor.

  1. El cliente inicia el servidor (como subproceso a través de stdio, o se conecta por HTTP).

  2. El cliente y el servidor intercambian un handshake initialize que anuncia la versión del protocolo y las capacidades.

  3. El cliente llama a tools/list. El SDK genera el JSON Schema de cada herramienta a partir de las anotaciones de tipo de Python y las descripciones Field(...), de modo que el modelo ve exactamente qué argumentos son válidos.

  4. Cuando el modelo decide que necesita una herramienta, el cliente envía tools/call con los argumentos; el servidor ejecuta la función de Python y devuelve el resultado — tanto como texto legible por humanos como structuredContent que coincide con el esquema de salida declarado.

Por lo tanto, añadir una herramienta es simplemente escribir una función de Python tipada y decorarla con @mcp.tool(...).


Lecturas adicionales en este repositorio

  • WRITEUP.md — mi artículo sobre el uso de un servidor MCP existente (Context7) y lo que aprendí al construir este.

  • DEPLOY.md — guía paso a paso para publicar este servidor en Smithery y Glama.


Licencia

MIT — consulta LICENSE.

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • MCP Server for Slima - AI Writing IDE for Novel Authors with AI Beta Reader.

  • Free OpenAI-compatible inference with signed provenance receipts and 3 focused MCP tools.

  • Security-first WordPress MCP server. 129 tools for Claude, ChatGPT, Gemini. Free on wp.org.

View all MCP Connectors

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/mirza1272/wordsmith-mcp'

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