Skip to main content
Glama

AEP MCP 서버

Claude (및 모든 MCP 호환 클라이언트)가 Adobe Experience Platform, Adobe Journey Optimizer 및 Real-Time CDP에 자연어로 액세스할 수 있게 해주는 두 개의 MCP 서버입니다.

서버

파일

도구

설명

AEP (직접 구축)

server.py

137+

FastMCP로 구축된 전체 AEP/AJO API 커버리지

RT-CDP (Adobe 공식 프록시)

rtcdp_proxy.py

18

Adobe 공식 rtcdp-mcp.adobe.io 서버 프록시


빠른 시작

1. 설정 스크립트 실행

./setup.sh

이 명령은 .venv를 생성하고, 모든 종속성을 설치하며, pre-commit 훅을 설치하고, 붙여넣을 정확한 MCP 구성 JSON(사용자 시스템에 맞는 절대 venv Python 경로 포함)을 출력합니다.

Windows: 수동으로 단계를 실행하세요 — python3 -m venv .venv, .venv\Scripts\activate, pip install -r requirements.txt.

2. 자격 증명 구성

Adobe Developer Console → 프로젝트 → OAuth 서버 간에서 자격 증명을 입력하세요.

# orgs.json was created by setup.sh — edit it now

또는 환경 변수를 사용하세요(단일 조직 대체).

cp .env.example .env
# edit .env

3. Claude Code에 등록

setup.sh가 출력한 JSON을 .claude/mcp_servers.json에 붙여넣으세요. 예:

{
  "aep": {
    "command": "/path/to/aep-mcp-server/.venv/bin/python",
    "args": ["/path/to/aep-mcp-server/server.py"]
  }
}

항상 venv Python 경로를 사용하세요 — MCP 클라이언트는 활성 셸 외부에서 서버를 실행하므로, 기본 python3으로는 설치된 패키지를 찾을 수 없습니다.

4. 실행

python3 server.py                        # AEP server, default org profile
AEP_PROFILE=MyClient python3 server.py  # start with a specific profile

Related MCP server: Fourth Brain Demo

다중 조직 구성

orgs.json은 여러 명명된 프로필을 지원합니다 — 서로 다른 Adobe 조직 또는 샌드박스에서 작업할 때 유용합니다.

{
  "default": "ClientA",
  "profiles": {
    "ClientA": {
      "client_id": "...",
      "client_secret": "...",
      "api_key": "...",
      "org_id": "XXXX@AdobeOrg",
      "sandbox": "prod",
      "sandboxes": {
        "dev": "my-sandbox-dev",
        "prod": "my-sandbox-prod"
      }
    },
    "ClientB": {
      "client_id": "...",
      "client_secret": "...",
      "api_key": "...",
      "org_id": "YYYY@AdobeOrg",
      "sandbox": "prod"
    }
  }
}

switch_org_profile 도구를 사용하거나 시작 시 AEP_PROFILE을 설정하여 런타임에 조직을 전환할 수 있습니다. 토큰 캐시는 프로필별로 유지됩니다.


서버 1 — AEP MCP (server.py)

FastMCP로 구축되었습니다. 모든 도구는 선택적 sandbox 매개변수를 허용하며, 생략하면 활성 프로필의 기본 샌드박스가 사용됩니다.

데이터셋 및 배치

list_datasets · get_dataset · create_dataset · get_batch · list_batches · get_sandbox · list_sandboxes · reset_sandbox

XDM 스키마 레지스트리

list_schemas · get_schema · create_schema · enable_schema_for_profile · list_field_groups · get_field_group · create_field_group · list_classes · list_data_types · list_descriptors · create_descriptor

실시간 고객 프로필 및 ID

get_profile_by_identity · get_identity_cluster · list_identity_namespaces · get_identity_namespace · list_merge_policies · list_profile_export_jobs · get_profile_export_job

세분화/대상

list_segments · get_segment · create_segment · delete_segment · list_segment_jobs · get_segment_job · create_segment_job · list_streaming_jobs

쿼리 서비스

list_queries · get_query · run_query · cancel_query · list_query_runs · list_query_templates · get_query_template · create_query_template · list_scheduled_queries

AJO — 여정 및 캠페인

list_journeys · get_journey · list_journey_versions · list_campaigns · get_campaign

AJO — 오퍼 의사 결정

list_offers · get_offer · list_placements · list_collections · list_offer_activities · get_offer_activity · list_ranking_formulas · create_eligibility_rule

흐름 서비스 (소스 및 대상)

list_connections · get_connection · list_connection_specs · get_connection_spec · list_dataflows · get_dataflow · list_flow_runs · get_flow_run · list_source_connections · get_source_connection · list_target_connections · get_target_connection

관찰 가능성 인사이트 및 알림

get_metrics · list_alert_subscriptions · get_alert_subscription · get_alerts_by_feature · list_alert_notifications · subscribe_alert

데이터 위생

list_dataset_expirations · get_dataset_expiration · create_dataset_expiration · cancel_dataset_expiration · list_record_delete_orders · get_record_delete_order · create_record_delete_order · get_hygiene_quota

데이터 준비 (매핑)

list_mapping_sets · get_mapping_set · create_mapping_set · preview_mapping_set · list_mappings · get_mapping · validate_mapping_expression · list_data_prep_functions

계산된 속성

