Token导航 LogoToken导航

MCP Server · AI代理

AEM Assets MCP Server

一个为Adobe Experience Manager (AEM) Assets提供REST API和MCP Server双重实现的服务器,支持ChatGPT集成。

stdio官方级别未说明来源级核验工具 5
资源管理PythonAPI集成

快速开始

作者 / 组织
SatoshiInoue
提供方
SatoshiInoue
运行时
Python

工具数量

5

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

2 个

MCP World

选型结论

AEM Assets MCP Server 属于AI代理类 MCP Server,公开资料标注 5 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前要先准备 OAuth 授权。

分类

AI代理

传输方式

stdio

认证方式

OAuth 授权

部署方式

支持远程部署

安装与配置

安装命令

python -m venv venv

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 5 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

用于AI集成的AEM资产服务器

Adobe Experience Manager(AEM)资产API的双重实施服务器:

  • REST API (rest-api/)-通过操作(FastAPI)为ChatGPT自定义GPT
  • MCP 服务器 (mcp-server/)-用于支持MCP的ChatGPT自定义GPT(FastMCP)

这两种实现共享相同的核心AEM客户端逻辑,并提供相同的功能。

🏗️ 建筑

aem-assets-mcp-server/
├── rest-api/              ← REST API implementation (Vercel)
│   ├── app/              - FastAPI application
│   ├── requirements.txt
│   └── vercel.json
├── mcp-server/            ← MCP Server implementation (Cloud Run)
│   ├── app/              - FastMCP application
│   ├── Dockerfile
│   └── requirements.txt
├── shared/                ← Common AEM client logic
│   ├── aem_client.py     - AEM API client
│   ├── jwt_auth.py       - JWT authentication
│   ├── models.py         - Data models
│   └── constants.py      - Configuration constants
└── .github/workflows/    - CI/CD pipelines

🚀 特性

这两种实现都提供了与AEM资产交互的相同工具:

  • 列出文件夹 -浏览AEM资产存储库中的文件夹
  • 按文件夹列出资产 -获取特定文件夹中的所有资产
  • 获取资产详细信息 -检索特定资产的详细信息,包括元数据
  • 更新资产元数据 -更新单个资产的元数据字段
  • 批量更新元数据 -更新文件夹中所有资产的元数据

🎯 我应该使用哪种实现?

功能REST API(Vercel)MCP服务器(云运行)
目标平台ChatGPT操作支持MCP的ChatGPT
协议HTTP REST基于SSE的JSON-RPC
部署Vercel(无服务器)谷歌云运行(容器)
模式OpenAPI 3.0MCP协议
最适合标准ChatGPT集成原生MCP客户端(ChatGPT、克劳德桌面)

建议:

  • 使用 REST API 如果您通过操作与ChatGPT自定义GPT集成(最常见)
  • 使用 MCP 服务器 如果您的ChatGPT支持本机MCP协议连接

📋 先决条件

AEM访问

  1. Adobe Experience Manager资产作者API访问

