Skip to main content
Glama
Gnidreve

Genesis-World-MCP

by Gnidreve

cas-genesisworld-mcp

npm Docker CI License: MIT

Claude, Cursor 또는 MCP 호환 AI 에이전트를 CAS genesisWorld CRM에 연결하세요. API 호출을 한 줄도 작성하지 않고도 자연어로 연락처를 검색하고, 작업과 약속을 관리하고, 레코드를 읽거나 쓸 수 있습니다.

  • 도구 68개 — 약속 전에 일정 충돌을 확인하거나 연락처를 만들기 전에 중복을 확인하는 것 같은 다단계 CRM 작업을 하나의 호출로 묶어주는 7가지 네이티브 플로우 포함.

  • 전체 읽기/쓰기 액세스 — 작업, 약속, 연락처, 문서, 메일 그룹 등과 설치에서 정의한 모든 커스텀 개체 유형에 대한 일반 액세스.

  • 읽기 전용 모드 제공 — 탐색 목적으로 안전한 사용.

  • 바로 사용할 수 있는 Docker 이미지 또는 npm 패키지로 제공됩니다.

시작하기

MCP 클라이언트의 구성 파일(예: Claude Desktop의 claude_desktop_config.json)에 다음을 추가하세요:

{
  "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"
      }
    }
  }
}

클라이언트를 다시 시작하면 도구가 자동으로 표시됩니다. 연락처를 찾거나 열린 작업을 나열하거나 회의를 예약해 달라고 에이전트에게 요청하면 알아서 처리합니다.

일회성 클라이언트 프로세스 대신 지속적인 자체 호스팅 서버를 선호하시나요? 아래의 Docker로 자체 호스팅을 참조하세요.

Related MCP server: Cleyrop MCP

무엇을 요청할 수 있나요

연결되면 에이전트가 다음과 같은 요청을 처리할 수 있습니다:

  • "Jane Doe의 연락처 정보를 찾아서 그녀의 열린 작업들을 보여줘."

  • "이 리드에 후속 작업을 만들고 연락처 레코드에 연결해 줘."

  • "영업팀과 다음 주 화요일 오전 10시에 회의를 예약해 줘 — 먼저 모든 참석자의 일정 충돌을 확인해."

  • "Acme Corp에 새 연락처를 만들기 전에 중복 항목이 있는지 확인해 줘."

  • "이 기회에 대한 보고서를 생성해 줘."

이와 같은 요청은 플로우(flows) 로 처리됩니다. 플로우는 사람이 수동으로 스크립트해야 하는 일련의 API 호출을 하나의 호출로 묶는 단일 도구 호출입니다.

도구 및 플로우

플로우 — 복합 작업, 한 번의 호출로 처리

플로우

모드

설명

my_open_tasks

read

현재 사용자 + 해당 작업 목록(기간 창, 저장된 보기 또는 전체 텍스트 필터)

task_overview

read

작업 + 링크 + 태그를 병렬로 가져옴

create_task

write

작업을 만들고 선택적으로 다른 개체(예: 연락처)에 연결합니다

find_contact

read

이름 및/또는 전화번호로 연락처 검색, 병렬 처리

contact_360

read

연락처 + 컬렉션 도시에 + 태그 + 링크를 병렬로 가져옴

create_address_safe

write

먼저 중복 확인 — 후보가 없을 때만 생성

create_appointment_safe

write

선택적 충돌 확인 → 생성 → 참석자 추가를 한 번의 호출로 처리

읽기 (39)

도구

엔드포인트

smartsearch

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_data_object_types

GET /v7.0/user/self/dataobjecttypes

get_data_object_type_metadata

GET /v7.0/type/{dataObjectType}/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_self_user

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

GET /v7.0/type/{dataObjectType}/records (POST, 읽기 전용)

get_ticket_service_agreements

GET /v7.0/type/task/ticketserviceagreements

get_vcard

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

get_salutation

GET /v7.0/type/address/salutation (POST, 읽기 전용)

format_phone_number

POST /v7.0/type/address/formatphonenumber (읽기 전용)

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/list

get_document_file

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

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_permissions

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

list_distribution_lists

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/list

get_report

POST /v7.0/type/report/{templateGuid} (읽기 전용이지만 POST 사용)

readme (도구 형태)

문서

도구

엔드포인트

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

이 도구가 기반으로 하는 전체 업스트림 API는 swagger.json로 커밋되어 있습니다.

리소스

