Kitbag MCP
Servidor MCP de configuración cero que incluye más de 50 herramientas de utilidad: conversores, OCR, scraping y formateadores.
Documentación
Kitbag MCP es un servidor único y de código abierto de Model Context Protocol que incluye una biblioteca seleccionada de más de 50 herramientas de utilidad de alto valor — convertidores de documentos, procesadores OCR, raspadores web, formateadores de datos y utilidades de desarrollo de IA — todo en un solo lugar.
En lugar de instalar, configurar y pagar por alojar una docena de servidores MCP de un solo propósito, instala Kitbag MCP una vez y habilita selectivamente solo los módulos que necesites. Se ejecuta enteramente en tu máquina: cero costos de alojamiento, sin claves API, sin configuración de servidor.
📖 Tabla de Contenido
Click para expandir
🚀 Inicio Rápido (Configuración Cero)
Ejecuta al instante usando npx (se requiere Node.js):
npx kitbag-mcp
Exponer Módulos Específicos (Ahorra Tokens de Contexto LLM)
Para evitar que tus agentes de IA se vean abrumados por las opciones de herramientas, habilita solo lo que necesites:
# Enable PDF and Web scraping modules only
npx kitbag-mcp --enabled-modules pdf,web
⚙️ Configuración de Clientes Compatibles
1. Claude Desktop
Agrega esta entrada a tu claude_desktop_config.json:
{
"mcpServers": {
"kitbag-mcp": {
"command": "npx",
"args": [
"-y",
"kitbag-mcp",
"--enabled-modules",
"pdf,web,image,data,utility,ai"
]
}
}
}
2. Cursor
- Ve a Configuración → Funciones Beta → MCP.
- Haz clic en + Agregar Nuevo Servidor MCP.
- Configura:
- Nombre:
Kitbag MCP - Tipo:
stdio - Comando:
npx -y kitbag-mcp --enabled-modules pdf,web,data,utility
- Nombre:
3. Windsurf
Agrega esta entrada a tu mcp_config.json:
{
"mcpServers": {
"kitbag-mcp": {
"command": "npx",
"args": [
"-y",
"kitbag-mcp"
],
"env": {
"KITBAG_ENABLED_MODULES": "pdf,web,data,utility"
}
}
}
}
🎛️ Indicadores de Configuración y Variables de Entorno
Kitbag MCP se puede configurar mediante indicadores de CLI, variables de entorno o un archivo de configuración JSON — lo que mejor se adapte a tu flujo de trabajo.
| Fuente de Configuración | Ejemplo de Uso |
|---|---|
| Indicadores de CLI | --enabled-modules pdf,web o --enabled-tools utility.qr_generate |
| Variables de Entorno | KITBAG_ENABLED_MODULES=pdf,web o KITBAG_ENABLED_TOOLS=utility.qr_generate |
| Configuración JSON | Un archivo kitbag-config.json en el directorio de trabajo actual, o mediante --config /path/to/config.json |
Esquema de kitbag-config.json:
{
"enabledModules": ["pdf", "web", "image", "data", "utility", "ai", "developer"],
"enabledTools": [],
"defaultTimeoutMs": 30000,
"maxPayloadSizeBytes": 52428800
}
🗺️ Índice de Categorías de Herramientas
| Categoría | Prefijo | Herramientas | Enfoque |
|---|---|---|---|
pdf.* | 6 | Análisis, conversión, fusión, división | |
| 🌐 Web | web.* | 7 | Raspado, fuentes, sitemaps, DNS |
| 📸 Imagen y OCR | image.* | 5 | Redimensionamiento, compresión, OCR, EXIF |
| 📊 Datos | data.* | 8 | Conversión de CSV / JSON / XML / YAML |
| 💻 Desarrollo | developer.* | 11 | Formateo, linting, diff, decodificación |
| 🛠️ Utilidad | utility.* | 12 | Criptografía, QR, redes, archivos |
| 🧠 IA | ai.* | 1 | Fragmentación de texto para ingesta LLM |
📚 Directorio Completo de Herramientas
📄 Herramientas PDF (pdf.*)
Analizadores y manipuladores PDF locales de alto rendimiento.
| Nombre de Herramienta | Descripción | Ejemplo de Prompt para Agente |
|---|---|---|
pdf.convert_to_text | Extrae texto sin procesar de un documento PDF. | "Extrae el texto de reports/invoice.pdf" |
pdf.convert_to_markdown | Analiza el PDF y lo formatea como Markdown limpio. | "Convierte el diseño de guide.pdf a markdown" |
pdf.extract_images | Extrae los recursos de imagen incrustados en un PDF. | "Extrae todas las imágenes de slide_deck.pdf" |
pdf.extract_tables | Extrae datos tabulares estructurados de páginas PDF. | "Saca todas las tablas de financial_report.pdf" |
pdf.merge | Fusiona múltiples archivos PDF en orden. | "Fusiona doc1.pdf y doc2.pdf en un solo archivo" |
pdf.split | Divide rangos de páginas específicos de un PDF. | "Dame las páginas 1 a 3 de main_guide.pdf" |
🌐 Raspado Web y Redes (web.*)
Interactúa con documentos web sin procesar y consulta sistemas de red.
| Nombre de Herramienta | Descripción | Ejemplo de Prompt para Agente |
|---|---|---|
web.to_markdown | Raspa una página web, limpia el desorden y la convierte a Markdown. | "Convierte el artículo en https://example.com/blog a markdown" |
web.extract_metadata | Extrae título, descripción, etiquetas OG y datos JSON-LD. | "Obtén los metadatos de la URL https://news.ycombinator.com" |
web.extract_links | Raspa una página web y lista enlaces internos y externos. | "Encuentra todos los enlaces externos en la página de Wikipedia sobre IA" |
web.rss_parser | Analiza un XML de feed RSS o Atom en JSON. | "Obtén los últimos elementos del feed de https://github.blog/feed/" |
web.sitemap_generator | Obtiene y analiza una URL de sitemap.xml, extrayendo todas las URLs. | "Obtén todas las URLs del sitemap de google.com" |
web.dns_lookup | Realiza resolución DNS (A, AAAA, MX, TXT, etc.). | "Haz una consulta de registro MX para el dominio gmail.com" |
web.youtube_transcript | Extrae transcripciones de texto y subtítulos con marcas de tiempo. | "Obtén la transcripción de https://www.youtube.com/watch?v=dQw4w9" |
📸 Herramientas de Imagen y OCR (image.*)
Manipula imágenes y extrae texto localmente.
| Nombre de Herramienta | Descripción | Ejemplo de Prompt para Agente |
|---|---|---|
image.ocr | Extrae texto de una imagen localmente usando Tesseract OCR. | "Extrae el texto de screenshot.png" |
image.resize | Redimensiona las dimensiones de una imagen (ancho y alto). | "Redimensiona avatar.png a 200x200 píxeles" |
image.compress | Comprime el tamaño de archivo de una imagen con calidad personalizada. | "Comprime banner.jpg al 80% de calidad" |
image.convert_format | Convierte imágenes entre formatos (PNG, JPEG, WebP, etc.). | "Convierte logo.png al formato webp" |
image.exif_metadata | Extrae metadatos EXIF de cámara y ubicación de archivos de imagen. | "Muéstrame las coordenadas GPS y el modelo de cámara de photo.jpg" |
📊 Transformación de Datos (data.*)
Conversión rápida y sin conexión entre formatos de datos estándar.
| Nombre de Herramienta | Descripción | Ejemplo de Prompt para Agente |
|---|---|---|
data.csv_to_json | Convierte un archivo CSV o texto sin procesar a JSON. | "Analiza users.csv y devuélvelo como JSON" |
data.json_to_csv | Convierte un array JSON de objetos a salida CSV. | "Convierte este array de usuarios a una tabla CSV" |
data.xml_to_json | Convierte documentos XML a objetos JSON estructurados. | "Convierte este texto XML de configuración a JSON" |
data.json_to_xml | Convierte objetos JSON a salida XML limpia. | "Exporta este objeto JSON a formato de etiquetas XML" |
data.yaml_to_json | Convierte documentos YAML a JSON. | "Convierte el archivo YAML de configuración de Kubernetes a JSON" |
data.json_to_yaml | Convierte objetos JSON a formato YAML limpio. | "Formatea este bloque JSON de base de datos como YAML" |
data.deduplicate | Elimina duplicados de arrays de objetos JSON mediante una clave específica. | "Elimina duplicados de esta lista de objetos de usuario por ID" |
data.diff_arrays | Compara dos arrays JSON y lista las diferencias. | "Compara el array A y B y muéstrame las adiciones y eliminaciones" |
💻 Utilidades de Desarrollo (developer.*)
Formatos estándar, validación y herramientas de diseño para desarrolladores.
| Nombre de Herramienta | Descripción | Ejemplo de Prompt para Agente |
|---|---|---|
developer.json_formatter | Formatea y embellece cadenas JSON con indentación personalizada. | "Embellece esta cadena JSON usando indentación de 4 espacios" |
developer.jwt_decoder | Decodifica tokens JWT para leer las declaraciones de payload/header. | "Decodifica este token JWT: eyJhbGciOiJI..." |
developer.sql_formatter | Formatea cadenas SQL para múltiples dialectos de bases de datos. | "Formatea esta consulta select desordenada para PostgreSQL" |
developer.mermaid_generate | Crea diagramas Mermaid (diagramas de flujo, de secuencia, etc.). | "Genera un diagrama de flujo que represente este flujo de usuario" |
developer.openapi_parser | Analiza y formatea archivos de especificación OpenAPI/Swagger. | "Lista los endpoints y esquemas de solicitud de este openapi.yaml" |
developer.regex_tester | Prueba coincidencias de expresiones regulares en texto. | "Prueba si este regex de correo coincide con test@example.com" |
developer.cron_parser | Analiza expresiones Cron y lista los próximos tiempos de ejecución. | "Dime cuándo se ejecuta a continuación el trabajo cron '0 9 * * 1-5'" |
developer.diff_files | Muestra las diferencias de líneas entre archivos de texto. | "Muéstrame el diff entre fileA.txt y fileB.txt" |
developer.diff_json | Muestra las diferencias entre esquemas JSON. | "Resalta los cambios estructurales entre config1.json y config2.json" |
developer.code_detector | Detecta el lenguaje de programación y la estructura de sintaxis. | "¿En qué lenguaje de programación está escrito este código?" |
developer.markdown_lint | Aplica lint y valida el formato en archivos Markdown. | "Encuentra errores de estilo o espacios finales en index.md" |
🛠️ Herramientas de Utilidad (utility.*)
Funciones auxiliares de sistema, red y criptografía.
| Nombre de Herramienta | Descripción | Ejemplo de Prompt para Agente |
|---|---|---|
utility.qr_generate | Genera un código QR como archivo o Data URL base64. | "Crea un código QR que apunte a https://github.com" |
utility.qr_read | Lee y decodifica un código QR de un archivo o flujo. | "¿Qué dice el código QR dentro de code.png?" |
utility.base64_encode | Convierte cadenas/archivos a formato base64. | "Codifica en base64 la cadena 'Hello World'" |
utility.base64_decode | Decodifica cadenas base64 de vuelta a texto. | "Decodifica 'SGVsbG8gV29ybGQ='" |
utility.uuid_generate | Genera UUIDs seguros (v4/v1) o contraseñas seguras. | "Genera una contraseña segura de longitud 16" |
utility.file_hash | Calcula hashes md5, sha1 o sha256 de texto/datos. | "Calcula el hash sha256 de esta cadena" |
utility.email_validate | Valida la sintaxis y verifica los registros MX de correos electrónicos. | "Comprueba si support@github.com tiene registros MX válidos" |
utility.ssl_check | Consulta la fecha de expiración del certificado e información de cualquier dominio. | "Comprueba cuándo expira el certificado SSL de google.com" |
utility.unit_convert | Convierte valores entre unidades físicas o de datos. | "Convierte 1024 megabytes a gigabytes" |
utility.url_parser | Desglosa URLs en protocolo, dominio, parámetros, etc. | "Analiza esta URL de consulta de búsqueda en sus componentes" |
utility.zip_create | Comprime archivos o carpetas en un único archivo ZIP. | "Comprime source/ y assets/ en workspace.zip" |
utility.zip_extract | Extrae un archivo ZIP a una carpeta de destino. | "Extrae archivos de archive.zip a build_dir/" |
🧠 Fragmentador de IA (ai.*)
Segmenta estructuras de texto largas dinámicamente para su ingesta.
| Nombre de Herramienta | Descripción | Ejemplo de Prompt para Agente |
|---|---|---|
ai.text_chunker | Fragmenta texto largo usando estrategias de párrafo/oración/palabra. | "Fragmenta este documento de texto en tamaños de 500 caracteres con una superposición de 50 caracteres" |
🏗️ Cómo Funciona
flowchart LR
A[AI Agent / Client] -->|MCP Protocol| B(Kitbag MCP Server)
B --> C{Enabled Modules}
C --> D[📄 pdf.*]
C --> E[🌐 web.*]
C --> F[📸 image.*]
C --> G[📊 data.*]
C --> H[💻 developer.*]
C --> I[🛠️ utility.*]
C --> J[🧠 ai.*]
D & E & F & G & H & I & J --> K[Local Execution<br/>No External API Calls]
K --> A
Kitbag MCP se ejecuta como un único proceso local. Tu cliente de IA se comunica con él mediante el protocolo MCP estándar, y solo los módulos que habilitas se exponen como herramientas — manteniendo el uso de tokens bajo y tu flujo de trabajo rápido y privado.
🛠️ Desarrollo Local y Contribuciones
Cada herramienta es completamente autónoma. Agregar una nueva herramienta es tan simple como crear una carpeta dentro de src/tools/<category>/<tool_name>/.
Requisitos de Contribución
| Archivo | Propósito |
|---|---|
tool.ts | El código principal de ejecución, que exporta un ToolDefinition. |
README.md | Documentación directa de herramientas y descripciones de parámetros. |
example.json | Entradas de muestra y salidas esperadas. |
tests.ts | Pruebas unitarias autocontenidas que usan mocks cuando es necesario para ejecutarse al instante. |
Guía de Comandos
# Build compiler output
npm run build
# Run all 50 module tests
npm test
# Run real-life execution checks (makes live API and DNS requests)
npx tsx src/tests/run_real_life.ts
⚖️ Licencia
Distribuido bajo la Licencia MIT. Consulta LICENSE para más información. Completamente de código abierto y libre de adaptar para uso personal o comercial.
⭐ Si Kitbag MCP te ahorra tiempo, ¡considera darle una estrella al repositorio! ⭐