Skip to main content
Glama
megha2432

Zeotap CDP MCP Server

by megha2432

MCP-сервер Zeotap CDP

MCP-сервер (Model Context Protocol), который подключает Claude к API аудиторий и пунктов назначения Zeotap. Клиенты могут задавать вопросы на обычном английском языке — Claude самостоятельно выполняет все вызовы API и поиск ID.


Что он делает

  • Получает данные об аудиториях, пунктах назначения и статусе синхронизации из Zeotap

  • Сжимает ответы API примерно на 85% с помощью tiktoken, чтобы Claude мог обрабатывать больше данных

  • Объединяет данные об аудиториях и пунктах назначения (воспроизводя ваш SQL JOIN через вызовы API)

  • Принимает названия организаций и аудиторий — клиентам не нужно знать ID


Файлы

Файл

Назначение

server.py

MCP-сервер — обрабатывает вызовы инструментов, запросы API, сжатие ответов

tools.yaml

Конфигурация — ID организаций, определения инструментов, описания для LLM

requirements.txt

Зависимости Python

Skills.md

Полная схема API и справочник по проектированию инструментов

.env

Токен Bearer (не коммитится — обновляйте каждый час)


Настройка

1. Установите зависимости

python3 -m venv .venv
source .venv/bin/activate   # Windows: .venv\Scripts\activate
pip install -r requirements.txt

2. Получите токен Bearer

  1. Войдите на unity.zeotap.com

  2. Откройте DevTools → вкладка Network → нажмите на любой запрос

  3. Скопируйте значение Authorization: Bearer eyJ... (только часть eyJ...)

3. Установите токен

echo 'ZEOTAP_TOKEN=your-token-here' > .env

⚠️ Срок действия токенов истекает через 1 час. Повторяйте шаги 2–3 при получении ошибки 401.

4. Запустите с помощью MCP Inspector (для тестирования)

npx @modelcontextprotocol/inspector .venv/bin/python server.py

Откройте URL, выведенный в терминале.


Добавление новой организации

Для каждой организации нужны два ID. Найдите их в DevTools при просмотре этой организации в приложении Zeotap:

ID

Где найти

Для чего используется

Числовой ID (например, 1918)

URL: /audiences/orgs/1918/...

API аудиторий

UUID (например, efc1d9ad-...)

Вкладка Network: /channelSettings/...?orgId=efc1...

Поиск названия пункта назначения

Обновите tools.yaml:

audience_org_id: 1918
org_uuid: "efc1d9ad-8bb2-48a2-8c84-46f2e9f2b9b4"
org_name: "Your Org Name"

Инструменты

Инструмент

Описание

Обязательные параметры

get_org_overview

Общее количество аудиторий, разбивка по статусам, топ-5 по размеру

нет

search_audiences

Поиск аудиторий по названию или статусу

опционально: query, status

get_audience_full

Полные данные + фильтры + пункты назначения для одной аудитории

audience_name или audience_id

get_org_full_report

Все аудитории, объединенные с их пунктами назначения и статусом синхронизации

нет

list_all_destinations

Все пункты назначения, настроенные в организации

нет (нужен UUID)

get_destination_full

Подробная информация об одном пункте назначения

destination_name или destination_id (нужен UUID)

list_orgs

Список известных клиентских организаций с их ID

нет


Примеры запросов к Claude

После подключения к Claude Desktop клиенты могут спрашивать:

Вопрос

Используемый инструмент

"Give me a summary of our audiences"

get_org_overview

"List all active audiences"

search_audiences

"Tell me about the Loyalty Program audience"

get_audience_full

"Which audiences are failing to sync?"

get_org_full_report

"What platforms is our CDP syncing to?"

get_org_full_report

"What destinations do we have?"

list_all_destinations


Подключение к Claude Desktop

Добавьте в ваш claude_desktop_config.json:

{
  "mcpServers": {
    "zeotap-cdp": {
      "command": "/Users/megha/Documents/MCP1/.venv/bin/python",
      "args": ["/Users/megha/Documents/MCP1/server.py"],
      "env": {
        "ZEOTAP_TOKEN": "your-token-here"
      }
    }
  }
}

На Mac файл конфигурации находится здесь: ~/Library/Application Support/Claude/claude_desktop_config.json

Перезапустите Claude Desktop после обновления конфигурации.


Объединение аудитории и пункта назначения

Инструмент get_org_full_report воспроизводит этот SQL JOIN через два вызова API:

SELECT fpa.name, fpa.status, csw.status, ip.int_partner_name
FROM public_audience_destinations pad
JOIN public_first_party_audience fpa ON pad.first_party_audience_id = fpa.id
JOIN public_channel_service_workflow csw ON pad.latest_channel_service_workflow_id = csw.id
JOIN public_integration_partner ip ON pad.channel_id = ip.int_id
WHERE fpa.org_id = 1918

SQL-поле

Источник API

fpa.name, fpa.status

Ответ audienceSummaries

csw.status, csw.status_detail

destinationsSummary.status + statusDetail.message

ip.int_partner_name

channelSettingsintegrationPartnerName (объединено через channelId = intId)

channelSegmentId

destinationsSummary.integrationDetail.channelSegmentId


Сокращение токенов

Инструмент

Исходные токены

Минифицированные

Сокращение

get_org_overview (100 аудиторий)

~15,000

~800

~95%

search_audiences (20 результатов)

~8,000

~600

~93%

get_audience_full

~3,000

~300

~90%

get_org_full_report

~20,000

~2,000

~90%

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related 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/megha2432/MCP_Zeotap'

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