Skip to main content
Glama
Genesis-World-MCP

Genesis-World-MCP

by Gnidreve

cas-genesisworld-mcp

npm Docker CI License: MIT

将 Claude、Cursor 或任何兼容 MCP 的 AI 代理连接到您的 CAS genesisWorld CRM。通过自然语言搜索联系人、管理任务和约会、读取或写入记录——无需编写任何 API 调用。

  • 69 个工具,包括 7 个原生流程,将多步骤 CRM 操作(例如在预订会议前检查日程冲突,或在创建联系人前检查重复项)打包为单次调用。

  • 对任务、联系人、约会、文档、通讯组列表等拥有完整的读写权限——此外还可对您的安装所定义的任何自定义对象类型进行通用访问。

  • 提供只读模式,适合安全、探索性的使用。

  • 以现成的 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: Twenty CRM MCP

您可以要求它做什么

连接后,您的代理可以处理如下请求:

  • "查找 Jane Doe 的联系信息,并显示她的未完成任务。"

  • "为这个潜在客户创建后续任务,并将其链接到他们的联系人记录。"

  • "下周二上午 10 点与销售团队开会——先检查每个人的日历是否有冲突。"

  • "在为 Acme Corp 创建新联系人之前,检查是否有可能的重复项。"

  • "为此商机生成报告。"

此类请求由流程来响应——即单次工具调用,将人类原本需要手动编写脚本的多步骤 API 请求序列打包在一起。

工具与流程

流程——复合操作,一次调用

流程

模式

功能

my_open_tasks

读取

一次调用获取当前用户及其任务列表(截止窗口、已保存视图或全文筛选)

task_overview

读取

并行获取任务记录 + 链接 + 标签

create_task

写入

创建任务,并可选择将其链接到另一个对象(例如联系人)

find_contact

读取

按姓名和/或电话号码并行搜索联系人

contact_360

读取

并行获取联系人 + 集合档案 + 标签 + 链接

create_address_safe

写入

先进行重复检查——仅在未找到候选对象时才创建

create_appointment_safe

写入

可选冲突检查 → 创建 → 添加参与者,一次调用完成

读取(39 个)

工具

端点

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(虽为 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(虽为 POST,实为读取)

format_phone_number

POST /v7.0/type/address/formatphonenumber(虽为 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(绝不加锁)

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}(虽为 POST,实为读取——仅渲染,不修改)

readme(工具形式)

服务器本地的静态方向说明文档

写入(23 个——在只读模式下隐藏,连同上述写入流程一起)

工具

端点

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

是*

基本认证用户

GENESISWORLD_PASSWORD

是*

基本认证密码

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 了解项目计划。

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    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
    C
    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
    3
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides read-only MCP tools to find, list, and retrieve sales case studies with hybrid search, returning complete cases and prepared presentations.
    -