도구 외에도, 서버는 자주 변경되지 않는 데이터에 대해 MCP 리소스를 노출하므로, 에이전트가 매 세션마다 도구 호출을 소모하여 다시 찾지 않아도 됩니다:

  • genesisworld://readme — 에이전트 자체를 위한 정적 오리엔테이션 문서입니다 (도메인 모델, 탐색 패턴, 효율성 규칙).

  • genesisworld://types — 사용자가 접근할 수 있는 데이터 객체 유형과 권한입니다. 15분간 캐시됩니다.

  • genesisworld://metadata/{objectType} — 한 유형의 필드/관계 스키마입니다 (예: genesisworld://metadata/ADDRESS). 15분간 캐시됩니다.

  • genesisworld://views/{objectType} — 한 유형의 저장된 뷰입니다 (예: genesisworld://views/TASK). 15분간 캐시됩니다.

Docker로 자체 호스팅하기

여러 클라이언트가 연결할 수 있는 지속적인 서버를 위해 (클라이언트당 하나의 npx 프로세스 대신):

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

멀티 테넌시: 서버 하나, 여러 genesisWorld 아이덴티티

기본적으로 컨테이너는 연결되는 모든 클라이언트에 대해 하나의 고정된 genesisWorld 아이덴티티를 가집니다. --client-credentials를 사용하면 아이덴티티가 없습니다. 각 클라이언트가 스스로 인증하므로, 서버 하나가 서로 다른 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

그러면 각 클라이언트는 연결할 때 자신의 자격 증명을 헤더로 전송합니다:

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

여기서 X-GenesisWorld-Product-Key는 선택 사항입니다 — 서버에 GENESISWORLD_PRODUCT_KEY를 설정해 두면, 자신의 제품 키를 생략하는 클라이언트는 그 값으로 대체됩니다. HTTP 전송만 가능합니다 (stdio에는 요청별 헤더 채널이 없습니다). 사용자 이름과 비밀번호 헤더가 모두 없는 요청은 즉시 거부되며 (HTTP 401), 공유 아이덴티티로 대체되는 경우는 없습니다.

MCP 엔드포인트는 이제 http://localhost:8084/mcp에 있습니다. 클라이언트가 이 주소를 가리키게 하세요:

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

구성

설정에는 두 종류가 있으며 서로 엄격히 구분됩니다. 어떤 설정도 두 종류에 동시에 해당하지 않습니다: 환경 변수는 배포를 구성하고(API가 어디 있으며 누가 연결하는지), 시작 옵션은 시작 시 동작을 전환합니다.

환경 변수

변수

필수

용도

GENESISWORLD_BASE_URL

REST 서비스의 기본 URL (예: http://demo.cas.de/genesisrest.svc)

GENESISWORLD_PRODUCT_KEY

*

모든 요청에 X-CAS-PRODUCT-KEY로 전송됨

GENESISWORLD_USERNAME

*

Basic Auth 사용자

GENESISWORLD_PASSWORD

*

Basic Auth 비밀번호

MCP_TRANSPORT

아니요

http (Docker 기본값) 또는 stdio

MCP_HOST / MCP_PORT

아니요

HTTP 모드 바인드 주소 (기본 0.0.0.0:3000)

GENESISWORLD_MAX_RESULT_CHARS

아니요

과대 응답 잘라내기 (기본 60000자; 0이면 비활성)

GENESISWORLD_QUIET

아니요

true면 요청별 stderr 로깅 비활성

* 실질적인 요청이 성공하려면 필수 — 단, --client-credentials 모드(아래 참조)에서는 서버가 자신의 아이덴티티를 갖지 않으므로 이 세 가지 모두 필요하지 않습니다.

시작 옵션

플래그

필수

용도

--read-only

아니요

해당 세션에 읽기 전용 도구만 등록합니다 — 변경 도구는 단순히 차단되는 것이 아니라 아예 존재하지 않습니다

--client-credentials

아니요

서버가 고정된 genesisWorld 아이덴티티를 보유하지 않음; 각 HTTP 클라이언트가 요청 헤더를 통해 직접 인증합니다 (위 "멀티-테넌트" 참조). HTTP 전송에서만 적용됩니다

시작 옵션은 커맨드라인에서 전달하거나, docker run에서 이미지 이름 뒤에 전달합니다 (위에 예시와 같이). 이 중 어떤 것도 환경 변수에 해당되지 않습니다. 의도된 설계입니다.

라이선스

MIT


도구를 추가하고 싶거나 이 구조가 어떻게 만들어졌는지 이해하려면 아키텍처 및 기여 문서는 AGENTS.md에서, 프로젝트 계획은 ROADMAP.md에서 확인하세요.

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