list_computed_attributes · get_computed_attribute · create_computed_attribute · update_computed_attribute

액세스 제어 (ABAC)

list_roles · get_role · list_role_subjects · list_role_policies · list_policies · get_policy · get_effective_policies · list_available_permissions · list_users · get_user_roles

고객 여정 분석 (CJA)

CJA 도구는 샌드박스 대신 데이터 보기 ID를 사용합니다.

cja_list_connections · cja_get_connection · cja_list_data_views · cja_get_data_view · cja_list_dimensions · cja_list_metrics · cja_list_projects · cja_get_project · cja_create_project · cja_update_project · cja_delete_project · cja_list_filters · cja_get_filter · cja_create_filter · cja_update_filter · cja_delete_filter · cja_list_calculated_metrics · cja_get_calculated_metric · cja_create_calculated_metric · cja_update_calculated_metric · cja_delete_calculated_metric · cja_list_annotations · cja_create_annotation · cja_delete_annotation · cja_run_report

조직 및 다중 조직 관리

list_org_profiles · get_current_org · switch_org_profile · switch_sandbox


서버 2 — RT-CDP 프록시 (rtcdp_proxy.py)

Adobe 공식 Real-Time CDP MCP 서버(rtcdp-mcp.adobe.io)로 도구 호출을 전달하는 경량 stdio→HTTPS 프록시입니다. 인증 헤더는 활성 orgs.json 프로필에서 가져오므로, switch_org_profile이 두 서버 모두에서 작동합니다.

.env를 통해 업스트림 URL을 구성하세요(선택 사항, 기본값은 Adobe 엔드포인트).

RTCDP_MCP_URL=https://rtcdp-mcp.adobe.io/mcp

참고: Adobe의 RT-CDP MCP 서버는 게이트 기능입니다. 액세스하려면 Adobe 담당자에게 문의하세요.

도구 (Adobe에서 프록시)

search_audiences · preview_audience_membership · inspect_audience_evaluation_jobs · inspect_audience_export_jobs · search_destination_connectors · search_destination_accounts · search_destination_flows · search_destination_input_connections · search_destination_output_connections · search_source_connectors · search_source_accounts · search_source_flows · search_source_input_connections · search_source_output_connections · search_identity_namespaces · search_merge_policies · search_organizations · inspect_flow_runs


프로젝트 구조

server.py                  # AEP FastMCP entrypoint
rtcdp_proxy.py             # RT-CDP stdio→HTTPS proxy
auth.py                    # Auth + HTTP helpers; multi-org profile state
orgs.json                  # Your credentials — GITIGNORED, never commit
orgs.example.json          # Template for orgs.json
.env / .env.example        # Fallback single-org config
requirements.txt
hooks/pre-commit           # Blocks credential commits
scripts/install_hooks.py   # Installs the pre-commit hook
tools/
  datasets.py              # Catalog Service: datasets, batches, sandboxes
  schemas.py               # Schema Registry: XDM schemas, classes, field groups
  profiles.py              # Real-Time Customer Profile, identity, merge policies
  segments.py              # Segmentation: definitions, jobs, streaming
  query.py                 # Query Service: ad-hoc SQL, templates, scheduled
  ajo.py                   # AJO: journeys, campaigns, offers, eligibility rules
  cja.py                   # Customer Journey Analytics
  flows.py                 # Flow Service: connections, dataflows, flow runs
  observability.py         # Observability Insights: metrics, alerts
  data_hygiene.py          # Data Hygiene: dataset TTL, record deletes
  data_prep.py             # Data Prep: mapping sets, expression validation
  computed_attributes.py   # Computed Attributes
  access_control.py        # ABAC: roles, permissions, effective policies
  orgs.py                  # Multi-org: list/switch profiles and sandboxes
  usage_logger.py          # @track decorator — logs tool calls to CSV

새 도구 모듈 추가

  1. register(mcp) 함수와 함께 tools/new_domain.py 생성

  2. server.py에 추가: 가져오기 및 new_domain.register(mcp) 호출

  3. CLAUDE.md의 도구 패턴 따르기

인증 흐름

auth.py는 먼저 orgs.json 프로필을 확인한 후, .env 환경 변수로 대체합니다.

  • OAuth S2S (권장): client_id + client_secret 설정 — 토큰이 만료 전 자동 갱신됨

  • 정적 토큰 (개발/테스트): access_token 설정 — 자동 갱신 없음

요구 사항

mcp[cli]>=1.3.0
httpx>=0.27.0
python-dotenv>=1.0.0

Related MCP Connectors

Related MCP Servers

  • F
    license
    C
    quality
    Not graded
    maintenance
    An MCP server that gives Claude access to Ogury's campaign reporting API, enabling retrieval of campaign performance metrics and reports through natural language queries.
    2
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that connects Claude.ai to a Notion-based marketing knowledge base, enabling search and retrieval across specialized domains like enterprise platforms and competitive positioning. It provides tools for RAG-style Q\&A and content browsing to assist with drafting RFPs and value propositions.
    1
    -
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for Adobe Customer Journey Analytics, enabling AI-powered analytics queries including reports, breakdowns, trends, and dimension searches through Claude and other MCP clients.
    16
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server that enables AI agents (Claude Code) to manage Criteo campaigns, ad sets, creatives, audiences, and reports via natural language.
    -