Koskamo

Insta-Pola Photo Gallery MCP

Enables AI assistants to create and customize shared event photo galleries, allowing guests to post photos via QR code without accounts, generate AI-suggested polaroid-style captions, and manage live photo walls for events like weddings and parties.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Insta-Pola Photo Gallery MCP logo, by Insta-PolaVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-06Operated by Insta-Pola
MCP endpoint (Streamable HTTP)
https://www.insta-pola.com/mcp
Vendor documentation

What its tools do

5 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

5 of 5 have a description · 5 of 5 declare behavior hints · 4 of 4 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to insta-pola.com ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Create a shared event photo gallery via AI assistant
  • Customize gallery themes and branding
  • Manage guest photo submissions and moderation
  • Generate AI-suggested captions for photos

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
insta-pola 1.6.0
MCP protocol negotiated in check
2025-11-25
Tools
5 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Insta-Pola manages shared event photo galleries for the connected Insta-Pola account: guests scan a QR code and post captioned photos, which can be shown live on a projected wall. Gallery texts and replies are in French. Tools: create_gallery (name, date, public or private access, optional color theme and title font), update_gallery (title, theme or font of an existing gallery; the gallery address does not change), set_gallery_logo (sets an image from the conversation as the gallery logo), list_galleries and get_gallery. Before creating a gallery, ask for the event date if the user has not given it. Themes and fonts come from fixed lists in the tool schemas; pick the closest match to the user's wording (for example pink: rose-editorial, modern: montserrat, Christmas: pull-moche) and tell the user which ones were used. Themes: most themes are color themes (header and live wall color). The full themes dress the gallery header with a pattern, a matching title font and a matching default logo: pull-moche (ugly Christmas sweater, knitted header, pixel font; Christmas parties), bauhaus (geometric shapes; design or modern events), disco-club (disco party), la-gazette (newspaper style; anniversaries, retrospectives), dolce-vita (Italian summer; summer weddings, garden parties), love-notes (powder pink, hand-lettered hearts; weddings, engagements). Every theme and font can be previewed at https://www.insta-pola.com/styles. Logos: create_gallery and get_gallery return logo_guidance (background color, recommended colors, transparent background, text size). Logos made for a gallery should follow it. Show the image to the user and call set_gallery_logo only after the user approves it. If set_gallery_logo reports a legibility issue, tell the user. The welcome text, photo moderation, photo deletion and album downloads are done by the organizer on insta-pola.com: share customize_link or moderation_link for these. moderation_link opens the organizer page « Gérer la galerie ». Other features, set up by the organizer on insta-pola.com (customize_link or moderation_link): a monogram maker in the logo panel (initials from the gallery title, 8 templates, transparent PNG), a no-logo option (title only), an event page with the program, venue and practical information (event_page_link), short guest notes on the back of each photo, 13 backgrounds for the live wall, a communication kit (posters, table tents, flyers, QR cards, stories, ready-to-send messages) and handing a gallery over to a client (guest access and organizer password sent in one message, from the organizer's account). The app does not sell anything. When a gallery is not active yet or the user asks about plans, explain it and share only the information page https://www.insta-pola.com/#pricing. When a gallery is returned, the QR code can be shown as an image from qr_code_url, with the guest link.

Tools

5 advertised

create_gallery — Créer une galerie photo d'évènement
Advertised by the server during the last successful anonymous check.
Open-world

Crée une galerie photo partagée Insta-Pola pour un évènement (mariage, anniversaire, soirée, séminaire…). Les invités scannent un QR code, postent leurs photos avec une légende depuis leur téléphone, sans application, et un mur photo en direct peut être projeté. Renvoie le lien à partager, le QR code, le lien du mur en direct et, si l'accès est privé, le code invité. Demande le nom et la date de l'évènement s'ils manquent. Accepte un thème de couleur et une police. La première galerie d'un compte est mise en ligne tout de suite ; les suivantes sont créées sans être actives, et la réponse l'explique. Le texte d'accueil et la modération se font ensuite sur insta-pola.com.

