Adobe Express MCP Server
Enables Adobe Express add-on developers to scaffold projects, access code examples, query SDK documentation, and get implementation guidance for building Adobe Express add-ons.
README
Community MCP Server for Adobe Express Add-on Developers
This is a Model Context Protocol (MCP) server designed for Adobe Express Add-on developers. It provides developer-focused tools to assist with building Adobe Express add-ons and integrating with Adobe Express SDK.
Features
The server provides the following tools:
Developer Tools
- Scaffold Add-on Project - Create a new Adobe Express add-on project based on sample templates
- Get Code Examples - Retrieve code examples for common Adobe Express add-on features (dynamically fetched from GitHub when in GitHub mode)
- Implement Feature - Get implementation guidance for adding specific features to an Adobe Express add-on
Documentation Tools
- Get Assistant Capabilities - Get information about the assistant's capabilities
- Set Knowledge Source - Switch between GitHub API and local documentation modes
- Query Documentation - Search Adobe Express SDK and Spectrum Web Components documentation
Installation
You can install the Adobe Express MCP Server in several ways:
Method 1: Install from NPM
# Install globally
npm install -g community-express-dev-mcp
# Run the VS Code installation script
express-mcp-install
Method 2: Install from GitHub
# Clone the repository
git clone https://github.com/EnventDigital/community-express-dev-mcp.git
cd community-express-dev-mcp
# Install dependencies
npm install
# Build the project
npm run build
# Run the VS Code installation script
npm run install-in-vscode
Method 3: Install in a specific VS Code workspace
If you want to use the MCP server in a specific VS Code workspace:
# If installed globally from NPM:
cd /path/to/your/project
express-mcp-workspace
# If installed from GitHub:
cd /path/to/your/project
/path/to/community-express-dev-mcp/scripts/install-to-workspace.js
This will create a .vscode/mcp.json file in your project that configures the Adobe Express MCP server for that workspace.
Development
# Build the project
npm run build
# Start the server in development mode
npm run dev
# Start the server
npm start
# Parse documentation repositories for local mode
npm run parse-docs
Documentation Sources
This MCP server can access documentation from two sources:
1. GitHub Mode (Default)
In GitHub mode, the server uses the GitHub API to search and fetch documentation from:
To use GitHub mode, you need to create a GitHub Personal Access Token (PAT) and add it to your .env file:
MCP_GITHUB_PAT=your_github_token_here
2. Local Mode
In local mode, the server uses pre-parsed documentation stored in a local knowledge base file. To generate this file:
- Clone the documentation repositories:
mkdir -p adobe-docs-repo
git clone https://github.com/AdobeDocs/express-add-ons-docs.git adobe-docs-repo/express-add-ons-docs
git clone https://github.com/adobe/spectrum-web-components.git adobe-docs-repo/spectrum-web-components
- Build the project and run the parser:
npm run build
npm run parse-docs
- This creates a
dist/knowledge_base.jsonfile with parsed documentation.
You can switch between modes using the "setKnowledgeSource" tool or by setting the KNOWLEDGE_SOURCE_MODE in your .env file.
Usage with Claude for Desktop
To use this MCP server with Claude for Desktop:
-
Build the project using
npm run build -
Open/create Claude for Desktop configuration file:
- Mac:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
You can create/edit this file with VS Code:
# For Mac code ~/Library/Application\ Support/Claude/claude_desktop_config.json # For Windows code %APPDATA%\Claude\claude_desktop_config.json - Mac:
-
Add the server configuration:
{
"mcpServers": {
"adobe-express": {
"command": "node",
"args": [
"/ABSOLUTE/PATH/TO/community-express-dev-mcp/dist/index.js"
]
}
}
}
-
Replace
/ABSOLUTE/PATH/TO/with the actual path to your project. For example:"/Users/username/Documents/community-express-dev-mcp/dist/index.js" -
Save the file and restart Claude for Desktop
-
When you open Claude, you should see a hammer icon, indicating that MCP tools are available:
-
You can now use prompts like "Help me scaffold a dialog add-on project" or "Show me code examples for the Dialog API" and Claude will use the developer tools
Example Prompts
Here are some example prompts to try with Claude and this MCP server:
Developer Tool Examples
- "Help me scaffold a new dialog add-on project"
- "Show me code examples for importing local images in an Adobe Express add-on"
- "How do I implement drag-and-drop functionality in my add-on?"
- "Give me a code example of using the Dialog API"
- "Help me implement OAuth authentication in my Express add-on"
Documentation Tool Examples
- "What capabilities does this MCP server have?"
- "Search for documentation about Spectrum Web Components buttons"
- "How do I use the Adobe Express SDK in my add-on?"
- "Find documentation about spectrum-tooltip components"
- "Switch to local documentation mode"
Using with VS Code
This MCP server is configured to work with VS Code's GitHub Copilot agent mode. Follow these steps to use it:
Prerequisites
- Visual Studio Code (version 1.99 or newer)
- GitHub Copilot extension
- Node.js environment (v18 or newer recommended)
Setup
Option 1: Using the Installation Scripts
The easiest way to set up the MCP server in VS Code is to use one of the installation methods described in the Installation section above. These scripts will:
- Create the correct configuration for the MCP server
- Generate a one-click URL to install in VS Code
- Automatically prompt for the GitHub PAT when needed
Option 2: Manual Setup
If you prefer to set up manually:
- Make sure you've built the project:
npm run build - Configure the server by:
- Using the global MCP configuration in VS Code settings
- OR using the workspace-specific
.vscode/mcp.jsonfile (already included in this project)
- In VS Code, ensure the
chat.mcp.enabledsetting is turned on:- Open settings (Ctrl+, or Cmd+,)
- Search for
chat.mcp.enabled - Make sure it's checked
- Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P)
- Run
MCP: List Serversto see the available servers - Start the
adobeExpressDevserver from the list - When prompted, enter your GitHub Personal Access Token for accessing code samples
Usage with Copilot
- Open the VS Code Chat view (Ctrl+Alt+I or Cmd+I)
- Select "Agent mode" from the dropdown
- Click on the "Tools" button to see available tools, including Adobe Express developer tools
- Ask questions like:
- "Create a new Adobe Express add-on that uses the dialog API"
- "Show me code examples for importing images in an Express add-on"
- "How do I implement OAuth authentication in my add-on?"
The MCP server enhances Copilot with specialized Adobe Express add-on development knowledge and code examples drawn directly from the official samples repository.
NPM Package
The Adobe Express MCP Server is available as an npm package that you can install globally or as a dependency in your project:
# Install globally
npm install -g community-express-dev-mcp
# Or install as a dev dependency in your project
npm install --save-dev community-express-dev-mcp
After installation, you can use the following commands:
# Install globally in VS Code
express-mcp-install
# Install in current workspace
express-mcp-workspace
# Show help
express-mcp-help
Troubleshooting
Error: Tool has no outputSchema but returned structuredContent
If you encounter this error:
Error: MPC -32603: MCP error -32603: Tool queryDocumentation has no outputSchema but returned structuredContent
This indicates that the MCP tool is returning structured content but doesn't have an output schema defined correctly. This has been fixed in version 1.0.1+.
Solution:
- Make sure you're using the latest version of the MCP server
- Rebuild the server with
npm run build - Restart the MCP server in your editor
If you're still experiencing issues:
- Check that the output schema format follows the MCP schema format (not using Zod's
.shapeproperty) - Ensure the
structuredContentobject structure matches the defined output schema - Test the server locally with the included test script:
npm run test-server
Error: "cb is not a function"
This error typically occurs when the callback format is incorrect in a tool function or when the tool's return value doesn't match the expected format.
Solution:
- Make sure your tool output is in the correct format:
{ structuredContent: {...}, content: [...] } - Avoid using TypeScript interfaces directly as return values; instead, create a plain object that matches the schema
- Check that all required fields in the output schema are present in the structuredContent object
Other Common Issues
- GitHub API Rate Limiting: If you're in GitHub mode and don't provide a GitHub Personal Access Token (PAT), you may hit rate limits.
- Knowledge Base Not Loading: If using local mode, ensure the
knowledge_base.jsonfile exists in the project root. - Command Not Found: Ensure you've built the project with
npm run buildbefore trying to run the server.
License
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。