invoice-processor-mcp
Version:
MCP server para procesar facturas en formato Excel
144 lines (101 loc) • 3.32 kB
Markdown
# Procesador de Facturas MCP
Este es un servidor MCP (Model-Centric Protocol) especializado en procesar facturas en formato Excel.
## Características
- Procesa archivos Excel de facturas y extrae información estructurada
- Genera resúmenes de múltiples facturas
- Implementación local del protocolo MCP
## Cambios recientes
Se han creado implementaciones locales de las dependencias `@mcp/protocol` y `@mcp/server` que no estaban disponibles en el registro público de npm:
- `mcp/protocol.js`: Implementación local de `@mcp/protocol`
- `mcp/server.js`: Implementación local de `@mcp/server` basada en Express
## Requisitos previos
- Node.js 18 o superior
- npm o yarn
## Instalación
### Instalación como paquete npm
1. Instala el paquete desde npm:
```
npm install invoice-processor-mcp
```
2. Importe y use el procesador de facturas en tu código:
```javascript
import { MCPServer, FunctionDefinition } from 'invoice-processor-mcp/mcp/server.js';
import { processInvoice } from 'invoice-processor-mcp/invoiceProcessor.js';
```
### Instalación desde repositorio
1. Clona este repositorio:
```
git clone <repositorio>
cd invoice-processor-mcp
```
2. Instala las dependencias:
```
npm install
```
## Uso local
Para ejecutar el servidor MCP localmente:
```
npm start
```
El servidor se iniciará en el puerto 3000 (o el especificado en la variable de entorno PORT).
## Funciones disponibles
### process_invoice
Procesa un archivo Excel de factura y extrae la información estructurada.
**Parámetros:**
- `filePath`: Ruta al archivo Excel de la factura
**Ejemplo de uso:**
```json
{
"function_call": {
"name": "process_invoice",
"parameters": {
"filePath": "/ruta/a/mi-factura.xlsx"
}
}
}
```
### summarize_invoices
Genera un resumen de múltiples facturas en formato Excel.
**Parámetros:**
- `filePaths`: Lista de rutas a los archivos Excel de facturas
- `outputPath`: Ruta donde guardar el archivo de resumen
**Ejemplo de uso:**
```json
{
"function_call": {
"name": "summarize_invoices",
"parameters": {
"filePaths": [
"/ruta/a/factura1.xlsx",
"/ruta/a/factura2.xlsx"
],
"outputPath": "/ruta/destino/resumen-facturas.xlsx"
}
}
}
```
## Uso como librería
Puedes usar este paquete como una librería en tu propio proyecto:
```javascript
import { processInvoice } from 'invoice-processor-mcp/invoiceProcessor.js';
// Procesar una factura
const result = await processInvoice('/ruta/a/mi-factura.xlsx');
console.log(result);
```
## Estructura del código
- `index.js`: Punto de entrada principal para ejecución local
- `invoiceProcessor.js`: Lógica de procesamiento de facturas Excel
- `package.json`: Dependencias y configuración del proyecto
- `mcp/`: Implementación local del protocolo MCP
## Publicación en npm
Para publicar tu propio paquete basado en este:
1. Actualiza los datos en `package.json` (nombre, versión, autor, repositorio, etc.)
2. Ejecuta el script de publicación:
```
npm run publish-npm
```
3. Sigue las instrucciones en pantalla.
## Personalización
Puedes personalizar el procesamiento de facturas modificando el archivo `invoiceProcessor.js` para adaptarlo a la estructura específica de tus facturas.
## Licencia
ISC