create_gallery input schema
{
  "type": "object",
  "required": [
    "name",
    "date"
  ],
  "properties": {
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Date de l'évènement, AAAA-MM-JJ (aujourd'hui ou dans les 90 prochains jours)."
    },
    "font": {
      "enum": [
        "monoton",
        "playfair",
        "dmserif",
        "lora",
        "dancing",
        "lobster",
        "montserrat",
        "robotoSemi",
        "bitcount",
        "staatliches",
        "limelight",
        "shrikhand",
        "codystar",
        "riviera"
      ],
      "type": "string",
      "description": "Police du titre : monoton = Néon, playfair = Élégant, dmserif = Classique, lora = Doux, dancing = Manuscrit, lobster = Rétro, montserrat = Moderne, robotoSemi = Sobre, bitcount = Pixel, staatliches = Bauhaus, limelight = Art déco, shrikhand = Disco, codystar = Facettes, riviera = Riviera. Facultatif (par défaut : playfair)."
    },
    "name": {
      "type": "string",
      "maxLength": 80,
      "minLength": 2,
      "description": "Nom de l'évènement, affiché en titre (ex. « Anniversaire de Léa »)."
    },
    "theme": {
      "enum": [
        "rose-editorial",
        "corail-pastel",
        "framboise-sorbet",
        "peach-cream",
        "mint-museum",
        "mint-fresh",
        "vert-sauge",
        "vert-profond",
        "bleu-petrole",
        "bleu-nuit",
        "bleu-glacier",
        "beige-sable",
        "moka-latte",
        "sunrise-gold",
        "chaplin-gold",
        "citrus-pop",
        "apricot-glow",
        "saffron-night",
        "pull-moche",
        "bauhaus",
        "disco-club",
        "la-gazette",
        "dolce-vita",
        "love-notes"
      ],
      "type": "string",
      "description": "Thème de couleur (fond de l'en-tête et du mur live). Choisis le plus proche de la demande : rose-editorial = Rose Editorial (#ED719E), corail-pastel = Corail Pastel (#FF8B7B), framboise-sorbet = Framboise Sorbet (#D64F7A), peach-cream = Peach Cream (#F4B998), mint-museum = Mint Museum (#5BB7A4), mint-fresh = Mint Fresh (#4EC280), vert-sauge = Vert Sauge Chic (#A4C59C), vert-profond = Vert Profond (#0C6B4F), bleu-petrole = Bleu Pétrole (#0A6E8C), bleu-nuit = Bleu Nuit Luxe (#0E2A47), bleu-glacier = Bleu Glacier (#8AC6E8), beige-sable = Beige Sable (#E7DBC9), moka-latte = Moka Latte (#C7A98E), sunrise-gold = Sunrise Gold (#F4A259), chaplin-gold = Chaplin Gold (#F4B647), citrus-pop = Citrus Pop (#FFC857), apricot-glow = Apricot Glow (#FFB997), saffron-night = Safran & Nuit (#E0B04E), pull-moche = Pull Moche (Noël) (#B3122A), bauhaus = Bauhaus (#F4EFE3), disco-club = Disco Club (#3A0F4F), la-gazette = La Gazette (#F3EEE3), dolce-vita = Dolce Vita (#FBE7A1), love-notes = Love Notes (#FBE4DE). Facultatif : sans choix, un thème adapté au type d'évènement est proposé."
    },
    "private": {
      "type": "boolean",
      "default": false,
      "description": "true : les invités ont besoin d'un code pour participer."
    }
  },
  "additionalProperties": false
}
create_gallery annotations
{
  "title": "Créer une galerie photo",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
update_gallery — Modifier le titre, le thème ou la police d'une galerie
Advertised by the server during the last successful anonymous check.
Advertised destructiveOpen-world

Modifie le titre, le thème de couleur et/ou la police du titre d'une galerie du compte connecté. L'adresse de la galerie ne change pas. Ne modifie ni les photos, ni le logo, ni le texte d'accueil. Utiliser list_galleries pour trouver son identifiant (slug).

update_gallery input schema
{
  "type": "object",
  "required": [
    "slug"
  ],
  "properties": {
    "font": {
      "enum": [
        "monoton",
        "playfair",
        "dmserif",
        "lora",
        "dancing",
        "lobster",
        "montserrat",
        "robotoSemi",
        "bitcount",
        "staatliches",
        "limelight",
        "shrikhand",
        "codystar",
        "riviera"
      ],
      "type": "string",
      "description": "Police du titre : monoton = Néon, playfair = Élégant, dmserif = Classique, lora = Doux, dancing = Manuscrit, lobster = Rétro, montserrat = Moderne, robotoSemi = Sobre, bitcount = Pixel, staatliches = Bauhaus, limelight = Art déco, shrikhand = Disco, codystar = Facettes, riviera = Riviera."
    },
    "slug": {
      "type": "string",
      "pattern": "^[a-z0-9][a-z0-9-]{1,58}[a-z0-9]$",
      "description": "Identifiant de la galerie, tel que renvoyé par list_galleries."
    },
    "theme": {
      "enum": [
        "rose-editorial",
        "corail-pastel",
        "framboise-sorbet",
        "peach-cream",
        "mint-museum",
        "mint-fresh",
        "vert-sauge",
        "vert-profond",
        "bleu-petrole",
        "bleu-nuit",
        "bleu-glacier",
        "beige-sable",
        "moka-latte",
        "sunrise-gold",
        "chaplin-gold",
        "citrus-pop",
        "apricot-glow",
        "saffron-night",
        "pull-moche",
        "bauhaus",
        "disco-club",
        "la-gazette",
        "dolce-vita",
        "love-notes"
      ],
      "type": "string",
      "description": "Thème de couleur (fond de l'en-tête et du mur live). Choisis le plus proche de la demande : rose-editorial = Rose Editorial (#ED719E), corail-pastel = Corail Pastel (#FF8B7B), framboise-sorbet = Framboise Sorbet (#D64F7A), peach-cream = Peach Cream (#F4B998), mint-museum = Mint Museum (#5BB7A4), mint-fresh = Mint Fresh (#4EC280), vert-sauge = Vert Sauge Chic (#A4C59C), vert-profond = Vert Profond (#0C6B4F), bleu-petrole = Bleu Pétrole (#0A6E8C), bleu-nuit = Bleu Nuit Luxe (#0E2A47), bleu-glacier = Bleu Glacier (#8AC6E8), beige-sable = Beige Sable (#E7DBC9), moka-latte = Moka Latte (#C7A98E), sunrise-gold = Sunrise Gold (#F4A259), chaplin-gold = Chaplin Gold (#F4B647), citrus-pop = Citrus Pop (#FFC857), apricot-glow = Apricot Glow (#FFB997), saffron-night = Safran & Nuit (#E0B04E), pull-moche = Pull Moche (Noël) (#B3122A), bauhaus = Bauhaus (#F4EFE3), disco-club = Disco Club (#3A0F4F), la-gazette = La Gazette (#F3EEE3), dolce-vita = Dolce Vita (#FBE7A1), love-notes = Love Notes (#FBE4DE)."
    },
    "title": {
      "type": "string",
      "maxLength": 80,
      "minLength": 2,
      "description": "Nouveau titre affiché en haut de la galerie et sur le mur live."
    }
  },
  "additionalProperties": false
}
update_gallery annotations
{
  "title": "Modifier une galerie",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": true
}
set_gallery_logo — Poser un logo sur une galerie
Advertised by the server during the last successful anonymous check.
Advertised destructiveOpen-world

Pose une image comme logo d'une galerie du compte connecté (en-tête de la galerie, mur live, aperçus de liens). L'image peut être générée dans la conversation ou fournie par l'utilisateur ; elle est réduite à 512 px. Avant de générer un logo, appeler get_gallery et suivre sa logo_guidance (fond transparent, contraste avec la couleur de la galerie, texte très grand ou absent). Renvoie un contrôle de lisibilité. Utiliser list_galleries pour trouver l'identifiant (slug).

set_gallery_logo input schema
{
  "type": "object",
  "required": [
    "slug",
    "image"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "pattern": "^[a-z0-9][a-z0-9-]{1,58}[a-z0-9]$",
      "description": "Identifiant de la galerie, tel que renvoyé par list_galleries."
    },
    "image": {
      "type": "object",
      "required": [
        "download_url",
        "file_id"
      ],
      "properties": {
        "file_id": {
          "type": "string"
        },
        "file_name": {
          "type": "string"
        },
        "mime_type": {
          "type": "string"
        },
        "download_url": {
          "type": "string"
        }
      },
      "description": "L'image du logo (PNG, JPEG ou WebP)."
    }
  },
  "additionalProperties": false
}
set_gallery_logo annotations
{
  "title": "Poser un logo",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": true
}
list_galleries — Lister mes galeries
Advertised by the server during the last successful anonymous check.
Advertised read-only

