Pedra

io.github.pedra-ai由 GitHub 账号 pedra-ai 发布v0.6.1更新于 Oct 24, 2026

AI real-estate photo editing and 360° virtual tours via the Pedra API: staging, renovation, video.

已验证STDIO仅桌面商业与电商媒体与设计

概览

AI 生成的概览

Pedra 官方 MCP 服务器,让助手通过 Pedra API 用 AI 编辑房产照片、生成房源视频并制作托管的 360° 虚拟看房。

可以做什么
  • 编辑照片:增强、校正透视、清空房间、虚拟布置、翻新、按提示词编辑、替换天空、移除物体、模糊人脸或车牌
  • 渲染房源视频,生成配音脚本与配音音轨,并浏览背景音乐与配音库
  • 管理房源与图片:列出房源、列出照片、创建房源、按 URL 添加图片或上传本地 360° 全景图、创建免登录上传链接
  • 构建与维护 360° 虚拟看房:创建、轮询状态、列出、重命名或调整房间顺序、追加场景
  • 查询套餐与剩余额度,并提交反馈
适用场景
适合房产经纪、摄影师和营销人员,让助手在对话中直接布置、修饰或翻新房源照片,制作房源视频,或组装可分享的 360° 虚拟看房。
运行要求
通过 npx 或全局 npm 安装在本地以 stdio 运行(需要 Node.js)。需要 Pedra 账号和 PEDRA_API_KEY 环境变量;没有密钥时服务器会以两个申请访问的工具启动,通过邮件发送确认链接。需要访问 Pedra API 的网络。
安装前请注意
所有图片、视频和看房操作都会发送到 Pedra API 并消耗额度;为虚拟看房建立房间链接会消耗额度,上传也有每日上限。API 密钥是付费账号凭据。没有密钥时,你提供的邮箱地址会发送给 Pedra。传入的本地文件路径会从磁盘读取并以 base64 发送。照片和视频调用可能阻塞长达约十分钟。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Pedra,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Pedra MCP Server

Official Model Context Protocol server for the Pedra API — use Pedra's AI real-estate photo editing (virtual staging, renovation, room emptying, enhancement, sky replacement, object removal/blur, property videos, and hosted 360° virtual tours) directly from Claude, ChatGPT, Cursor, and any other MCP client.

[npm version] [Official MCP registry]

[Add to Cursor]

It exposes one tool per API endpoint. Each photo and video tool is a single blocking call that returns the final asset URL(s) — there are no job IDs to poll. Virtual tours build in the background: pedra_create_virtual_tour returns a tourId, and pedra_get_virtual_tour is polled until it's ready.

Quick start

The server reads your Pedra API key (Settings in your Pedra account) from the PEDRA_API_KEY environment variable. No account yet? Start it without a key — see No Pedra account yet?.

The server runs over stdio and is published to npm, so most clients just run it with npx — no global install needed.

Claude Desktop (one-click)

Download the latest pedra-mcp.mcpb from Releases and double-click it (or drag it into Claude Desktop → Settings → Extensions). Claude installs the bundled server and prompts for your PEDRA_API_KEY — no JSON editing.

Claude Desktop (manual)

Or add this to your claude_desktop_config.json (Settings → Developer → Edit Config):

json
{  "mcpServers": {    "pedra": {      "command": "npx",      "args": ["-y", "@pedra-ai/mcp"],      "env": { "PEDRA_API_KEY": "your-api-key" }    }  }}

Cursor

In ~/.cursor/mcp.json (or .cursor/mcp.json in a project):

json
{  "mcpServers": {    "pedra": {      "command": "npx",      "args": ["-y", "@pedra-ai/mcp"],      "env": { "PEDRA_API_KEY": "your-api-key" }    }  }}

Any MCP client

Run the binary directly with the key in the environment:

bash
PEDRA_API_KEY=your-api-key npx -y @pedra-ai/mcp

Or install it:

bash
npm install -g @pedra-ai/mcpPEDRA_API_KEY=your-api-key pedra-mcp

Smithery

You can also install and configure Pedra automatically via Smithery:

bash
npx -y @smithery/cli install @pedra-ai/mcp --client claude

