Skip to main content
Glama
Gnidreve

Genesis-World-MCP

by Gnidreve

cas-genesisworld-mcp

npm Docker CI License: MIT

Conecta Claude, Cursor o cualquier agente de IA compatible con MCP a tu CRM de CAS genesisWorld. Busca contactos, gestiona tareas y citas, y lee o escribe registros, todo en lenguaje natural y sin escribir ni una sola llamada a la API.

  • 69 herramientas, incluidos 7 flujos nativos que agrupan operaciones CRM de varios pasos (como comprobar conflictos de agenda antes de reservar una reunión, o comprobar duplicados antes de crear un contacto) en una sola llamada.

  • Acceso completo de lectura/escritura a tareas, contactos, citas, documentos, listas de distribución y más; además de acceso genérico a cualquier tipo de objeto personalizado que defina tu instalación.

  • Modo de solo lectura disponible para un uso seguro y exploratorio.

  • Se entrega como una imagen de Docker o un paquete npm listos para usar.

Inicio rápido

Añade esto a la configuración de tu cliente MCP (por ejemplo, claude_desktop_config.json de Claude Desktop):

{
  "mcpServers": {
    "cas-genesisworld": {
      "command": "npx",
      "args": ["-y", "cas-genesis-world-mcp"],
      "env": {
        "GENESISWORLD_BASE_URL": "http://your-genesisworld-server/genesisrest.svc",
        "GENESISWORLD_PRODUCT_KEY": "your-product-key",
        "GENESISWORLD_USERNAME": "your-username",
        "GENESISWORLD_PASSWORD": "your-password"
      }
    }
  }
}

Reinicia tu cliente: las herramientas aparecerán automáticamente. Pide a tu agente que busque un contacto, que liste tus tareas abiertas o que reserve una reunión, y él se encargará del resto.

¿Prefieres un servidor persistente autoalojado en lugar de un proceso por cliente? Consulta Autoalojamiento con Docker a continuación.

Related MCP server: Cleyrop MCP

Qué puedes pedirle

Una vez conectado, tu agente puede gestionar solicitudes como:

  • "Busca los datos de contacto de Jane Doe y muéstrame sus tareas abiertas."

  • "Crea una tarea de seguimiento para este cliente potencial y vincúlala a su ficha de contacto."

  • "Reserva una reunión con el equipo de ventas el próximo martes a las 10:00 — comprueba primero los conflictos en la agenda de todos."

  • "Comprueba si hay posibles duplicados antes de crear un nuevo contacto para Acme Corp."

  • "Genera un informe para esta oportunidad."

Este tipo de solicitudes las resuelven los flujos — llamadas individuales a herramientas que agrupan la secuencia de varios pasos de solicitudes a la API que, de otro modo, una persona tendría que programar manualmente.

Herramientas y flujos

Flujos — acciones compuestas, una sola llamada cada una

Flow

Modo

Qué hace

my_open_tasks

lectura

Usuario actual + su lista de tareas (ventana de vencimiento, vista guardada o filtro de texto completo) en una sola llamada

task_overview

lectura

Registro de tarea + enlaces + etiquetas, obtenidos en paralelo

create_task

escritura

Crear una tarea y, opcionalmente, vincularla a otro objeto (p. ej., un contacto)

find_contact

lectura

Búsqueda de contactos por nombre y/o número de teléfono, en paralelo

contact_360

lectura

Contacto + dossier de cobros + etiquetas + enlaces, obtenidos en paralelo

create_address_safe

escritura

Comprobación de duplicados primero: solo crea cuando no se encuentran candidatos

create_appointment_safe

escritura

Comprobación opcional de conflictos → crear → añadir participantes, en una sola llamada

Lectura (39)

Tool

Endpoint

smart_search

GET /v7.0/smartsearch

get_data_object

GET /v7.0/type/{dataObjectType}/{dataObjectGGUID}

get_dossier

GET /v7.0/type/{dataObjectType}/{dataObjectGGUID}/dossier/full

