TCC

Genera automáticamente servidores MCP a partir de especificaciones OpenAPI, permitiendo que agentes de IA conversacional interactúen con sistemas web existentes.

Documentación

TCC - Transformando APIs en Interfaces Conversacionales

Ask DeepWiki <-- Conversa con el proyecto

Validación del Enfoque OpenAPI-MCP para Agentes Basados en IA
Trabajo de Conclusión de Curso - Ingeniería de Software
Autor: Lucas de Castro Zanoni | Orientador: Thyerri Fernandes Mezzari
Institución: Centro Universitário UniSATC

🤖 ¿Cómo Funciona el Sistema?

  • El usuario escribe algo como "quiero buscar el equipo 123".
  • El modelo de lenguaje entiende la intención.
  • La intención es convertida por el modelo de lenguaje en llamadas de función.
  • La llamada de función se convierte en llamada de herramientas MCP.
  • El cliente mediante protocolo MCP llama a las herramientas correspondientes a la intención del usuario.
  • En los servidores MCP la llamada se transforma en una solicitud HTTP real basada en la especificación SWAGGER de la aplicación destino.
  • La respuesta de la API se formatea y se envía de vuelta al modelo de lenguaje que interpreta y responde, como si fuera un chat.

🎥 Demostración

Tu navegador no soporta el video. Haz clic aquí para descargar el video.

📖 Navegación Rápida

🎯 Tu Objetivo📋 Empieza Aquí⏱️ Tiempo
Entender la investigación📚 Guía Rápida - Académico5-15 min
Usar la herramienta💻 Guía Rápida - Desarrollador5-10 min
Reproducir experimentos🔬 Guía Rápida - Investigador20 min
Evaluar comercialmente🏢 Guía Rápida - Empresa15 min
Navegar documentación📚 Índice CompletoReferencia

📖 Sobre la Investigación

Este TCC investiga cómo las especificaciones OpenAPI pueden convertirse automáticamente en servidores MCP (Model Context Protocol), permitiendo que modelos de lenguaje de gran escala (LLMs) interactúen con sistemas existentes a través de interfaces conversacionales naturales.

🎯 Problema de Investigación

"¿Cómo la combinación de la especificación OpenAPI con el protocolo MCP puede facilitar la integración eficiente y segura de agentes conversacionales basados en IA con sistemas web existentes, contribuyendo a la democratización del acceso a tecnologías complejas?"

🎯 Principales Objetivos

  • Desarrollar un generador automático de servidores MCP a partir de especificaciones OpenAPI
  • Implementar un cliente de chat capaz de gestionar múltiples servidores MCP simultáneamente
  • Validar el enfoque mediante pruebas experimentales rigurosas
  • Evaluar rendimiento, seguridad y experiencia del usuario

🏆 Principales Contribuciones Científicas

✅ Resultados Experimentales Validados

MétricaResultadoObservaciones
Conversión OpenAPI→MCP100% éxito (10/10 endpoints)Automatización completa
Tasa de Éxito Operacional100% (8/8 consultas)Robustez funcional
Experiencia del Usuario4.0/5.0Satisfacción general
Protección de Seguridad100% (16/16 ataques bloqueados)Resistencia a ataques básicos
Tiempo de Respuesta Medio3.757msVariación: 1.335-5.823ms

🔬 Innovaciones Técnicas

  1. Generación Automática de Herramientas MCP: Conversión sistemática OpenAPI→MCP
  2. Orquestación Multi-Servidor: Coordinación inteligente de múltiples servidores MCP
  3. Integración Estandarizada: Puente entre LLMs y APIs existentes
  4. Metodología Reproducible: Framework experimental con métricas objetivas

🏗️ Arquitectura de la Solución

graph TB
    UI[Interface do Usuário]
    CI[Chat Interface]
    AC[Agente Conversacional]
    LLM[LLM]
    AI[Analisador de Intenção]
    VR[Validador de Requisição]
    FR[Formatador de Resposta]
    
    CamInt[Camada de Integração]
    MCP[Servidor MCP]
    
    Backend[Sistemas de Backend]
    APIs[APIs Externas]
    
    UI --> CI
    CI --> AC
    AC -.-> |Consulta do Usuário| LLM
    LLM -.-> |Resposta em Linguagem Natural| AC
    LLM --> |Intenção Estruturada| AI
    AI --> VR
    VR -.-> |Requisição Validada| CamInt
    LLM --> |Resposta Formatada| FR
    FR --> AC
    
    CamInt --> MCP
    MCP --> |Requisição HTTP| Backend
    Backend --> APIs
    APIs -.-> |Resultado da Operação| Backend
    Backend -.-> MCP
    MCP -.-> CamInt

🧩 Componentes Principales

1. Generador Automático de Servidores MCP (mcp-openapi-server/)

  • Análisis Sintáctico: Parser y validación de especificaciones OpenAPI 3.0+
  • Mapeo Semántico: Conversión inteligente OpenAPI → herramientas MCP
  • Generación de Herramientas: Creación automática de servidores MCP funcionales
  • Transporte Dual: Soporte para stdio y HTTP