- AEM基本URL(例如。, https://author-pXXXXXX-eXXXXXXX.adobeaemcloud.com) - OAuth服务器到服务器凭据 (现代 /adobe/* API): - 客户端ID - 客户端密钥 - JWT服务帐户凭据 (经典 /api/assets API - 带有私钥的服务帐户JSON文件 - 看 GET_CREDENTIALS.md 详细设置

REST API要求

  • Python 3.12+
  • Vercel帐户(用于部署)
  • 带有自定义GPT的ChatGPT Plus/Pro

MCP服务器要求

  • Python 3.12+
  • 码头工人
  • 谷歌云平台帐户
  • gcloud 命令行界面
  • GitHub帐户(用于CI/CD)

🛠️ 技术栈

共享组件

  • Python 3.12 -核心语言
  • HTTPX -异步HTTP客户端
  • 派丹蒂克 -数据验证
  • 双重认证:

- OAuth服务器到服务器(现代AEM API) - JWT服务帐户(经典AEM API)

REST API堆栈

  • 快速API -现代异步web框架
  • 维塞尔 -无服务器部署

MCP服务器堆栈

  • 快速MCP -MCP协议实现
  • 码头工人 -集装箱化
  • 谷歌云运行 -容器托管
  • 地形 -基础设施即代码
  • GitHub操作 -CI/CD

📁 项目结构

.
├── rest-api/                     # REST API Implementation (Vercel)
│   ├── app/
│   │   ├── __init__.py
│   │   └── main.py              # FastAPI application
│   ├── requirements.txt
│   ├── vercel.json              # Vercel deployment config
│   └── openapi-schema.json      # ChatGPT Actions schema
├── mcp-server/                   # MCP Server Implementation (Cloud Run)
│   ├── app/
│   │   ├── __init__.py
│   │   └── main.py              # FastMCP application
│   ├── requirements.txt
│   └── Dockerfile               # Container configuration
├── shared/                       # Shared AEM Client Logic
│   ├── __init__.py
│   ├── aem_client.py            # AEM API client (OAuth + JWT)
│   ├── jwt_auth.py              # JWT Service Account auth
│   ├── models.py                # Pydantic data models
│   └── constants.py             # Configuration constants
├── terraform/                    # Infrastructure as Code
│   ├── main.tf
│   ├── variables.tf
│   └── terraform.tfvars.example
├── .github/workflows/            # CI/CD Pipelines
│   ├── deploy-cloud-run.yml     # MCP Server → Cloud Run
│   ├── terraform-apply.yml      # Terraform deployment
│   └── test.yml                 # Testing workflow
├── vercel.json                  # Root Vercel config (points to rest-api/)
└── README.md

🚀 快速开始

选择您的实施路径:

选项A:用于ChatGPT操作的REST API

本地开发
  1. 克隆仓库:
cd "SC Practice 20260130 - Assets MCP"
  1. 创建虚拟环境:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. 安装依赖项:
pip install -r rest-api/requirements.txt
  1. 配置环境:
# Copy example env
cp rest-api/env.example .env

# Edit with your AEM credentials
# Required:
# - AEM_BASE_URL
# - AEM_CLIENT_ID
# - AEM_CLIENT_SECRET
# - AEM_SERVICE_ACCOUNT_JSON (path to service-account.json)
nano .env

看 GET_CREDENTIALS.md 了解如何获取您的证书。

  1. 本地运行REST API:
cd rest-api
uvicorn app.main:app --reload

访问 http://localhost:8000 查看服务器信息。

部署到 Vercel

看 部署_仓库.md 详细说明。

选项A:本地部署(最快)

# Install Vercel CLI
npm i -g vercel

# Deploy (from project root)
vercel

# Add environment variables via Vercel dashboard:
# - AEM_BASE_URL
# - AEM_CLIENT_ID  
# - AEM_CLIENT_SECRET
# - AEM_SERVICE_ACCOUNT_JSON (paste JSON content)

# Deploy to production
vercel --prod

选项B:GitHub操作(自动CI/CD)

设置一次,然后在每次推送时自动部署 main:

  1. 获取Vercel凭据(请参阅 部署_仓库.md)
  2. 添加GitHub机密:

- VERCEL_TOKEN - VERCEL_ORG_ID - VERCEL_PROJECT_ID

  1. 推至 main 或手动触发工作流

您的API将在以下网址提供: https://your-project.vercel.app/api/mcp

在以下位置使用OpenAPI模式 rest-api/openapi-schema.json 配置ChatGPT操作。

______________________________________________________________________

选项B:用于本地MCP支持的MCP服务器

本地开发
  1. 安装MCP服务器依赖项:
pip install -r mcp-server/requirements.txt
  1. 配置环境 (与REST API相同):
cp rest-api/env.example .env
nano .env  # Add your AEM credentials
  1. 在本地运行MCP服务器:
cd mcp-server
python -m app.main

MCP服务器将从端口8080上的SSE传输开始。

部署到Google Cloud Run

看 DEPLOYMENT_CLOUDRUN.md 详细说明。

使用GitHub操作的快速步骤:

  1. 设置GCP项目并启用API
  2. 配置工作负载身份联合 (参见 CLOUD_RUN_SETUP_GUIDE.md)
  3. 添加GitHub机密:

- GCP_PROJECT_ID - GCP_REGION - GCP_WORKLOAD_IDENTITY_PROVIDER - GCP_SERVICE_ACCOUNT - AEM_BASE_URL - AEM_CLIENT_ID

  1. 创建GCP机密:
   echo -n "your_client_secret" | gcloud secrets create aem-client-secret --data-file=-
   echo -n "$(cat service-account.json)" | gcloud secrets create aem-service-account-json --data-file=-
  1. 触发器部署:

- 转到GitHub操作→ “部署到Google Cloud Run”→ “运行工作流”

您的MCP服务器将在以下网址提供: https://aem-assets-mcp-server-xxxxx.run.app

使用MCP服务器URL从ChatGPT连接。

______________________________________________________________________

🧪 测试

测试REST API

# List folders
curl -X POST http://localhost:8000/api/mcp \
  -H "Content-Type: application/json" \
  -d '{"tool": "list_folders", "arguments": {"path": "/"}}'

# List assets in a folder
curl -X POST http://localhost:8000/api/mcp \
  -H "Content-Type: application/json" \
  -d '{"tool": "list_assets_by_folder", "arguments": {"folderPath": "/MyFolder"}}'

测试MCP服务器

看 测试.md 获取全面的测试指南,包括:

  • API直接AEM测试
  • JWT令牌生成
  • MCP检查器使用

______________________________________________________________________

🔧 配置

两种实现都使用相同的环境变量:

变量描述必填示例
AEM_BASE_URLAEM作者实例URL✅https://author-pXXXXXX.adobeaemcloud.com
AEM_CLIENT_IDOAuth客户端ID✅a41e805f8c3042d3bba66ff1c05f1e94
AEM_CLIENT_SECRETOAuth客户端密码✅p8e-xxx...
AEM_SERVICE_ACCOUNT_JSONJWT服务帐户(文件路径或JSON字符串)✅./service-account.json

API端点和作用域 配置在 shared/constants.py:

  • 现代API: /adobe/assets, /adobe/folders (OAuth)
  • 经典API: /api/assets (JWT)
  • IMS令牌: https://ims-na1.adobelogin.com/ims/token/v3
  • 范围: openid,AdobeID,aem.assets.author,aem.folders

______________________________________________________________________

📚 文档

______________________________________________________________________

🤝 ChatGPT集成

对于REST API(ChatGPT操作)

  1. 在ChatGPT中创建自定义GPT
  2. 转到“配置”→ “行动”
  3. 从导入架构 rest-api/openapi-schema.json
  4. 将服务器URL设置为Vercel部署
  5. 使用以下提示进行测试:

- “列出/content/dam/中的所有文件夹” - “显示MyFolder文件夹中的资产” - “更新资产XYZ的描述”

用于MCP服务器(本机MCP)

  1. 在支持MCP的ChatGPT中创建自定义GPT
  2. 使用您的Cloud Run URL配置MCP连接
  3. MCP服务器将自动公开所有工具
  4. 使用相同的自然语言提示进行测试

______________________________________________________________________

🔐 安全说明

  • 永不承诺 .env 文件或 service-account.json
  • 将GitHub Secrets用于CI/CD
  • 使用GCP密钥管理器进行云运行
  • 将Vercel环境变量用于Vercel部署
  • 定期轮换凭据
  • 查看AEM用户权限

______________________________________________________________________

🐛 故障排除

常见问题

问题:JWT身份验证在Cloud Run中不起作用

  • 原因: AEM_SERVICE_ACCOUNT_JSON 必须包含JSON字符串,而不是文件路径
  • 修复:使用JSON内容创建机密: gcloud secrets create aem-service-account-json --data-file=service-account.json

问题:秘密管理员的权限被拒绝

  • 原因:Cloud Run服务帐户缺少权限
  • 修复:赠款 roles/secretmanager.secretAccessor:
  gcloud secrets add-iam-policy-binding aem-client-secret \
    --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \
    --role="roles/secretmanager.secretAccessor"

问题:403禁止AEM

  • 原因:身份验证不正确或权限不足
  • 修复:验证凭据,检查AEM用户是否具有正确的产品配置文件(AEM管理员)

问题:Vercel部署失败

  • 原因:重组后的路径问题
  • 修复:确保 vercel.json 指向 rest-api/app/main.py

看 测试.md 了解更多故障排除步骤。

______________________________________________________________________

📝 许可证

MIT许可证-有关详细信息,请参阅许可证文件

______________________________________________________________________

🙏 致谢

  • Adobe Experience Manager资产API
  • FastAPI和FastMCP团队
  • 模型上下文协议规范

______________________________________________________________________

选项2:使用Terraform

cd terraform

# Copy and edit variables
cp terraform.tfvars.example terraform.tfvars
nano terraform.tfvars

# Initialize Terraform
terraform init

# Preview changes
terraform plan

# Deploy infrastructure
terraform apply

选项3:手动部署Docker

# Build and tag
docker build -t gcr.io/YOUR_PROJECT/aem-mcp-server .

---

Made with ❤️ for AEM + AI Integration

工具与能力

工具数量

5

资源数量

0

提示词数量

0

能力标签

AEM集成Python本地部署资源管理ChatGPT插件RESTAPIMCP协议

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 5 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备OAuth 授权,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到OAuth 授权的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
AEM Assets MCP Server

MCP World · 本页

5stdio有2 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

AEM Assets MCP Server 怎么安装?

公开资料给出的安装命令是 python -m venv venv,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

AEM Assets MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

AEM Assets MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

AEM Assets MCP Server 需要 API Key 吗?

公开资料标注的认证方式是OAuth 授权,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

AEM Assets MCP Server 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP