内容
# markitup-mcp-server
[](https://www.npmjs.com/package/markitup-mcp-server)
[](https://registry.modelcontextprotocol.io/v0/servers?search=markitup)
[](https://glama.ai/mcp/servers/smythmyke/markitup-mcp-server)
[](https://smithery.ai/servers/smythmyke/markitup-mcp-server)
[](LICENSE)
适用于 [MarkItUp](https://markitup.app) 的 MCP(模型上下文协议)服务器 — AI 驱动的图像注释和营销视觉生成。允许 Claude Code、Claude Desktop、Cursor、ChatGPT-with-MCP 等 MCP 兼容客户端直接调用 MarkItUp。
提供五种工具:`markitup_credit_balance`、`markitup_generate`、`markitup_regen`、`markitup_extend`、`markitup_remove_background`。
## 先决条件
1. MarkItUp 账户 — 在 https://markitup.app 注册。
2. MarkItUp API 密钥 — 在 https://markitup.app/dashboard 生成。
3. Node.js 18 或更新版本(仅在本地安装时需要;如果您的 MCP 客户端捆绑了 Node.js,则 `npx` 不需要本地 Node.js)。
## 在 Claude Code 中配置
将以下内容添加到您的 MCP 配置文件(`~/.claude/mcp.json` 或项目范围内的 `.mcp.json`):
```jsonc
{
"mcpServers": {
"markitup": {
"command": "npx",
"args": ["-y", "markitup-mcp-server"],
"env": {
"MARKITUP_API_KEY": "mk_live_..."
}
}
}
}
```
## 在 Claude Desktop 中配置
编辑 `~/Library/Application Support/Claude/claude_desktop_config.json`(macOS)或 `%APPDATA%\Claude\claude_desktop_config.json`(Windows):
```jsonc
{
"mcpServers": {
"markitup": {
"command": "npx",
"args": ["-y", "markitup-mcp-server"],
"env": {
"MARKITUP_API_KEY": "mk_live_..."
}
}
}
}
```
## 在 Cursor 中配置
Cursor 使用相同的 JSON 结构。设置 → MCP → 添加服务器:
```jsonc
{
"mcpServers": {
"markitup": {
"command": "npx",
"args": ["-y", "markitup-mcp-server"],
"env": { "MARKITUP_API_KEY": "mk_live_..." }
}
}
}
```
## 工具
### `markitup_credit_balance`
返回当前信用余额和订阅状态。
无参数。可用于验证您的 API 密钥是否有效,并在调用生成工具之前检查信用。
### `markitup_generate`
根据截图生成 3 个精致的营销视觉变体。消耗 1 个信用。
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
| `description` | 字符串 | 是 | 图片显示的内容和要突出的内容 |
| `template_id` | 字符串 | 是 | `glassmorphic`、`clean_minimal`、`bold_marketing`、`dark_professional`、`documentation`(等等)之一 |
| `image_url` | 字符串 | 二选一 | 源图片的公共 HTTPS URL |
| `image_base64` | 字符串 | 二选一 | Base64 编码的图片字节(无 `data:` 前缀) |
| `image_mime_type` | 字符串 | 否 | 提供 `image_base64` 时的 MIME 类型。默认为 `image/png` |
| `aspect_ratio` | 字符串 | 否 | `1:1`、`3:2`、`2:3`、`3:4`、`4:3`、`4:5`、`5:4`、`9:16`、`16:9`、`21:9` 之一 |
| `image_size` | 字符串 | 否 | `1K`、`2K` 或 `4K` |
返回:营销文案(标题、副标题)以及 3 个生成的图片变体作为 Base64 图片内容块。完整的结构化响应也可在 `structuredContent` 下获取。
**示例提示(在 Claude Code 中):**
> 使用 `markitup_generate`,并使用 https://example.com/dashboard.png 截图 — 突出导出按钮,并使用 `bold_marketing` 模板为营销着陆页进行宣传。
### `markitup_regen`
重新生成以前的 `markitup_generate` 调用中的一个变体。默认消耗 1 个信用(`charge_credit: false` 可跳过)。
LLM 必须传递前一次生成的 `structuredContent.text` 中的 `text_analysis` 对象,以便重新生成的视觉效果与相同的标题/副标题保持品牌一致。`variation_index` 选择哪个槽位(0-2)。
### `markitup_extend`
AI 扩展图片 — 将图片扩展到更大的画布/不同的宽高比。消耗 1 个信用。
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
| `image_url` / `image_base64` | 字符串 | 二选一 | 源图片 |
| `aspect_ratio` | 字符串 | 是 | 目标宽高比(`16:9`、`9:16` 等) |
| `target_width` / `target_height` | 数字 | 是 | 输出像素尺寸 |
| `image_size` | 字符串 | 否 | `1K`、`2K` 或 `4K` |
### `markitup_remove_background`
通过 Photoroom 的 HD 模型移除图片的背景。返回透明 PNG。消耗 1 个信用(活跃的 Pro/Power 订阅者免费)。
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
| `image_url` / `image_base64` | 字符串 | 二选一 | 源图片 |
## 环境变量
| 变量 | 必需 | 描述 |
|---|---|---|
| `MARKITUP_API_KEY` | 是 | 从 MarkItUp 仪表盘获取的 API 密钥 |
| `MARKITUP_API_BASE` | 否 | 覆盖 API 基地址。默认为 `https://markitup.app/api/v1`。在测试 staging 环境时很有用。 |
## 本地开发
```bash
git clone https://github.com/markitup/mcp-server.git
cd mcp-server
npm install
npm run build
# 将您的 MCP 客户端配置指向本地构建:
{
"command": "node",
"args": ["/absolute/path/to/mcp-server/dist/index.js"],
"env": { "MARKITUP_API_KEY": "mk_test_..." }
}
```
## 安全
- 永远不要将 `MARKITUP_API_KEY` 提交到源代码控制中。
- 如果您意外暴露了一个密钥,请立即在 https://markitup.app/dashboard 中撤销它,并创建一个新的密钥。
- 密钥在服务器上使用 SHA-256 哈希;原始密钥仅在创建时显示一次。
## 错误
服务器为常见情况提供了清晰的人类可读错误:
- `Invalid or missing MARKITUP_API_KEY` — 设置或旋转密钥。
- `Out of MarkItUp credits` — 在 https://markitup.app/credits 中充值。
- `Rate limit exceeded` — 稍候并重试。
## 许可证
MIT