Pedra MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PEDRA_API_KEY | Yes | Your Pedra API key from https://app.pedra.ai |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pedra_enhanceA | Enhance a real-estate photo: improve lighting, color, and sharpness. Returns the enhanced image URL. Pass |
| pedra_enhance_and_correct_perspectiveA | Enhance a photo and correct vertical/horizontal perspective (straighten walls and lines). Returns the corrected image URL. Pass |
| pedra_empty_roomA | Remove all furniture and objects from a room, leaving an empty space. Returns the emptied image URL. Pass |
| pedra_furnishA | Virtually stage (furnish) a room with AI-generated furniture. Returns the staged image URL. Pass |
| pedra_renovationB | Renovate a space (walls, floors, finishes), optionally furnished. Returns the renovated image URL. Pass |
| pedra_edit_via_promptA | Edit an image from a natural-language instruction (e.g. "paint the walls sage green"). Returns the edited image URL. Pass |
| pedra_sky_blueA | Replace a dull or overcast sky with a clear blue one. Returns the image URL with the new sky. Pass |
| pedra_remove_objectA | Remove an object from an image using a mask. Returns the cleaned image URL. Pass |
| pedra_blurA | Blur objects in an image (e.g. faces, license plates) for privacy. Returns the blurred image URL. Pass |
| pedra_create_videoB | Create a property video from a list of images. Blocks server-side until the video is rendered (up to ~10 min) and returns the finished video URL inline. |
| pedra_update_videoA | Edit an existing video (by videoId) without re-rendering unchanged clips — only new/changed photos re-animate and cost credits; reordering, music, voice, branding and text re-stitch for free. Omit |
| pedra_generate_voice_scriptA | Write a short voiceover script from property photos (and optional facts). GPT-4o vision reads the images so the script reflects what's actually shown. Returns the script text — pass it to pedra_generate_voice. |
| pedra_generate_voiceA | Render a voiceover from a script via text-to-speech. Returns an audioId — pass it to pedra_create_video / pedra_update_video as voice.audioId to attach the narration (with synced subtitles). |
| pedra_music_libraryA | List the background-music catalog: valid |
| pedra_list_propertiesA | List the user's Pedra properties (id, name, photo count, and an appUrl to open each in Pedra). Use this to find photos already in the account — e.g. to build a video from a listing's photos. |
| pedra_list_property_imagesA | List the photos in a Pedra property as img.pedra.ai URLs, ready to pass straight to pedra_create_video or the image-editing tools. Get the propertyId from pedra_list_properties. Pass type "360" to list its 360° photos instead (their imageIds are the scenes of a virtual tour). |
| pedra_create_propertyA | Create a new Pedra property. Returns its propertyId and an appUrl. To add photos that are on the user's device, pedra_create_upload_link is simpler (no login); or give the user the appUrl to open the property in Pedra and drop their photos in, then use pedra_list_property_images. |
| pedra_add_images_to_propertyA | Add photos to a property by URL (the server fetches each one, so any public https image URL or small data: URI works). Returns the stored img.pedra.ai URLs to use with the editing, video and tour tools. For photos on the user's device, use pedra_create_upload_link instead. Pass type "360" for 360° photos (checked to be 2:1 equirectangular), which can then become a virtual tour. (With this local server, 360° photo files on this computer can go through pedra_add_local_panoramas instead.) |
| pedra_add_local_panoramasA | LOCAL-ONLY TOOL (this Pedra MCP server runs on the user's own computer, so it can read files from its disk). Upload 360° photo files (2:1 equirectangular JPEG, PNG or WebP) from absolute local paths into a property, in the order given — that order becomes the walking order when you then call pedra_create_virtual_tour with just the propertyId. Files are sent in batches (10 per call, under the 50 MB request limit); a file over ~33 MB can't be sent this way — use pedra_create_upload_link for those. Prefer this over pedra_create_upload_link whenever the 360° photos are files on this computer. Returns the added photos (imageIds are scene ids) and any that failed, each with its path. |
| pedra_create_upload_linkA | Get a link where the user (or their photographer) uploads photos from their phone or computer into a property. No login, valid 24 hours. Use this whenever the photos are files on the user's device that weren't attached to the chat: for editing, videos or virtual tours. Regular photos and 360° photos both work (360° photos are recognised automatically); pass type "360" for a virtual tour so anything else is refused. Creates the property if no propertyId is given. Give the user the uploadUrl, wait until they say they're done, then use pedra_list_property_images (type "360" for 360° photos), or pedra_create_virtual_tour with the propertyId. (With this local server, files on this computer can also be passed directly: a local path as imageUrl, or pedra_add_local_panoramas for 360° photos.) |
| pedra_create_virtual_tourA | Build a hosted 360° virtual tour: the rooms are named and linked with navigation points by AI, and you get a shareable link and embed code. Pass the 360° photos as scenes (URLs, or imageIds of 360° photos already in the property) in the order someone would walk through the home, or just a propertyId to use all its 360° photos. Linking: "sequential" (default) links each room to the next and costs max(3, ceil(rooms/3)) credits; "smart" lets AI work out which rooms connect (slower, 5-160 credits by room count); "none" is free. Returns a tourId immediately — the build takes about 10 seconds per room, so poll pedra_get_virtual_tour until status is "ready". One tour per property. |
| pedra_get_virtual_tourA | Get a virtual tour: status ("processing", "ready" or "failed", with the reason), the shareable tourUrl, an embedCode iframe for a website, and its scenes and navigation links. Poll this after pedra_create_virtual_tour or pedra_add_virtual_tour_scenes. Read-only. |
| pedra_list_virtual_toursA | List the account's virtual tours (newest first) with status, share link and room count. Optionally only one property's. Read-only. |
| pedra_update_virtual_tourA | Change a finished virtual tour in place: rename it or its rooms, reorder rooms (the first one is where the tour opens), remove rooms, replace its navigation links, or change how the navigation points look. Free and instant. The tour's public link shows the change right away. Get sceneIds from pedra_get_virtual_tour. |
| pedra_add_virtual_tour_scenesA | Add rooms to the end of an existing virtual tour. With "sequential" linking (default) only the new stretch is linked: the last existing room to the first new one, then each new room to the next. That costs max(3, ceil(new rooms/3)) credits; "none" is free. The tour stays live while this runs; poll pedra_get_virtual_tour until status is "ready". |
| pedra_creditsA | Read the account's plan and remaining credits. Never deducts credits. |
| pedra_feedbackA | Submit thumbs up/down feedback on a generated image, with an optional credit-back on a thumbs-down (subject to the API's eligibility rules). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 27 tools
Most tools target distinct photo/video/tour operations (enhance, empty_room, furnish, blur, etc.). However, pedra_edit_via_prompt overlaps with many specialized edit tools, and pedra_enhance vs pedra_enhance_and_correct_perspective can be confused. Boundaries are still clear enough for reliable selection.
All tools consistently use the pedra_ prefix and snake_case. The pattern mixes verb-led names (enhance, list_properties, create_video) with noun-only names (credits, renovation, sky_blue, music_library), so it is not a strict verb_noun convention.
27 tools is high for a single MCP server, though each maps to a distinct capability across editing, video, voice, tours, and property uploads. The set is borderline heavy and could overwhelm an agent, but most tools earn their place.
Core workflows for photo editing, video, voiceover, and virtual tours are covered. However, lifecycle operations are missing: no delete for properties, images, videos, or tours, and no get/list for videos, which may cause dead ends for cleanup or management.