list_data_objects

GET /v7.0/type/{dataObjectType}/list

list_views

GET /v7.0/type/{dataObjectType}/view/list

list_data_objects_by_view

GET /v7.0/type/{dataObjectType}/view/{viewID}/list

list_available_data_object_types

GET /v7.0/user/self/dataobjecttypepermission/list

get_data_object_types_metadata

GET /v7.0/metadata

list_links

GET /v7.0/type/{dataObjectType}/{dataObjectGGUID}/link/list

list_recent_data_objects

GET /v7.0/type/{dataObjectType}/recent/list

get_available_products

GET /v7.0/type/gwopportunity/availableproducts

get_data_object_count

GET /v7.0/type/{dataObjectType}/count

get_primary_link_parents

GET /v7.0/type/{dataObjectType}/{dataObjectGGUID}/primarylinkparents

list_users

GET /v7.0/user/list

get_user_self

GET /v7.0/user/self

get_view

GET /v7.0/type/{dataObjectType}/view/{viewID}

list_tags

GET /v7.0/tags

get_object_tags

GET /v7.0/type/{dataObjectType}/{dataObjectGGUID}/tags

get_full_data_objects

GET /v7.0/type/{dataObjectType}/full

list_data_objects_by_view_full

GET /v7.0/type/{dataObjectType}/view/{viewID}/full

get_data_objects_bulk

POST /v7.0/type/{dataObjectType}/records (lectura a pesar de POST)

get_ticket_service_agreements

GET /v7.0/type/task/ticket/serviceagreements

get_vcard

GET /v7.0/type/address/{dataObjectGGUID}/vcard

get_salutation

POST /v7.0/type/address/salutation (lectura a pesar de POST)

format_phone_number

POST /v7.0/type/address/formatphonenumber (lectura a pesar de POST)

check_appointment_conflicts

GET /v7.0/type/appointment/conflicts

get_participant_summary

GET /v7.0/type/appointment/{gguid}/participant/summary

list_appointment_participants

GET /v7.0/type/appointment/{gguid}/participant/full

get_document_file

GET /v7.0/type/document/{gguid}/file (nunca bloquea)

list_document_versions

GET /v7.0/type/document/{gguid}/file/version/list

list_email_attachments

GET /v7.0/type/emailstore/{gguid}/attachment/list

get_email_attachment

GET /v7.0/type/emailstore/{gguid}/attachment/{attachmentId}

get_email_file

GET /v7.0/type/emailstore/{gguid}/file

list_object_permissions

GET /v7.0/type/{t}/{gguid}/permission/full

list_distributions

GET /v7.0/type/gwdistribution/list

list_distribution_addresses

GET /v7.0/type/gwdistribution/{distributionGuid}/address/list

list_report_templates

GET /v7.0/type/report/template/{templateType}

generate_report

POST /v7.0/type/report/template/{templateGGUID} (lectura a pesar de POST — renderiza, no modifica)

readme (como herramienta)

documento estático de orientación local del servidor

Escritura (23 — ocultos en modo de solo lectura, junto con los flujos de escritura anteriores)

Tool

Endpoint

create_data_object

POST /v7.0/type/{dataObjectType}

update_data_object

PUT /v7.0/type/{dataObjectType}/{dataObjectGGUID}

delete_data_object

DELETE /v7.0/type/{dataObjectType}/{dataObjectGGUID}

restore_data_object

POST /v7.0/type/{dataObjectType}/rbin/undelete

create_link

POST /v7.0/type/{dataObjectType}/{dataObjectGGUID}/link

delete_link

DELETE /v7.0/type/{t}/{gguid}/link/{objecttype2}/{guid2}/{attribute}

set_object_tags

POST /v7.0/type/{dataObjectType}/{dataObjectGGUID}/tags/user

append_notes

POST /v7.0/type/{t}/{gguid}/notes/{fieldName}

create_dossier_entry

POST /v7.0/type/{dataObjectType}/{dataObjectGGUID}/dossier

delete_dossier_entry