(swap claude for cursor, windsurf, etc.) Smithery prompts for your PEDRA_API_KEY and writes the client config for you.

No Pedra account yet?

Start the server without PEDRA_API_KEY, for example in Claude Code:

bash
claude mcp add pedra -- npx -y @pedra-ai/mcp

Then just ask for something ("stage this photo with Pedra"). Without a key the server adds two tools, and the assistant does the rest:

  1. pedra_request_access with your email. Pedra emails you a link (valid 30 minutes): a new account chooses a password there, an existing one clicks Allow. Nothing is created until you click, and you can decline.
  2. pedra_check_access until you've confirmed. Once approved, every Pedra tool works for the rest of the session. The key is kept in memory only, never written to disk; the tool result shows it along with how to keep it: add it as PEDRA_API_KEY to the server's env (e.g. claude mcp add pedra -e PEDRA_API_KEY=<key> -- npx -y @pedra-ai/mcp, or paste it into the extension's settings in Claude Desktop).

Until then, the other tools answer "No API key yet: call pedra_request_access with the user's email". Inbox confirmation is required, disposable email domains are refused, and requests are rate-limited. New accounts start with Pedra's free trial credits.

(In ChatGPT and claude.ai, use Pedra's hosted connector instead: connecting it runs a sign-in where new users can create an account.)

Tools

The nine image-editing tools (enhance through blur) also take propertyId, to save the result into that property's gallery, and name, to save the original photo there under that name in the same call. The result then includes source (imageId, name) of the original. preserveAspectRatio returns the result at the input's exact size.

ToolEndpointWhat it does
pedra_enhance/enhanceImprove lighting, color, sharpness
pedra_enhance_and_correct_perspective/enhance_and_correct_perspectiveEnhance + straighten perspective
pedra_empty_room/empty_roomRemove all furniture/objects
pedra_furnish/furnishVirtually stage a room
pedra_renovation/renovationRenovate walls/floors/finishes
pedra_edit_via_prompt/edit_via_promptEdit from a natural-language prompt
pedra_sky_blue/sky_blueReplace a dull sky with clear blue
pedra_remove_object/remove_objectRemove an object using a mask
pedra_blur/blurBlur faces, license plates, etc.
pedra_create_video/create_videoRender a property video from images
pedra_update_video/update_videoEdit a video without re-rendering unchanged clips
pedra_generate_voice_script/generate_voice_scriptWrite a voiceover script from property photos
pedra_generate_voice/generate_voiceTurn a script into a voiceover audio track
pedra_music_library/music_libraryList background-music tracks, voice languages + narration voices
pedra_list_properties/list_propertiesList the account's properties
pedra_list_property_images/list_property_imagesList a property's photos (or, with type: "360", its 360° photos) as URLs
pedra_create_property/create_propertyCreate a property
pedra_add_images_to_property/add_images_to_propertyAdd photos (or, with type: "360", 360° photos) to a property by URL, optionally with names
pedra_add_local_panoramas/add_images_to_property (batched)Local only: upload 360° photo files from this computer into a property
pedra_create_upload_link/create_upload_linkNo-login page to upload photos or 360° photos from a phone or computer (type: "360" for tours only)
pedra_create_virtual_tour/create_virtual_tourBuild a hosted 360° virtual tour (AI names and links the rooms)
pedra_get_virtual_tour/get_virtual_tourTour status, share link, embed code, scenes, links
pedra_list_virtual_tours/list_virtual_toursList the account's virtual tours
pedra_update_virtual_tour/update_virtual_tourRename, reorder, remove rooms, re-link, restyle (free)
pedra_add_virtual_tour_scenes/add_virtual_tour_scenesAdd rooms to the end of a tour
pedra_credits/creditsRead plan + remaining credits
pedra_feedback/feedbackThumbs up/down + optional credit-back
pedra_request_access/agent_signupOnly without an API key: email the user a link to create/allow their account
pedra_check_access/agent_signup_statusOnly without an API key: check the request; once approved, every tool works for the session

Most image tools take an imageUrl plus a few optional parameters; see each tool's input schema in your MCP client. The imageUrl (and maskUrl, and each create_video frame) accepts any of:

  • a public https:// URL,
  • a data: URI, or
  • an absolute path to a local image file — the server reads it off disk and inlines it as base64 for you, so you can point a tool at a file you just dragged in without hosting it first (.jpg, .jpeg, .png, .webp, .gif, .bmp, .tif/.tiff, .heic/.heif, .avif; up to 40 MB).

Note: an image pasted into the chat is not a file path, so it can't be forwarded to the tool — drag in a file, or save the paste and pass its path. Photos on the user's phone go through pedra_create_upload_link: they upload on a no-login page (up to 100 files, 24 h), then pedra_list_property_images returns their URLs for editing, pedra_create_video or pedra_create_virtual_tour.

Uploads are limited per day: 30 images on the free plan, 500 on paid plans (reset at midnight UTC), counting every image stored from outside the app (pedra_add_images_to_property, pedra_add_local_panoramas, URL scenes in tours, upload-link files); over it the call fails with HTTP 429, upload_limit and nothing is stored. Upload links: 5 a day free, 50 paid (upload_link_limit).

Example prompts once connected:

"Use Pedra to virtually stage https://example.com/empty-living-room.jpg as a minimalist living room."

"Virtually stage /Users/me/Desktop/empty-living-room.jpg as a minimalist living room."

"How many Pedra credits do I have left?"

Virtual tours

POST your 360° photos, get back a hosted, linked, shareable virtual tour: AI names the rooms and places the door-to-door navigation points. The tour tools have the same names, descriptions and input schemas as Pedra's hosted MCP server (https://app.pedra.ai/mcp), so an agent behaves the same on either.

A typical flow:

  1. Get the 360° photos into a property.
    • Files on this computer → pedra_add_local_panoramas with the paths in walking order. This tool exists only in this local server: it reads the files off disk and sends them base64-encoded, 10 per call under the API's 50 MB request limit. Files over ~33 MB can't go this way.
    • Photos on someone's phone (or big files) → pedra_create_upload_link with type: "360", and hand over the uploadUrl (no login, valid 24 h).
    • Photos already online → skip this step and pass the URLs as scenes.
  2. Build it: pedra_create_virtual_tour with the propertyId (uses every 360° photo in upload order) or with scenes. It returns a tourId straight away.
  3. Wait: poll pedra_get_virtual_tour until status is "ready" (about 10 s per room) — then share tourUrl or embed embedCode. A "failed" build says why and costs nothing.
  4. Adjust with pedra_update_virtual_tour (free, instant) or append rooms with pedra_add_virtual_tour_scenes.

Linking costs max(3, ceil(rooms/3)) credits for "sequential" (default; each room to the next), 5–160 for "smart" (AI works out which rooms connect), and nothing for "none". Deleting a tour is API-only (not exposed as a tool).

"Make a Pedra virtual tour of Calle Mayor 12 from /Users/me/360/entrance.jpg, /Users/me/360/living.jpg and /Users/me/360/kitchen.jpg, in that order, and give me the link."

How it works

This server is a thin wrapper over @pedra-ai/sdk, which encodes the API's contract details:

  • Synchronous by design (except virtual tours). Every photo and video endpoint blocks and returns the final URL(s) in the response body. Even pedra_create_video polls server-side and returns the finished videoUrl inline (it can take up to ~10 minutes; the API keeps the connection alive with a heartbeat).
  • Errors are tool errors. The API's 4xx responses (insufficient credits, bad image, …) come back as MCP tool errors with a readable message, not crashes.

Privacy Policy

This server sends the image/video URLs and parameters you pass to the Pedra API to perform the requested edit, authenticated with your PEDRA_API_KEY. Without a key, pedra_request_access sends the email address you give it to Pedra so Pedra can email you a confirmation link; a key obtained that way is held in memory for the session only. It stores no data itself. Data collection, usage, storage, retention, third-party sharing, and contact information are covered by Pedra's privacy policy: https://pedra.ai/privacy.

License

MIT © Pedra

来源:README.md,提交 79bbe8b

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

5
  1. v0.6.1最新Oct 16, 2026
  2. v0.6.0Oct 5, 2026
  3. v0.5.1Oct 2, 2026
  4. v0.5.0Oct 1, 2026
  5. v0.4.0Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分