Claude Text Editor

Un servidor MCP para ver, editar y crear archivos de texto, basado en la herramienta de editor de texto integrada de Claude.

Documentación

Servidor MCP de Claude Text Editor

npm version CI Status Test Coverage

Model Context Protocol Logo

Una implementación de código abierto de la herramienta de editor de texto integrada de Claude como un servidor Model Context Protocol (MCP). Este paquete proporciona la misma funcionalidad que la herramienta de editor de texto integrada de Claude, permitiéndole ver, editar y crear archivos de texto a través de una API estandarizada.

Características

  • API idéntica al editor de texto de Claude: Implementa la misma interfaz que la herramienta de editor de texto integrada de Claude
  • Implementación de servidor MCP: Sigue el estándar Model Context Protocol para la integración de herramientas de IA
  • Operaciones de archivos:
    • Ver el contenido de archivos con especificación opcional de rango de líneas
    • Crear nuevos archivos
    • Reemplazar texto en archivos existentes
    • Insertar texto en números de línea específicos
    • Deshacer ediciones anteriores

Versiones compatibles del editor de texto de Claude

Este paquete implementa una herramienta equivalente a la herramienta de editor de texto integrada de Claude versiones:

  • text_editor_20241022 (Claude 3.5 Sonnet)
  • text_editor_20250124 (Claude 3.7 Sonnet)

Pero usando el nombre de herramienta 'text_editor' para evitar conflictos de nombres con las herramientas integradas de Claude.

Instalación

# Install from npm
npm install mcp-server-text-editor

# Or with pnpm
pnpm add mcp-server-text-editor

Uso

Iniciando el servidor

# Using npx
npx -y mcp-server-text-editor

# Or if installed globally
mcp-server-text-editor

Configuración en Claude Desktop

{
  "mcpServers": {
    "textEditor": {
      "command": "npx",
      "args": ["-y", "mcp-server-text-editor"]
    }
  }
}

Comandos de herramientas

Ver

Ver el contenido de un archivo o directorio.

{
  "command": "view",
  "path": "/path/to/file.js",
  "view_range": [1, 10] // Optional: Show lines 1-10 only
}

Crear

Crear un nuevo archivo con el contenido especificado.

{
  "command": "create",
  "path": "/path/to/file.js",
  "file_text": "console.log('Hello, world!');"
}

Reemplazo de cadena

Reemplazar texto en un archivo.

{
  "command": "str_replace",
  "path": "/path/to/file.js",
  "old_str": "console.log('Hello, world!');",
  "new_str": "console.log('Hello, Claude!');"
}

Insertar

Insertar texto en una línea específica.

{
  "command": "insert",
  "path": "/path/to/file.js",
  "insert_line": 5,
  "new_str": "// This line was inserted by Claude"
}

Deshacer edición

Revertir la última edición realizada en un archivo.

{
  "command": "undo_edit",
  "path": "/path/to/file.js"
}

Desarrollo

Requisitos previos

  • Node.js 18+
  • pnpm

Configuración

# Clone the repository
git clone https://github.com/bhouston/mcp-server-text-editor.git
cd mcp-server-text-editor

# Install dependencies
pnpm install

# Build the project
pnpm build

Scripts

  • pnpm build: Compilar el proyecto TypeScript
  • pnpm lint: Ejecutar ESLint con corrección automática
  • pnpm format: Formatear código con Prettier
  • pnpm clean: Eliminar artefactos de compilación
  • pnpm clean:all: Eliminar artefactos de compilación y node_modules
  • pnpm test: Ejecutar pruebas
  • pnpm test:coverage: Ejecutar pruebas con informe de cobertura

Pruebas

Este proyecto utiliza Vitest para las pruebas.

Para ejecutar las pruebas:

# Run all tests
pnpm test

# Run tests with coverage report
pnpm test:coverage

El informe de cobertura de pruebas se generará en el directorio coverage.

Licencia

MIT

Contribuciones

¡Las contribuciones son bienvenidas! No dude en enviar una Solicitud de Extracción (Pull Request).

  1. Haga un fork del repositorio
  2. Cree su rama de características (git checkout -b feature/amazing-feature)
  3. Realice sus cambios (git commit -m 'Add some amazing feature')
  4. Envíe a la rama (git push origin feature/amazing-feature)
  5. Abra una Solicitud de Extracción