UNPKG

@jorgeceballos/mcp-server-oci

Version:

Model Context Protocol server for Oracle Cloud Infrastructure

97 lines (65 loc) 5.33 kB
# Cambios realizados para corregir el paquete MCP Se han realizado los siguientes cambios para corregir el error con el paquete MCP: 1. Reemplazado `@modelcontextprotocol/mcp-sdk` por `@modelcontextprotocol/sdk` en `package.json`. 2. Actualizado los imports en todos los archivos para utilizar la nueva estructura del SDK. 3. Modificado la implementación del servidor para usar la nueva API (`McpServer` en lugar de `createServer`). 4. Actualizado la estructura de herramientas para usar el esquema de validación `zod` según requiere la nueva versión del SDK. 5. Actualizado el formato de respuesta de las herramientas para utilizar el formato requerido por la nueva versión del SDK (`content: [{ type: 'text', text: '...' }]`). 6. Añadida la dependencia de `zod` que es requerida por el nuevo SDK. ## Corrección de problemas de compilación (13/05/2025) Se corrigieron los siguientes errores de compilación: 1. **Actualizado el cliente OCI**: - Cambiado `computeinstance` a `compute` en los imports de oci-sdk - Actualizado el tipo del cliente de `ComputeInstanceClient` a `ComputeClient` - Corregidos los tipos de modelos retornados en los métodos 2. **Corrección de problemas de tipado**: - Eliminada la referencia a `Tool` que no existe en la nueva versión del SDK - Añadidos tipos explícitos para los parámetros de los handlers para evitar errores de tipo `any` implícito - Modificada la forma de registrar herramientas en el servidor para usar la estructura adecuada de la nueva API 3. **Corrección del formato de respuesta**: - Actualizado el formato de respuesta de las herramientas para que `type: "text"` aparezca después del contenido según requiere el SDK Nota: Estos cambios fueron necesarios debido a actualizaciones en la estructura de la API del SDK de MCP y en la estructura del SDK de OCI. ## Corrección de errores adicionales (13/05/2025) Se corrigieron los siguientes errores adicionales: 1. **Actualizado el import de OCI para computeClient**: - Cambiado de `oci-sdk/clients/compute` a `oci-sdk/clients/core` que es el correcto para Oracle Cloud Infrastructure - Actualizado todas las referencias a `compute` a `core` en el cliente 2. **Corregido el tipado literal**: - Cambiado `"text" as const` a `"text" as "text"` para cumplir con el tipado exigido por el SDK 3. **Eliminado código duplicado e imports innecesarios**: - Eliminadas interfaces no utilizadas - Corregido el import duplicado de zod Estos cambios fueron necesarios debido a las especificidades del SDK de Oracle Cloud Infrastructure y los requisitos de tipado de TypeScript para integración con MCP. ## Corrección final de errores (13/05/2025) Se realizaron las siguientes correcciones finales para resolver los problemas de compilación: 1. **Simplificado el import de OCI SDK**: - Cambiado de `import * as core from 'oci-sdk/clients/core'` a `import { common, identity, core } from 'oci-sdk'` para utilizar el mismo namespace sin imports separados 2. **Mejorado el manejo de errores en handlers**: - Añadido bloques try/catch en todos los handlers para proporcionar mensajes de error más detallados - Mejora la depuración mostrando qué herramienta falló específicamente 3. **Corregido el paso de argumentos a los handlers**: - Reemplazado el paso directo de `args` por objetos con estructuras específicas: `{compartmentId: args.compartmentId}` y `{instanceId: args.instanceId}` - Esto resuelve errores de tipado relacionados con propiedades requeridas faltantes Estos cambios resuelven los 7 errores de compilación identificados durante la instalación del paquete. ## Correcciones finales de compilación (13/05/2025) Se han realizado las siguientes correcciones para eliminar completamente los errores de compilación: 1. **Refactorización completa del servidor MCP**: - Eliminada la dependencia de tool.handler() para evitar problemas de tipos incompatibles - Implementadas directamente las herramientas en el servidor sin usar los handlers definidos en oci-tools.ts - Cada herramienta ahora llama directamente a los métodos del cliente OCI 2. **Modificado el acceso al cliente OCI**: - Cambiado `ociClient` de privado a público para permitir el acceso directo desde el servidor 3. **Limpieza y optimización del código**: - Eliminada la dependencia de getAllTools() para mostrar la lista de herramientas disponibles - Simplificado el proceso de creación de herramientas Con estas modificaciones, el proyecto compila correctamente sin errores de tipado o problemas de incompatibilidad entre los objetos. ## Solución de problemas comunes Si encuentras problemas durante la instalación o ejecución, asegúrate de: 1. Verificar que las versiones de las dependencias son compatibles 2. Comprobar que estás usando Node.js v16 o superior 3. Asegurarte de que el paquete `@modelcontextprotocol/sdk` se ha instalado correctamente 4. Comprobar que la configuración de OCI CLI está correcta ## Referencias - [Repositorio oficial de Model Context Protocol SDK](https://github.com/modelcontextprotocol/typescript-sdk) - [Documentación de Model Context Protocol](https://modelcontextprotocol.io/) - [Documentación del SDK de OCI](https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javascriptsdk.htm)