DELETE /v7.0/type/{t}/{gguid}/dossier/{dossierEntryGGUID}

set_contact_persons_active

POST /v7.0/type/address/{gguid}/contactperson/activate|deactivate

add_appointment_participant

POST /v7.0/type/appointment/{gguid}/participant

remove_appointment_participant

DELETE /v7.0/type/appointment/{gguid}/participant/{participantGGUID}

set_recurrence

POST /v7.0/type/{t}/recurrence / PUT …/recurrence/{periodGuid}

delete_recurrence

DELETE /v7.0/type/{t}/recurrence/{periodGuid}

set_alarm

PUT /v7.0/type/{t}/{gguid}/alarm/self

delete_alarm

DELETE /v7.0/type/{t}/{gguid}/alarm/self

set_object_permission

POST /v7.0/type/{t}/{gguid}/permission

delete_object_permission

DELETE /v7.0/type/{t}/{gguid}/permission/{permissionGGUID}

add_distribution_addresses

POST /v7.0/type/gwdistribution/{distributionGuid}/address

remove_distribution_address

DELETE /v7.0/type/gwdistribution/{distributionGuid}/address/{addressGGUID}

convert_lead

POST /v7.0/type/gwsllead/{dataObjectGGUID}/convert

recalculate_opportunity_positions

PUT /v7.0/type/gwopportunitypos/recalculatevalues

La API de origen completa sobre la que se basa esto está incluida como swagger.json.

Recursos

Además de las herramientas, el servidor expone recursos MCP para datos que rara vez cambian, de modo que tu agente no gaste llamadas a herramientas redescubriéndolos en cada sesión:

  • genesisworld://readme — documento de orientación estático para el propio agente (modelo de dominio, patrones de navegación, reglas de eficiencia).

  • genesisworld://types — tipos de objetos de datos accesibles para el usuario, con permisos. Se almacena en caché durante 15 min.

  • genesisworld://metadata/{objectType} — esquema de campos/relaciones de un tipo, p. ej. genesisworld://metadata/ADDRESS. Se almacena en caché durante 15 min.

  • genesisworld://views/{objectType} — vistas guardadas de un tipo, p. ej. genesisworld://views/TASK. Se almacena en caché durante 15 min.

Autohospedaje con Docker

Para un servidor persistente al que puedan apuntar varios clientes (en lugar de un proceso npx por cliente):

docker run -d --name cas-genesisworld-mcp -p 8084:3000 \
  -e GENESISWORLD_BASE_URL="http://your-genesisworld-server/genesisrest.svc" \
  -e GENESISWORLD_PRODUCT_KEY="your-product-key" \
  -e GENESISWORLD_USERNAME="your-username" \
  -e GENESISWORLD_PASSWORD="your-password" \
  vaatu/cas-genesis-world-mcp

# Read-only mode: append --read-only after the image name
docker run -d --name cas-genesisworld-mcp -p 8084:3000 \
  -e GENESISWORLD_BASE_URL="http://your-genesisworld-server/genesisrest.svc" \
  -e GENESISWORLD_PRODUCT_KEY="your-product-key" \
  -e GENESISWORLD_USERNAME="your-username" \
  -e GENESISWORLD_PASSWORD="your-password" \
  vaatu/cas-genesis-world-mcp --read-only

Multiinquilino: un servidor, muchas identidades de genesisWorld

Por defecto, el contenedor tiene una identidad fija de genesisWorld para cada cliente que se conecta. Con --client-credentials, no tiene ninguna: cada cliente se autentica por sí mismo, de modo que un solo servidor puede atender con seguridad a varias personas/equipos con distintos inicios de sesión de genesisWorld:

docker run -d --name cas-genesisworld-mcp -p 8084:3000 \
  -e GENESISWORLD_BASE_URL="http://your-genesisworld-server/genesisrest.svc" \
  vaatu/cas-genesis-world-mcp --client-credentials

Cada cliente envía entonces sus propias credenciales como cabeceras al conectarse:

