Bannerify
Generate images and PDFs from your Bannerify templates, or compose a one-off image from shapes. Remote server with OAuth sign-in.
Servidor MCP alojado
npx add-mcp 'https://api.bannerify.co/mcp'Se instala en Claude Code, Codex, Cursor y más
Documentación
Connect an MCP client
Learn how to connect Claude, Cursor, VS Code, or another MCP client to Bannerify and generate images and PDFs from a chat.
Canonical: https://bannerify.co/docs/mcp/overview
Bannerify runs a Model Context Protocol (MCP) server at https://api.bannerify.co/mcp. This page is for anyone who works with an AI assistant, such as Claude, Cursor, or VS Code, and wants it to use their Bannerify templates. Once the server is connected, the assistant can:
- List your templates and the layers you can change in each one.
- Generate an image or a PDF from a template.
- Compose a one-off image from shapes when no template fits.
Before you start
- A Bannerify account. The template tools need at least one template, and composing an image from shapes needs none.
- An MCP client that supports remote servers over HTTP and OAuth sign-in.
Add the server
The server URL is https://api.bannerify.co/mcp, and it uses the Streamable HTTP transport. The Agents & MCP page in the dashboard shows the same setup steps for each client, with buttons to copy the URL and the commands.
```bash
claude mcp add --transport http bannerify https://api.bannerify.co/mcp
```
Run `/mcp` in Claude Code and follow the steps in your browser.
To share the server with your team, put a `.mcp.json` file at the root of your project:
```json
{
"mcpServers": {
"bannerify": {
"type": "http",
"url": "https://api.bannerify.co/mcp"
}
}
}
```
Claude adds a remote server as a custom connector. On the web:
1. Open **Customize > Connectors**.
2. Click **+ Add**, then **Add custom connector**.
3. Enter `Bannerify` as the name and `https://api.bannerify.co/mcp` as the remote MCP server URL, then click **Continue**.
4. Finish the prompts and click **Add**.
On a Team or Enterprise plan, an owner adds the connector first in **Organization settings > Connectors**.
The Claude desktop app gets its connectors from your Claude account. Do not add the server to `claude_desktop_config.json`: that file is for local servers only.
The [Claude help article on custom connectors](https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp) lists which plans can add one.
Add the server to `.cursor/mcp.json` in your project, or to `~/.cursor/mcp.json` for every project:
```json
{
"mcpServers": {
"bannerify": {
"url": "https://api.bannerify.co/mcp"
}
}
}
```
Cursor supports OAuth sign-in for remote servers.
Add the server to `.vscode/mcp.json` in your project:
```json
{
"servers": {
"bannerify": {
"type": "http",
"url": "https://api.bannerify.co/mcp"
}
}
}
```
Add the server, then sign in:
```bash
codex mcp add bannerify --url https://api.bannerify.co/mcp
codex mcp login bannerify
```
The second command opens the Bannerify sign-in page in your browser.
For another client, enter the same URL and choose the HTTP transport with OAuth sign-in.
Sign in
The first time your client connects, it has no token, so Bannerify sends it to the sign-in page. Your client opens that page in a browser. After you sign in, you choose the workspace that the client can use. The client keeps the token and sends it with each request. You create no API key and copy no token.
The exchange works in four steps:
- The client sends a request to
https://api.bannerify.co/mcpwith no token. The server answers with HTTP 401 and aWWW-Authenticateheader that points to its metadata athttps://api.bannerify.co/.well-known/oauth-protected-resource/mcp. - The metadata names the sign-in service, and the client sends you there.
- You sign in to Bannerify. The consent page shows the name of the client and where it sends the token. Choose your Personal workspace or a team workspace, then click Allow.
- The client receives an access token and sends it as
Authorization: Bearer <token>with each request. Bannerify checks that the token is valid, has not expired, and was issued for the MCP URL.
| Detail | Value |
|---|---|
| Valid for | https://api.bannerify.co/mcp only. A token issued for another URL gets HTTP 401 |
| Workspace | The workspace you chose on the consent page. To use another workspace, connect again and choose it |
| Invalid or expired token | HTTP 401 with the error invalid_token. The client signs in again |
| Token storage | Bannerify stores only a hash of the token |
Ask for a file
Give the assistant a plain request:
List my Bannerify templates, with the layers of each one.
Create a PNG from my "Lifecycle email" template. Set the headline to "Welcome back, An" and the qr layer to https://example.com/restart.
Create a PDF from my invoice template for Acme Studio.
Design a 1200 by 630 banner with a dark background and the text "Launch week", then show me the image.
Which plan is my Bannerify workspace on?
The assistant picks the tools it needs from Generate files with MCP tools, renders the file, and shows you the result.
Usage and limits
A generation from an MCP client counts toward the same monthly and daily limits as the REST API and the SDKs. The plan of the connected workspace applies.
| Tool | Counts as a generation |
|---|---|
create_image, create_pdf, create_image_from_shapes | Yes |
list_templates, get_template, get_project | No |
A render that fails does not count. A team workspace on the Free plan cannot generate files, and a new team workspace starts with a 14-day Automate 3k trial. The MCP server has no request rate limit. Quota and limits has the limit of each plan.
Disconnect
Remove the server from your MCP client, or remove the connector in Claude. The client stops sending its token, and the token stops working when it expires.
Troubleshoot
| Symptom | Fix |
|---|---|
| The client reports HTTP 401, or asks you to sign in again | The token is missing or has expired. Sign in again from your client |
| The browser does not open a sign-in page | Use a client that supports remote MCP servers over HTTP with OAuth sign-in |
| The Claude app does not show Bannerify | Add it as a custom connector in Customize > Connectors, not in claude_desktop_config.json |
| The assistant sees no templates | Ask it to run get_project. If the name shows a different workspace than the one with your templates, remove the server, connect again, and choose the workspace with your templates |
NOT_FOUND for a template | Ask the assistant to run list_templates and use an id from the result. The tools see only the templates of the connected workspace |
USAGE_EXCEEDED | The workspace reached its limit. See Quota and limits |