Guest Pictures
Server Details
Free browser photo booth with effect picker, plus info on collecting guest photos via QR code.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool targets a distinct action: informational guidance on guest QR collection, listing booth effects, and actually opening the booth. The only mild overlap is between list_photo_booth_effects and open_photo_booth (which also surfaces effect suggestions), but explicit 'do not use when...' notes steer selection correctly.
All three names use snake_case with a leading verb (collect_, list_, open_), which is predictable and readable. The minor deviation is the trailing '_info' suffix on collect_guest_photos_info, making it slightly longer than the clean verb_noun pattern of the others.
Three tools is on the lean side but fits a narrow, single-purpose photo-booth assistant. Each tool earns its place (info, effects listing, open action), with no redundant filler.
The surface covers the core flow (learn about collection, see effects, open the booth), but there is no tool to retrieve, view, or share the resulting album/guest photos, and no way to check booth status. These are notable gaps, though the stated purpose is largely served.
Available Tools
3 toolscollect_guest_photos_infoCollect guest photos via QR codeARead-onlyIdempotentInspect
Use this when the user wants their guests to upload their own photos from their phones into one shared event album (e.g. via a QR code at a wedding or party). Returns how QR photo collection works, what to check and practical tips, plus one option by the same developer (Guest Pictures). Do not use when the user just wants a photo booth (use open_photo_booth).
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | "de" for German-speaking users, "en" otherwise. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and openWorld=false, so safety is covered. The description adds genuinely new context: this is an informational/knowledge response rather than an action, and it warns that one recommended option comes from the same developer. Minor gap: no mention of response format depth or cost/pricing caveats beyond that vendor note.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the usage trigger, then the return contract, then the exclusion, which is the right order. The first sentence is long and carries stacked parentheticals (QR code, wedding/party examples), which slightly dilutes scannability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-required-param informational tool with no output schema, the description covers the trigger, the shape of the returned content, and the excluded alternative. Everything an agent needs to choose and call it is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single language enum is fully documented in the schema, so the description needs to do little. It says nothing about language selection, but with complete schema documentation the baseline of 3 is appropriate here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (collect guest photos via QR code into one shared event album) and spells out what the tool actually returns (how QR collection works, checks, tips). It also names the sibling it is not (open_photo_booth), so it is separable from siblings without reading schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use trigger (user wants guests to upload their own phone photos to a shared album at a wedding/party) and an explicit when-not-to-use rule that routes to open_photo_booth. Both the condition and the alternative are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_photo_booth_effectsList photo booth effectsARead-onlyIdempotentInspect
Use this when the user asks which effects, filters or frames the online photo booth has (e.g. big head, meme, Halloween, wanted poster). Returns every effect with a short description.
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | "de" for German labels, "en" otherwise. Match the language of the conversation. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered structurally. The description adds the one thing the annotations cannot: that the call returns every effect with a short description, useful because no output schema is defined. It does not mention ordering or whether the list can be filtered by category.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero padding, and the ordering is correct: the trigger condition is front-loaded, then the return shape. Nothing is repeated from the title or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, read-only enumeration tool with full annotation coverage and only one optional enum parameter, the description supplies everything needed: when to call it and that it returns all effects with descriptions. No output schema means nothing further is expected of it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single optional parameter (language) and schema description coverage is 100%, including the enum values and the guidance to match the conversation language. The description adds no parameter-level information, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact resource (effects/filters/frames of the online photo booth) and grounds it in concrete examples (big head, meme, Halloween, wanted poster), which cannot be confused with the sibling tools open_photo_booth or collect_guest_photos_info. An agent can identify the tool without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit trigger condition: 'Use this when the user asks which effects, filters or frames the online photo booth has.' That is a clear when-to-use statement, but it names no alternatives or exclusions (e.g. what to use when the user wants to apply an effect rather than enumerate them).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_photo_boothOpen photo boothARead-onlyIdempotentInspect
Use this when the user wants a photo booth, selfie booth or "Fotobox" for a party, wedding, birthday, office party or any event, or wants to take fun group photos with effects on a phone, tablet or laptop. Shows a card with example images of all effects where the user picks an effect, a collage layout and an optional caption, then opens the browser photo booth with those settings in a new tab (no signup, no app; photos stay on the device). Also returns how it works and effect suggestions for the occasion. The booth cannot take photos inside the chat. Do not use for editing existing photos or for collecting photos from guests (use collect_guest_photos_info for that).
| Name | Required | Description | Default |
|---|---|---|---|
| effect | No | Effect the user asked for, if any. It is preselected in the card and the booth link. | |
| layout | No | Collage layout the user asked for, if any: "square" (2×2), "column" (photo strip) or "postcard". Defaults to "square". | |
| caption | No | Short caption for the bottom of the collage if the user gave one, e.g. names and date ("Emma & Noah · 12.06."). Max 40 characters are used. | |
| language | No | Language of the booth: "de" for German-speaking users, "en" otherwise. Match the language of the conversation. | |
| occasion | No | Occasion in a few words, e.g. "wedding", "birthday", "office party", "Halloween". Used only to suggest effects. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| brand | Yes | |
| steps | Yes | |
| effect | Yes | |
| layout | Yes | |
| caption | Yes | |
| effects | Yes | |
| layouts | Yes | |
| boothUrl | Yes | |
| language | Yes | |
| captionMax | Yes | |
| effectLabel | Yes | |
| suggestedEffects | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint false), the description discloses the interaction flow (card with example images, user picks effect/layout/caption), the delivery channel (new browser tab), privacy ('photos stay on the device', 'no signup, no app'), and a hard limitation ('The booth cannot take photos inside the chat'). That is exactly the behavioral context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The use case is front-loaded and each sentence carries distinct information (trigger, flow, privacy, limitation, exclusion). It is on the long side for a 5-parameter tool, but no sentence is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and annotations cover the safety profile. With usage triggers, flow, privacy and exclusions all present, an agent has everything needed to invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and three parameters are enums, so the schema already documents meaning, defaults and allowed values. The description frames the selection flow and hints that occasion only drives effect suggestions, but adds no syntax or format detail beyond the schema; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (photo booth / Fotobox) and the concrete action (shows an effect-picker card, then opens the booth in a browser tab with the chosen settings). It explicitly distinguishes itself from the sibling collect_guest_photos_info, so an agent can route correctly without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states when to use it (user wants a photo booth or fun group photos with effects at an event) and gives explicit exclusions: 'Do not use for editing existing photos or for collecting photos from guests (use collect_guest_photos_info for that)'. The named alternative and the boundary condition leave nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
collect_guest_photos_info - First observed
list_photo_booth_effects - First observed
open_photo_booth
Related MCP Connectors
Create shared event photo galleries with a QR code, a live photo wall and AI caption suggestions.
Free styled QR codes, no key: URL, WiFi, contact, text, email. API key adds saved codes + analytics.
- FotifyOAuthapp.fotify
Create events, collect guest photos and manage RSVP invitations for weddings and parties.
Free styled QR code generator API. Create QR codes with custom colors, logos, and frame templates. Supports URL, WiFi, Email, Phone, SMS. No API keys required.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceGenerate QR codes and create, edit and track dynamic (editable) QR codes with scan analytics, folders, style themes and branded subdomain management. Free REST API with an OpenAPI spec alongside; every tool takes a free API key.12AGPL 3.0
- AlicenseNot gradedqualityCmaintenanceEnables generating QR codes from URLs or text without an API key, and creating trackable short links whose printed QR codes can be re-pointed after printing.33 npmMIT

Charmshots MCPofficial
AlicenseNot gradedqualityBmaintenanceEnables creation of AI portraits from your own photographs.21 npmMIT- AlicenseAqualityDmaintenanceDynamic QR code platform for AI agents. Create, customize, and track QR codes without regenerating images. 37 tools covering 11 QR types (URL, vCard, WiFi, event…).373MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.