{
  "mcpServers": {
    "cas-genesisworld": {
      "url": "http://localhost:8084/mcp",
      "headers": {
        "X-GenesisWorld-Username": "your-username",
        "X-GenesisWorld-Password": "your-password"
      }
    }
  }
}

X-GenesisWorld-Product-Key es opcional aquí: si mantienes GENESISWORLD_PRODUCT_KEY configurada en el servidor, los clientes que omitan su propia clave de producto recurrirán a ella. Solo transporte HTTP (no hay canal de cabeceras por solicitud en stdio); una solicitud a la que le falten tanto la cabecera de usuario como la de contraseña se rechaza directamente (HTTP 401); nunca recurre a una identidad compartida.

El endpoint de MCP está ahora en http://localhost:8084/mcp. Apunta tu cliente a él:

{
  "mcpServers": {
    "cas-genesisworld": {
      "url": "http://localhost:8084/mcp"
    }
  }
}

Configuración

Dos tipos de ajustes, estrictamente separados: ningún ajuste es de ambos tipos. Los entornos configuran el despliegue (dónde vive la API, quién se conecta); las opciones de lanzamiento activan o desactivan comportamientos al arrancar.

Entornos

Variable

Requerido

Propósito

GENESISWORLD_BASE_URL

URL base del servicio REST, p. ej. http://demo.cas.de/genesisrest.svc

GENESISWORLD_PRODUCT_KEY

*

Se envía como X-CAS-PRODUCT-KEY en cada solicitud

GENESISWORLD_USERNAME

*

Usuario de autenticación básica

GENESISWORLD_PASSWORD

*

Contraseña de autenticación básica

MCP_TRANSPORT

no

http (por defecto en Docker) o stdio

MCP_HOST / MCP_PORT

no

Dirección de enlace para el modo HTTP (por defecto 0.0.0.0:3000)

GENESISWORLD_MAX_RESULT_CHARS

no

Trunca respuestas demasiado grandes (por defecto 60000 caracteres; 0 lo desactiva)

GENESISWORLD_QUIET

no

true desactiva el registro de stderr por solicitud

* Se requieren en la práctica para que cualquier solicitud real tenga éxito, excepto en el modo --client-credentials (ver más abajo), donde el servidor no tiene identidad propia y no se requiere ninguna de estas tres.

Opciones de lanzamiento

Opción

Requerido

Propósito

--read-only

no

Registra solo herramientas de lectura para esa sesión: las herramientas de mutación no solo están bloqueadas, no existen

--client-credentials

no

El servidor no tiene una identidad fija de genesisWorld; cada cliente HTTP se autentica mediante cabeceras de solicitud (ver «Multiinquilino» más arriba). Solo transporte HTTP

Pasa las opciones de lanzamiento en la línea de comandos, o después del nombre de la imagen en docker run (como se muestra arriba). Ninguna de ellas tiene equivalente en variables de entorno, por diseño.

Licencia

MIT


¿Quieres añadir una herramienta o entender cómo está construido? Consulta AGENTS.md para la documentación de arquitectura y contribución, y ROADMAP.md para el plan del proyecto.

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
6dRelease cycle
2Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Read-only MCP server for the Daktela contact center REST API, providing 40 tools to access tickets, calls, emails, chats, contacts, CRM records, campaigns, and real-time agent status.
    45
    1
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides live Zoho CRM data access via MCP tools, enabling queries on modules, records, fields, and related lists without syncing data.
  • A
    license
    A
    quality
    B
    maintenance
    Enables MCP clients to read, search, create, update, and manage records in Twenty CRM with a safe, composable 14-tool interface and guarded destructive operations.
    14
    MIT

View all related MCP servers

Related MCP Connectors

  • Search, document and execute authenticated API calls across 700+ apps via one MCP server

  • Read-only MCP server for ClassQuill, a tutoring-business-management platform.

  • XFA's remote MCP server — query device posture, compliance, policies & CVEs. Read-only.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Gnidreve/Genesis-World-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server