open-index/open-npm huggingface dataset:
npm package: @gamariverib/google-tasks
Description: Google Tasks MCP Server
Author: José Gamaliel Rivera Ibarra
Latest version: 0.1.1

# Google Tasks MCP Server

Este proyecto implementa un servidor MCP (Model Context Protocol) que expone herramientas para interactuar con la API de Google Tasks. Permite listar, crear, actualizar, eliminar y buscar listas y tareas de Google Tasks mediante herramientas MCP, facilitando su integración con asistentes, agentes o flujos automatizados compatibles con MCP.

## Características principales

- Autenticación OAuth2 con Google Tasks.
- Listado, creación, actualización y eliminación de listas de tareas.
- Listado, búsqueda, creación, actualización, finalización, reapertura y eliminación de tareas.
- Transporte por stdio para integración sencilla en pipelines o agentes MCP.
- Configuración de límites de resultados mediante la variable de entorno `MAX_TASK_RESULTS`.

## Requisitos

- Node.js
- Una cuenta de Google Cloud Platform con la API de Google Tasks habilitada.
- Credenciales OAuth2 descargadas como `credentials.json`.

## Instalación y uso

1. **Instala las dependencias:**
   ```bash
   npm install
   ```

2. **Coloca tus credenciales OAuth2 en `credentials.json` en la raíz del proyecto.**

3. **Compila el código TypeScript:**
   ```bash
   npx tsc
   ```

4. **Ejecuta el servidor MCP:**
   ```bash
   node build/index.js
   ```

   La primera vez, se abrirá un flujo de autenticación en el navegador para autorizar el acceso a tu cuenta de Google Tasks.

5. **Integración:**
   - El servidor MCP se comunica por stdio y expone herramientas como `list-task-lists`, `create-task`, `update-task`, `delete-task`, entre otras, para ser utilizadas por clientes MCP.

## Ejemplo de configuración en Claude Desktop

Para integrar este servidor MCP en Claude Desktop, agrega una entrada en tu archivo `claude_desktop_config.json` (o en la sección correspondiente de configuración) como el siguiente ejemplo. Asegúrate de ajustar `{RUTA}` a la ubicación real de tu proyecto:

```json
{
  "mcp_servers": [
    {
      "id": "google-tasks",
      "name": "Google Tasks MCP Server",
      "description": "Servidor MCP para gestionar Google Tasks mediante herramientas MCP.",
      "command": "node",
      "args": [
        "{RUTA}/google-tasks/build/index.js"
      ],
      "env": {
        "MAX_TASK_RESULTS": "100"
      }
    }
  ]
}
```

- Reemplaza `{RUTA}` por la ruta absoluta donde se encuentra tu proyecto, por ejemplo: `D:/Projects/mcp-servers`.
- Si usas `npx`, puedes cambiar `"command"` y `"args"` así:
  ```json
  "command": "npx",
  "args": [
    "@gamariverib/google-tasks"
  ]
  ```

Esto permitirá que Claude Desktop detecte y utilice el servidor MCP de Google Tasks correctamente.

## Notas

- El archivo `token.json` se genera automáticamente tras la autenticación y almacena el token de acceso y refresco.
- Consulta el código fuente en [`src/index.ts`](src/index.ts) para ver la definición de cada herramienta y su uso detallado.
npm package: @gamariverib/mercados-pecuarios-libs-excel-db-files
Description: Biblioteca de clases para la creación y manipulación de los archivos de bases de datos en Excel
Author: José Gamaliel Rivera Ibarra
Latest version: 0.2.0

# excel-db-files

Biblioteca de clases para la creación y manipulación de los archivos de bases de datos en Excel.

Esta biblioteca proporciona un conjunto de clases orientadas a objetos para construir y manipular archivos de Excel (`.xlsx`) de una manera estructurada.

## Instalación

```bash
npm install @gamariverib/mercados-pecuarios-libs-excel-db-files
```

## Uso Básico

La biblioteca ahora se centra en dos clases principales: `Workbook` y `Worksheet`.

### Crear un nuevo Workbook y añadir Worksheets

Puedes crear un libro de trabajo y añadirle hojas de cálculo de forma fluida.

```typescript
import { Workbook, Worksheet } from '@gamariverib/mercados-pecuarios-libs-excel-db-files';
import { writeFile } from 'xlsx';

// 1. Crear un nuevo Workbook
const workbook = new Workbook('MiLibroDeTrabajo');

// 2. Crear y configurar una Worksheet
const worksheet1 = new Worksheet('Primera Hoja');
worksheet1
  .addMetadata('Author', 'Gemini')
  .addGlobalTag('Project', 'Modernización')
  .setHeader(['ID', 'Nombre', 'Valor'])
  .addRow([1, 'Producto A', 100])
  .addRow([2, 'Producto B', 200]);

// 3. Añadir la worksheet al workbook
workbook.addWorksheet(worksheet1);

// 4. (Opcional) Convertir a un objeto JSON para serialización
const json = workbook.toJSON();
console.log(JSON.stringify(json, null, 2));

// Para generar el archivo .xlsx, necesitarás una lógica de conversión
// que tome el `IWorkbookData` de `workbook.toJSON()` y lo convierta
// a un objeto `WorkBook` de la librería `xlsx`.
// (Esta parte de la conversión no está actualmente en la API pública de la librería)

```

### Cargar desde un JSON

Puedes crear una instancia de un `Workbook` a partir de una estructura de datos JSON existente.

```typescript
import { Workbook, IWorkbookData } from '@gamariverib/mercados-pecuarios-libs-excel-db-files';

const data: IWorkbookData = {
  name: 'LibroDesdeJSON',
  worksheets: [
    {
      name: 'Hoja1',
      metadata: { CreadoPor: 'Test' },
      globalTags: {},
      data: [
        ['Col1', 'Col2'],
        ['a', 'b'],
      ],
    },
  ],
};

const workbook = Workbook.fromJSON(data);

console.log(workbook.name); // "LibroDesdeJSON"
console.log(workbook.worksheets[0].name); // "Hoja1"
```

## API

### Clase `Worksheet`
- `constructor(name: string, data?: Partial<IWorksheetData>)`
- `addRow(row: any[], atTop?: boolean): this`
- `setHeader(headers: string[]): this`
- `addMetadata(key: string, value: any): this`
- `addGlobalTag(key: string, value: any): this`
- `toJSON(): IWorksheetData`
- `static fromJSON(data: IWorksheetData): Worksheet`

### Clase `Workbook`
- `constructor(name: string)`
- `addWorksheet(worksheet: Worksheet): this`
- `toJSON(): IWorkbookData`
- `static fromJSON(data: IWorkbookData): Workbook`