Gamma MCP服务器
MCP(模型上下文协议)服务器,使人工智能助手能够使用Gamma.app API生成Gamma演示文稿、文档和社交媒体帖子。
什么是MCP?
模型上下文协议(MCP)允许像克劳德这样的人工智能助手与外部工具和数据源进行交互。此服务器将Gamma的AI生成功能暴露给任何兼容MCP的客户端。
特性
- 🎨 生成演示文稿、文档和社交媒体帖子
- 🤖 基于人工智能的内容生成,具有可定制的选项
- 🎭 主题支持,打造一致的品牌
- 📝 多种文本模式:生成、压缩或保留
- 🖼️ 图像生成选项(AI生成或Unsplash)
- 📊 导出为PDF或PPTX
- 🌍 多语言支持
先决条件
- Node.js 18或更高版本
- 具有API访问权限的Gamma.app帐户
- Gamma API密钥(从 Gamma.app API设置)
安装与使用
生产模式(通过NPM)
发布到NPM后,您可以直接使用服务器 npx:
- 配置您的MCP客户端 (例如,Claude Desktop)通过在配置文件中添加以下内容:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"gamma": {
"command": "npx",
"args": ["-y", "@raydeck/gamma-app-mcp"],
"env": {
"GAMMA_API_KEY": "your-gamma-api-key-here"
}
}
}
}- 重新启动MCP客户端 加载服务器
本地开发/测试模式
发布前的测试和开发:
- 克隆/导航到存储库:
cd /path/to/gamma-mcp- 安装依赖项:
npm install- 构建项目:
npm run build- 配置您的MCP客户端 使用本地路径:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"gamma": {
"command": "node",
"args": ["/absolute/path/to/gamma-mcp/dist/index.js"],
"env": {
"GAMMA_API_KEY": "your-gamma-api-key-here"
}
}
}
}使用npm链接的替代方案:
# In the gamma-mcp directory
npm link
# Then in your MCP config:
{
"mcpServers": {
"gamma": {
"command": "gamma-mcp",
"env": {
"GAMMA_API_KEY": "your-gamma-api-key-here"
}
}
}
}- 重新启动MCP客户端
开发模式(带自动重新加载)
对于使用TypeScript热重载的主动开发:
npm run dev这将直接从TypeScript源代码运行服务器,使用 tsx.
配置
环境变量
GAMMA_API_KEY(必需):您的Gamma API密钥
可用工具
generate_gamma
生成人工智能驱动的Gamma内容(演示文稿、文档或社交帖子)。
备注:此工具返回生成ID。使用 get_gamma_generation 工具自动等待完成并检索最终URL。
参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
inputText | string | ✅ | 要生成的文本内容(1-400000个字符)。可以是简短的提示、凌乱的笔记或精致的内容。 |
textMode | string | ❌ | 如何处理输入: generate, condense,或 preserve (默认值: generate) |
format | string | ❌ | 输出格式: presentation, document,或 social (默认值: presentation) |
themeName | string | ❌ | 要使用的特定主题的名称。 仅当用户明确按名称请求自定义主题时使用。 主题必须存在于Gamma工作区中。省略此参数以使用Gamma的默认主题选择。 |
numCards | 编号 | ❌ | 要生成的卡片/幻灯片数量(Pro为1-60,Ultra为1-75,默认值:10) |
cardSplit | string | ❌ | 如何分割内容: auto 或 inputTextBreaks (默认值: auto) |
additionalInstructions | string | ❌ | 内容和布局的附加说明(1-500个字符) |
exportAs | string | ❌ | 导出格式: pdf 或 pptx |
文本选项
| 参数 | 类型 | 说明 |
|---|---|---|
textOptions.amount | string | 每张卡的文本量: brief, medium, detailed,或 extensive |
textOptions.tone | string | 内容的语调 |
textOptions.audience | string | 目标受众 |
textOptions.language | string | 输出语言代码(例如,'en'、'es'、'fr') |
图像选项
| 参数 | 类型 | 说明 |
|---|---|---|
imageOptions.source | string | 图像源: aiGenerated 或 unsplash |
imageOptions.model | string | 用于图像生成的AI模型 |
imageOptions.style | string | 生成图像的艺术风格 |
卡选项
| 参数 | 类型 | 说明 |
|---|---|---|
cardOptions.dimensions | string | 卡片尺寸: fluid, 16x9,或 4x3 |
共享选项
| 参数 | 类型 | 说明 |
|---|---|---|
sharingOptions.workspaceAccess | string | 工作区访问级别 |
示例用法
与Claude或其他MCP客户端一起使用时:
Create a 10-slide presentation about "The Future of AI" with a professional tone,
targeted at business executives, using medium text amount and AI-generated images.AI将使用这样的工具:
{
"inputText": "The Future of AI - covering trends, opportunities, and challenges",
"format": "presentation",
"numCards": 10,
"textOptions": {
"amount": "medium",
"tone": "professional",
"audience": "business executives"
},
"imageOptions": {
"source": "aiGenerated"
}
}get_gamma_generation
检索Gamma生成的状态和URL。 每5秒自动轮询一次 直到生成完成(推荐 API伽马).
参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
generationId | string | ✅ | 从返回的生成ID generate_gamma |
pollUntilComplete | boolean | ❌ | 是否自动轮询直到完成(默认值: true) |
maxWaitSeconds | 编号 | ❌ | 轮询时的最长等待时间(秒)(默认值: 300 =5分钟) |
自动轮询(默认行为)
默认情况下,该工具 每5秒自动轮询一次 直到生成完成或失败:
- ✅ 遵循Gamma API建议(5秒间隔)
- ✅ 准备就绪时返回最终URL
- ✅ 5分钟后超时(可配置)
- ✅ 简单的单一工具调用-无需手动轮询
响应
该工具返回一个JSON响应,其中包含:
- 状态:
pending,processing,completed,或failed - 统一资源定位符:链接到生成的Gamma(可在Gamma应用程序中编辑)
- 导出URL:PDF或PPTX下载链接(如果在生成过程中要求)
示例用法
自动轮询(推荐):
{
"generationId": "abc123"
}*等待完成并返回最终URL*
自定义超时:
{
"generationId": "abc123",
"maxWaitSeconds": 600
}*等待最多10分钟*
单一状态检查(无轮询):
{
"generationId": "abc123",
"pollUntilComplete": false
}*立即返回当前状态,无需等待*
响应格式
generate_gamma 响应
返回来自Gamma API的JSON响应,其中包含:
- 世代ID(与
get_gamma_generation) - 初始状态
get_gamma_generation 响应
退货:
- 当前状态(待定、正在处理、已完成、失败)
- Gamma URL(完成时)
- PDF/PPTX导出链接(如果需要)
开发工作流程
项目结构
gamma-mcp/
├── src/
│ └── index.ts # Main server implementation
├── dist/ # Compiled JavaScript output
├── package.json # NPM package configuration (includes mcpName for registry validation)
├── server.json # MCP registry metadata
├── tsconfig.json
└── README.md备注:The server.json 需要文件才能发布到 MCP注册表。它包含有关服务器的元数据,包括其命名空间(io.github.statechangelabs/gamma-app-mcp)、包信息和部署配置。
建筑
npm run build这将TypeScript编译为JavaScript dist/ 目录。
正在验证服务器.json
在发布到MCP注册表之前,您可以验证您的 server.json:
npm run validate这将检查您的 server.json 具有所有必需的字段,并且对于MCP注册表结构正确。
本地测试
- 对以下内容进行更改
src/index.ts - 跑
npm run build编写 - 重新启动MCP客户端以重新加载服务器
- 使用您的AI助手进行测试
向NPM发布
准备发布时:
- 更新版本 在
package.json和server.json:
npm version patch # or minor, or major然后更新 version 字段在 server.json 为了匹配。
- 构建项目:
npm run build- 发布到NPM:
npm publish --access public- 然后,用户可以通过以下方式安装:
npx @raydeck/gamma-app-mcp发布到MCP注册表
发布到NPM后,您可以发布到官方MCP注册表,使您的服务器可被发现:
- 安装MCP发布器CLI:
# macOS/Linux with Homebrew
brew install mcp-publisher
# Or download pre-built binaries from:
# https://github.com/modelcontextprotocol/registry/releases- 通过GitHub进行身份验证 (为
io.github.*命名空间):
mcp-publisher login github- 发布到注册表:
mcp-publisher publish- 验证发布:
curl "https://registry.modelcontextprotocol.io/v0/servers?search=io.github.statechangelabs/gamma-app-mcp"有关详细说明,请参阅 官方出版指南.
故障排除
服务器未启动
- 验证
GAMMA_API_KEY在MCP配置中设置正确 - 检查Node.js版本是否为18或更高
- 确保配置中的路径是绝对正确的
API错误
- 验证您的Gamma API密钥是否有效
- 检查您是否有足够的API信用
- 查看API伽马文件中的参数要求
MCP客户端未检测到服务器
- 确保配置JSON有效(使用JSON验证器)
- 配置更改后重新启动MCP客户端
- 检查客户端日志中的错误消息
资源
许可证
国际协调委员会
作者
Ray Deck
支持
对于问题和疑问:
