Skip to main content
Glama
Gnidreve

Genesis-World-MCP

by Gnidreve

cas-genesisworld-mcp

npm Docker CI License: MIT

Verbinden Sie Claude, Cursor oder einen beliebigen MCP-kompatiblen KI-Agenten mit Ihrem CAS genesisWorld CRM. Suchen Sie Kontakte, verwalten Sie Aufgaben und Termine und lesen oder schreiben Sie Datensätze – über natürliche Sprache, ohne einen einzigen API-Aufruf zu schreiben.

  • 69 Tools, darunter 7 native Flows, die mehrstufige CRM-Operationen (wie die Prüfung auf Terminkonflikte vor der Buchung eines Meetings oder die Prüfung auf Duplikate vor der Erstellung eines Kontakts) in einem einzigen Aufruf bündeln.

  • Voller Lese-/Schreibzugriff auf Aufgaben, Kontakte, Termine, Dokumente, Verteilerlisten und mehr – plus generischer Zugriff auf jeden benutzerdefinierten Objekttyp, den Ihre Installation definiert.

  • Nur-Lese-Modus für sichere, explorative Nutzung verfügbar.

  • Wird als fertiges Docker-Image oder npm-Paket geliefert.

Schnellstart

Fügen Sie dies zur Konfiguration Ihres MCP-Clients hinzu (z. B. claude_desktop_config.json von 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"
      }
    }
  }
}

Starten Sie Ihren Client neu – die Tools erscheinen automatisch. Bitten Sie Ihren Agenten, einen Kontakt zu finden, Ihre offenen Aufgaben aufzulisten oder ein Meeting zu buchen, und er übernimmt den Rest.

Bevorzugen Sie einen persistenten, selbst gehosteten Server anstelle eines pro Client laufenden Prozesses? Siehe Self-hosting mit Docker unten.

Related MCP server: Cleyrop MCP

Was Sie fragen können

Sobald die Verbindung hergestellt ist, kann Ihr Agent Anfragen wie die folgenden bearbeiten:

  • „Finden Sie die Kontaktdaten von Jane Doe und zeigen Sie mir ihre offenen Aufgaben."

  • „Erstellen Sie eine Folgeaufgabe für diesen Lead und verknüpfen Sie sie mit dem Kontaktdatensatz."

  • „Buchen Sie ein Meeting mit dem Vertriebsteam nächsten Dienstag um 10 Uhr – prüfen Sie zuerst die Kalender aller auf Konflikte."

  • „Prüfen Sie auf mögliche Duplikate, bevor Sie einen neuen Kontakt für Acme Corp. erstellen."

  • „Generieren Sie einen Bericht für diese Opportunity."

Solche Anfragen werden von Flows beantwortet – einzelnen Tool-Aufrufen, die die mehrstufige Sequenz von API-Anfragen bündeln, die ein Mensch sonst von Hand skripten müsste.

Tools & Flows

Flows – zusammengesetzte Aktionen, jeweils ein Aufruf

Flow

Modus

Was es tut

my_open_tasks

lesen

Aktueller Benutzer + seine Aufgabenliste (Fälligkeitsfenster, gespeicherte Ansicht oder Volltextfilter) in einem Aufruf

task_overview

lesen

Aufgaben-Datensatz + Verknüpfungen + Tags, parallel abgerufen

create_task

schreiben

Aufgabe erstellen und optional mit einem anderen Objekt verknüpfen (z. B. einem Kontakt)

find_contact

lesen

Kontaktsuche nach Name und/oder Telefonnummer, parallel

contact_360

lesen

Kontakt + Sammlungsdossier + Tags + Verknüpfungen, parallel abgerufen

create_address_safe

schreiben

Duplikatprüfung zuerst – erstellt nur, wenn keine Kandidaten gefunden werden

create_appointment_safe

schreiben

Optionale Konfliktprüfung → erstellen → Teilnehmer hinzufügen, in einem Aufruf

Lesen (39)

Werkzeug

