Generic API MCP Server
Un servidor genérico para interactuar con cualquier API REST, permitiéndote consultar datos, crear elementos y llamar métodos.
Documentación
🚀 Aras Innovator Claude Agent
¡Conecta Claude Desktop a Aras Innovator PLM mediante OAuth 2.0!
Este servidor del Protocolo de Contexto de Modelo (MCP) permite que Claude Desktop interactúe con Aras Innovator utilizando autenticación OAuth 2.0 moderna y APIs REST de OData, permitiéndote consultar datos PLM, crear elementos y llamar métodos directamente desde tu asistente de IA.
✨ ¿Qué puedes hacer?
- 🔐 Autenticación OAuth 2.0 segura con Aras Innovator 14+
- 📊 Consulta datos PLM usando endpoints REST de OData
- ✍️ Crea nuevos elementos (Piezas, Documentos, etc.) directamente desde Claude
- 🔧 Llama métodos del servidor Aras y endpoints personalizados
- 📋 Accede a listas y datos de configuración
- 🛡️ Seguridad de nivel empresarial con autenticación mediante token de portador
📋 Requisitos previos
🐍 Python 3.8+
- Windows: Descárgalo desde python.org
- macOS/Linux:
brew install pythonosudo apt install python3 python3-pip
🤖 Claude Desktop (¡gratis!)
- Descárgalo desde claude.ai - ¡no se requiere suscripción!
🏢 Aras Innovator 14+ con OAuth 2.0
- Servidor Aras Innovator con endpoints OAuth 2.0 habilitados
- Credenciales de usuario Aras válidas con permisos de API
- Permisos de acceso a la base de datos
🎯 Inicio rápido
1️⃣ Clona e instala
git clone https://github.com/DaanTheoden/aras-claude-agent.git
cd aras-claude-agent
pip install -r requirements.txt
2️⃣ Configura tu conexión a Aras
Crea un archivo .env en la raíz del proyecto:
# Aras Innovator OAuth 2.0 Configuration
API_URL=https://your-aras-server.com/YourDatabase
API_USERNAME=your-aras-username
API_PASSWORD=your-aras-password
ARAS_DATABASE=YourDatabase
# Optional Configuration
API_TIMEOUT=30
API_RETRY_COUNT=3
API_RETRY_DELAY=1
LOG_LEVEL=INFO
💡 Cópialo desde
env_example.txty actualízalo con tus credenciales de Aras
3️⃣ Añádelo a Claude Desktop
Edita tu archivo de configuración de Claude Desktop:
📁 Windows: %APPDATA%\Claude\claude_desktop_config.json
📁 macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"api-server": {
"command": "py",
"args": ["C:/path/to/your/aras-claude-agent/main.py"]
}
}
}
💡 Reemplaza la ruta con tu directorio de instalación real.
4️⃣ ¡Prueba tu configuración!
Verifica la instalación:
python main.py
El servidor debería iniciarse sin errores de análisis JSON.
Prueba en Claude Desktop: Reinicia Claude Desktop y prueba:
- "Prueba mi conexión a la API"
- "Obtén todas las Piezas de la base de datos"
- "Muéstrame los tipos de Documento disponibles"
🛠️ Herramientas disponibles
| Herramienta | Descripción | Qué puedes preguntar | Endpoint de ejemplo |
|---|---|---|---|
test_api_connection | Prueba la autenticación OAuth 2.0 | "Prueba mi conexión a la API" | N/A |
api_get_items | Consulta OData de Aras | "Obtén todas las Piezas" | Part, Document |
api_create_item | Crea nuevos elementos de Aras | "Crea una nueva Pieza" | Part, Document |
api_call_method | Llama métodos del servidor Aras | "Llama al método GetItemsInBOM" | Nombres de métodos |
api_get_list | Obtén valores de listas de Aras | "Muestra las categorías de Piezas" | IDs de listas |
🔐 Autenticación OAuth 2.0
Este agente utiliza la concesión de credenciales de contraseña del propietario del recurso OAuth 2.0 para una autenticación segura con Aras Innovator 14+. El flujo de autenticación:
- Solicitud de token:
https://your-server/oauthserver/connect/token - Alcance:
openid Innovator offline_access - ID de cliente:
IOMApp(cliente Aras predeterminado) - Tipo de concesión:
password - Requerido:
username,password,database
💬 Conversaciones de ejemplo
You: "Test my API connection"
Claude: ✅ Successfully authenticated with API!
Bearer token obtained and ready for API calls.
Server URL: https://your-server.com/YourDatabase
You: "Get all Parts where item_number starts with 'P-'"
Claude: Retrieved 25 Parts matching your criteria...
You: "Create a new Document with name 'User Manual v2'"
Claude: Successfully created Document with ID A1B2C3D4...
🔧 Correcciones y actualizaciones recientes
✅ v1.1.0 - Correcciones de OAuth 2.0 y análisis JSON
- Corregido: error "Unexpected token 'A', 'API MCP Se'... is not valid JSON"
- Añadido: Autenticación OAuth 2.0 adecuada con
requests-oauthlib - Añadido: Requisito del parámetro de base de datos para la autenticación de Aras
- Corregido: Todas las declaraciones print redirigidas a stderr para evitar la contaminación de stdout
- Actualizado: Soporte de endpoints OData (
/Server/Odata) - Añadido: Cabeceras HTTP adecuadas para la API REST de Aras
🛠️ Solución de problemas
🔗 ¿Falla la autenticación OAuth?
- Verifica que tu servidor Aras soporta OAuth 2.0 (Aras 14+)
- Comprueba las credenciales y el nombre de la base de datos en
.env - Asegúrate de que el usuario tenga permisos de acceso a la API
🔐 ¿Error "Missing database parameter"?
- Añade
ARAS_DATABASE=YourDatabaseNamea tu archivo.env
🤖 ¿Claude no encuentra las herramientas?
- Reinicia Claude Desktop después de los cambios de configuración
- Comprueba las rutas de archivo en
claude_desktop_config.json
🐍 ¿Errores de análisis JSON?
- ✅ ¡Corregido en v1.1.0! Actualiza a la última versión
🏗️ Arquitectura
Claude Desktop
↓ JSON-RPC
MCP Server (stdio)
↓ OAuth 2.0
Aras Innovator
↓ OData REST API
PLM Database
🤝 Contribuciones
¿Encontraste un error o quieres añadir funciones? ¡Aceptamos contribuciones! Por favor, revisa nuestros issues o envía un pull request.
📚 Aprende más
- Documentación para desarrolladores de Aras
- Protocolo de Contexto de Modelo
- Guía de OAuth 2.0 de Aras
📄 Licencia
Licencia MIT - consulta el archivo LICENSE para más detalles.