2. Cliente de Chat Multi-Servidor (chat-client/)

  • Interfaz Minimalista: Diseño estandarizado para pruebas objetivas
  • Coordinación Distribuida: Gestión de múltiples servidores MCP
  • Descubrimiento Automático: Identificación dinámica de herramientas disponibles
  • Pruebas E2E: Suite completa con Playwright

3. Aplicaciones de Prueba (equipments-dummy-app/ & professionals-dummy-app/)

  • APIs RESTful: Implementaciones con Hono.js, TypeScript y PostgreSQL
  • Documentación OpenAPI: Especificaciones completas para validación
  • Escenarios Reales: Simulación de sistemas empresariales

4. Framework de Validación

  • Pruebas Automatizadas: Métricas de rendimiento, seguridad y UX
  • Red Teaming: Pruebas adversarias para validación de seguridad
  • Instrumentación: Recolección objetiva de datos experimentales

📚 Documentación Académica

📄 Artículo Completo

📋 Documentación de Investigación

🔬 Metodología Científica

  • Enfoque Experimental: Validación empírica con control de variables
  • Métricas Objetivas: Rendimiento, seguridad y experiencia del usuario
  • Pruebas Reproducibles: Framework automatizado para validación
  • Análisis Estadístico: Datos cuantitativos con intervalos de confianza

🔄 Workflow de Desarrollo Académico

📝 ¿Por qué este Workflow?

Este TCC fue desarrollado siguiendo un workflow orientado a código y versionamiento, con varias ventajas:

  1. 📚 Versionamiento Completo: Todo el contenido (código + texto académico) versionado con Git
  2. ✍️ Markdown + LaTeX: Facilidad de escritura + poder de formato académico
  3. 🔗 Gestión de Referencias: BibTeX para consistencia bibliográfica
  4. ⚙️ Automatización: Scripts para conversión Markdown → LaTeX → PDF
  5. 🔧 Integración: Código y documentación en el mismo repositorio
  6. 🔁 Reproducibilidad: Cualquier persona puede reproducir el entorno
  7. 👥 Colaboración: El formato texto facilita revisiones y sugerencias

📁 Estructura del Proyecto

TCC/
├── 📄 README.md                     # Este arquivo
├── 📄 pre-projeto.md                # Proposta inicial da pesquisa
├── 📄 CITATION.md                   # Formatos de citação
├── 📄 DOCUMENTATION_INDEX.md        # Índice completo da documentação
├── 📄 QUICK_START.md                # Guias de início rápido
├── 📄 RESEARCH_SUMMARY.md           # Resumo executivo da pesquisa
├── 🛠️ Makefile                     # Comandos de automação
│
├── 📚 article/                      # Documentação acadêmica
│   ├── 📖 article.md               # Artigo principal (fonte)
│   ├── 📄 article.pdf              # Artigo final compilado
│   ├── 📚 references.bib           # Referências bibliográficas
│   ├── 🖼️ images/                  # Figuras e diagramas
│   └── ⚙️ Makefile                 # Compilação LaTeX
│
├── 🤖 mcp-openapi-server/          # Gerador automático MCP
│   ├── 📦 package.json             # Dependências e scripts
│   ├── 🔧 src/                     # Código fonte
│   ├── 🧪 test/                    # Testes unitários
│   └── 📖 README.md                # Documentação técnica
│
├── 💬 chat-client/                  # Cliente multi-servidor
│   ├── 🌐 chat.html                # Interface web
│   ├── ⚙️ backend-server.js        # Servidor backend
│   ├── 📦 package.json             # Scripts específicos do sistema
│   ├── 🧪 tests/                   # Testes E2E (Playwright)
│   └── 📊 test-results/            # Resultados experimentais
│
├── 🏭 equipments-dummy-app/         # App teste - Equipamentos
│   ├── 📦 package.json             # Scripts e dependências
│   └── 🔧 src/                     # API REST Hono.js + TypeScript
│
├── 👥 professionals-dummy-app/      # App teste - Profissionais  
│   ├── 📦 package.json             # Scripts e dependências
│   └── 🔧 src/                     # API REST Hono.js + TypeScript
│
└── 🔖 bookmarks/                    # Pesquisa organizada
    ├── 📚 bookmarks.json           # Links de referência
    └── 💾 save-bookmarks.sh        # Script de backup

📚 Citación Académica

📄 Formato BibTeX

@mastersthesis{zanoni2025openapi,
  title = {Transformando APIs em Interfaces Conversacionais: Validação da Abordagem OpenAPI-MCP para Agentes Baseados em IA},
  author = {Zanoni, Lucas de Castro},
  school = {Centro Universitário UniSATC},
  year = {2025},
  type = {Trabalho de Conclusão de Curso},
  program = {Engenharia de Software},
  address = {Criciúma, SC, Brasil},
  url = {https://github.com/Castrozan/TCC}
}

📋 Otros formatos (ABNT, APA, IEEE): CITATION.md


👤 Autor y Contacto

Lucas de Castro Zanoni
📧 castro [dot] lucas290 [at] gmail [dot] com
🐙 @Castrozan
🎓 Graduando en Ingeniería de Software - UniSATC

Orientador: Prof. Thyerri Fernandes Mezzari
📧 thyerri [dot] mezzari [at] satc [dot] edu [dot] br


📄 Licencia

Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.