Endpunkt

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 (read despite 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 (read despite POST)

format_phone_number

POST /v7.0/type/address/formatphonenumber (read despite 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 (never locks)

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} (read despite POST — renders, doesn't mutate)

readme (Tool-Form)

server-lokales statisches Orientierungsdokument

Schreiben (23 – im Nur-Lese-Modus ausgeblendet, zusammen mit den obigen Schreib-Flows)

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

Die vollständige Upstream-API, auf der dies aufbaut, ist als swagger.json eingecheckt.

Ressourcen

Über die Tools hinaus stellt der Server MCP-Ressourcen für Daten bereit, die sich selten ändern, damit Ihr Agent nicht bei jeder Sitzung Tool-Aufrufe verschwendet, um sie neu zu entdecken:

  • genesisworld://readme — statisches Orientierungsdokument für den Agenten selbst (Domänenmodell, Navigationsmuster, Effizienzregeln).

  • genesisworld://types — Dem Benutzer zugängliche Datenobjekttypen mit Berechtigungen. 15 Min. gecacht.

  • genesisworld://metadata/{objectType} — Feld-/Beziehungsschema eines Typs, z. B. genesisworld://metadata/ADDRESS. 15 Min. gecacht.

  • genesisworld://views/{objectType} — Gespeicherte Ansichten eines Typs, z. B. genesisworld://views/TASK. 15 Min. gecacht.

Selbsthosting mit Docker

Für einen persistenten Server, auf den mehrere Clients zeigen können (statt eines npx-Prozesses pro Client):

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

Multi-Tenant: ein Server, viele genesisWorld-Identitäten

Standardmäßig hat der Container eine feste genesisWorld-Identität für jeden Client, der sich verbindet. Mit --client-credentials hat er keine – jeder Client authentifiziert sich selbst, sodass ein Server sicher mehrere Personen/Teams mit unterschiedlichen genesisWorld-Anmeldungen bedienen kann:

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

Jeder Client sendet dann beim Verbinden seine eigenen Anmeldedaten als Header:

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

X-GenesisWorld-Product-Key ist hier optional – wenn Sie GENESISWORLD_PRODUCT_KEY auf dem Server gesetzt lassen, fallen Clients, die ihren eigenen Produktschlüssel weglassen, darauf zurück. Nur HTTP-Transport (es gibt keinen Header-Kanal pro Anfrage auf stdio); eine Anfrage, bei der sowohl Benutzername- als auch Passwort-Header fehlen, wird sofort abgelehnt (HTTP 401), sie fällt nie auf eine gemeinsame Identität zurück.

Der MCP-Endpunkt befindet sich jetzt unter http://localhost:8084/mcp. Richten Sie Ihren Client darauf aus:

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

Konfiguration

Zwei Arten von Einstellungen, strikt getrennt – keine Einstellung ist beides: Umgebungen konfigurieren die Bereitstellung (wo die API lebt, wer sich verbindet); Startoptionen schalten Verhalten beim Start um.

Umgebungen

Variable

Erforderlich

Zweck

GENESISWORLD_BASE_URL

ja

Basis-URL des REST-Dienstes, z. B. http://demo.cas.de/genesisrest.svc

GENESISWORLD_PRODUCT_KEY

ja*

Wird bei jeder Anfrage als X-CAS-PRODUCT-KEY gesendet

GENESISWORLD_USERNAME

ja*

Basic-Auth-Benutzer

GENESISWORLD_PASSWORD

ja*

Basic-Auth-Passwort

MCP_TRANSPORT

nein

http (Standard in Docker) oder stdio

MCP_HOST / MCP_PORT

nein

Bind-Adresse für den HTTP-Modus (Standard 0.0.0.0:3000)

GENESISWORLD_MAX_RESULT_CHARS

nein

Übergroße Antworten kürzen (Standard 60000 Zeichen; 0 deaktiviert)

GENESISWORLD_QUIET

nein

true deaktiviert die stderr-Protokollierung pro Anfrage

* In der Praxis für jede echte Anfrage erforderlich – außer im --client-credentials-Modus (siehe unten), wo der Server keine eigene Identität hat und keine dieser drei erforderlich ist.

Startoptionen

Flag

Erforderlich

Zweck

--read-only

nein

Registriert für diese Sitzung nur Lese-Tools – mutierende Tools werden nicht nur blockiert, sie existieren nicht

--client-credentials

nein

Server hält keine feste genesisWorld-Identität; jeder HTTP-Client authentifiziert sich selbst über Anfrage-Header (siehe „Multi-Tenant“ oben). Nur HTTP-Transport

Übergeben Sie Startoptionen in der Befehlszeile oder nach dem Image-Namen in docker run (wie oben gezeigt). Keine davon hat bewusst ein Äquivalent als Umgebungsvariable.

Lizenz

MIT


Möchten Sie ein Tool hinzufügen oder verstehen, wie dies aufgebaut ist? Siehe AGENTS.md für Architektur- und Beitragsdokumentation und ROADMAP.md für den Projektplan.

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