satanas66

🚀 Servidor MCP Modular

Community satanas66
Updated

Repositorio TFM MCP - Junio 2026

🚀 Servidor MCP Modular

Servidor MCP (Model Context Protocol) centralizado y modular diseñado para conectar modelos de lenguaje (LLMs) con recursos corporativos críticos de forma segura, escalable y mantenible.

Su objetivo principal es eliminar silos de información y permitir que agentes inteligentes puedan interactuar con:

  • Bases de datos MongoDB
  • Repositorios GitHub
  • Sistemas de archivos locales protegidos mediante sandbox

🎯 Características Principales

✅ Arquitectura modular y desacoplada

✅ Integración nativa con el protocolo MCP

✅ Gestión segura de repositorios GitHub

✅ Acceso controlado a MongoDB

✅ Sandbox dinámico para protección del sistema de archivos

✅ Auditoría y trazabilidad de acciones automatizadas

✅ Compatible con Claude Desktop y MCP Inspector

🏗️ Arquitectura

El proyecto implementa una arquitectura hexagonal dividida en tres capas:

[ Cliente MCP / Claude ]
           │
           ▼
┌──────────────────────────────────────┐
│ Capa de Aplicación (MCP Tools)       │
│ - mcp-server.js                      │
│ - database-tools.js                  │
│ - github-tools.js                    │
│ - file-system-tools.js               │
└───────────────┬──────────────────────┘
                │
                ▼
┌──────────────────────────────────────┐
│ Capa de Dominio (Services)           │
│ - database-service.js                │
│ - github-service.js                  │
│ - file-system-service.js             │
└───────────────┬──────────────────────┘
                │
                ▼
┌──────────────────────────────────────┐
│ Capa de Infraestructura              │
│ - mongodb.js                         │
│ - github.js                          │
│ - file-system.js                     │
└──────────────────────────────────────┘

Capas

1. Aplicación

Expone funcionalidades mediante MCP Tools, Resources y Prompts.

Responsabilidades:

  • Definición de esquemas JSON
  • Gestión de handlers
  • Exposición de capacidades MCP

2. Dominio

Contiene la lógica de negocio:

  • Orquestación de procesos
  • Reglas de validación
  • Políticas operativas

3. Infraestructura

Implementa la comunicación con sistemas externos:

  • MongoDB
  • GitHub API (Octokit)
  • Sistema de archivos local

🔒 Seguridad

Sandbox Dinámico

El acceso al sistema de archivos está protegido mediante un sandbox configurable.

Protección contra Path Traversal

Se utilizan:

path.resolve()
path.normalize()

para garantizar que ninguna operación pueda salir de los directorios autorizados.

Ejemplo bloqueado:

../../../../etc/passwd

Recursos Protegidos

Acceso denegado a:

.env
.git
node_modules

Auditoría

Todas las acciones automáticas sobre GitHub incorporan la firma:

[TFM-AGENT]

permitiendo trazabilidad completa de cambios.

📂 Estructura del Proyecto

tfm-mcp/
│
├── index.js
├── pipeline.prompt
├── resumen_tfm.txt
│
├── src/
│   │
│   ├── application/
│   │   ├── mcp-server.js
│   │   └── tools/
│   │       ├── database-tools.js
│   │       ├── github-tools.js
│   │       └── file-system-tools.js
│   │
│   ├── domain/
│   │   ├── database-service.js
│   │   ├── github-service.js
│   │   └── file-system-service.js
│   │
│   └── infrastructure/
│       ├── mongodb.js
│       ├── github.js
│       └── file-system.js
│
└── .env

⚙️ Requisitos

  • Node.js 18+
  • MongoDB
  • Token de GitHub con permisos de lectura/escritura

🚀 Instalación

1. Clonar repositorio

git clone <URL_REPOSITORIO>
cd tfm-mcp

2. Instalar dependencias

npm install

3. Configurar variables de entorno

Crear archivo .env:

# MongoDB
MONGODB_URI=mongodb://127.0.0.1:27017/tu_base_datos

# GitHub
GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxx

# Directorio raíz autorizado
USER_HOME=C:/tfm-mcp

# Carpetas permitidas dentro del sandbox
ALLOWED_PATHS=workspace,logs,auditoria

🛠️ Herramientas MCP Disponibles

🍃 Base de Datos (MongoDB)

Herramienta Descripción
listar_bases_de_datos Lista todas las bases de datos
ver_colecciones Muestra colecciones
crear_documento Inserta documentos
contar_documentos Cuenta registros
listar_documentos Obtiene los últimos documentos
actualizar_documento Actualiza registros
eliminar_documento Elimina registros

🐙 GitHub

Herramienta Descripción
ver_mis_repositorios Lista repositorios del usuario
crear_repositorio Crea repositorios privados
crear_rama_github Genera ramas
crear_pull_request Abre Pull Requests
subir_archivo_github Crea o actualiza archivos

📂 Sistema de Archivos

Herramienta Descripción
leer_archivo_local Lee archivos autorizados
listar_archivos_proyecto Explora directorios
clonar_proyecto_github Clona repositorios
ejecutar_git_local Ejecuta comandos Git permitidos

🔄 Integración con Claude Desktop

Agregar la siguiente configuración en:

claude_desktop_config.json
{
  "mcpServers": {
    "tfm-enterprise-agent": {
      "command": "node",
      "args": [
        "--env-file=C:\\tfm-mcp\\.env",
        "C:\\tfm-mcp\\index.js"
      ]
    }
  }
}

Ajusta las rutas según la ubicación real del proyecto.

🔍 Depuración

Para inspeccionar y probar el servidor MCP:

npx @modelcontextprotocol/inspector node index.js

Esto abrirá la interfaz oficial de diagnóstico MCP para validar herramientas, recursos y prompts.

📚 Recursos MCP

El servidor expone capacidades MCP mediante:

Tools

Herramientas ejecutables por el agente.

Resources

Recursos de solo lectura como:

resumen://tfm-info

Prompts

Plantillas reutilizables para auditoría, análisis y automatización.

👥 Autoría y Datos Académicos 🎓

  • Autor: Edwin Patricio Arévalo Angulo
  • Correo: [email protected]
  • Proyecto: Trabajo Fin de Máster (TFM)
  • Programa: Máster en Ingeniería de Software Cloud, Datos y Gestión TI
  • Tema: Estudio y Prueba de Concepto sobre el Model Context Protocol: Eliminación de silos de información, gobernanza y seguridad en agentes de IA
  • Convocatoria: 2025/2026

MCP Server · Populars

MCP Server · New

    CodeAbra

    iai-pme

    The best-benchmarked open-source memory system for AI coding assistants

    Community CodeAbra
    cyberkaida

    ReVa - Ghidra MCP Server for AI-Powered Reverse Engineering

    MCP server for reverse engineering tasks in Ghidra 👩‍💻

    Community cyberkaida
    JcDizzy

    CC Web MCP

    面向 Claude Code 第三方模型后端的轻量本地 WebSearch/WebFetch fallback MCP。A lightweight, local-first WebSearch/WebFetch fallback MCP for Claude Code when using third-party Anthropic-compatible models such as DeepSeek, Qwen or Kimi.

    Community JcDizzy
    lasso-security

    MCP Gateway

    A plugin-based gateway that orchestrates other MCPs and allows developers to build upon it enterprise-grade agents.

    Community lasso-security
    magicyuan876

    Tianshu 天枢

    天枢 - 企业级 AI 一站式数据预处理平台 | PDF/Office转Markdown | 支持MCP协议AI助手集成 | Vue3+FastAPI全栈方案 | 文档解析 | 多模态信息提取

    Community magicyuan876