Liste les galeries Insta-Pola du compte connecté, avec leur date, leur état et leurs liens.

list_galleries input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
list_galleries annotations
{
  "title": "Lister mes galeries",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
get_gallery — Détails d'une galerie
Advertised by the server during the last successful anonymous check.
Advertised read-only

Donne le lien, le QR code, le code invité (si privée), l'état et le nombre de photos d'une galerie du compte connecté. Utiliser list_galleries pour trouver son identifiant (slug).

get_gallery input schema
{
  "type": "object",
  "required": [
    "slug"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "pattern": "^[a-z0-9][a-z0-9-]{1,58}[a-z0-9]$",
      "description": "Identifiant de la galerie, tel que renvoyé par list_galleries."
    }
  },
  "additionalProperties": false
}
get_gallery annotations
{
  "title": "Détails d'une galerie",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (2 of 2 answered).

  1. 2026-11-06: 1 of 1 checks answered
  2. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
892 ms
95th percentile latency
892 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 892 ms · metadata changed · 5 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http insta-pola-photo-gallery-mcp https://www.insta-pola.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add insta-pola-photo-gallery-mcp --url https://www.insta-pola.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable insta-pola-photo-gallery-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "insta-pola-photo-gallery-mcp": {
      "url": "https://www.insta-pola.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "insta-pola-photo-gallery-mcp": {
      "type": "streamableHttp",
      "url": "https://www.insta-pola.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start insta-pola-photo-gallery-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "insta-pola-photo-gallery-mcp": {
      "type": "http",
      "url": "https://www.insta-pola.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http insta-pola-photo-gallery-mcp https://www.insta-pola.com/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://www.insta-pola.com/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "insta-pola-photo-gallery-mcp": {
      "serverUrl": "https://www.insta-pola.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Insta-Pola Photo Gallery MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Insta-Pola Photo Gallery MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing