npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@vprop/mcp

v1.1.0

Published

MCP server for the vProp Public API — generate real-estate listing videos with AI

Readme

@vprop/mcp

MCP (Model Context Protocol) server for the vProp Public API — let AI assistants create real-estate listing videos on your behalf.

What it does

Connect Claude (or any MCP-compatible AI) to vProp so it can:

  • Create and manage property listings
  • Upload listing photos
  • Create and manage agent profiles
  • Generate AI-powered listing videos
  • Poll for video completion and return the final URL

Typical flow:

create_listing → upload_listing_image (×10+) → create_agent →
upload_agent_photo → create_project → get_project_status (poll) → get_project

Prerequisites

A vProp API key (VP_…). Contact vProp to get one.

Setup

The MCP server config block is the same across all clients — only the file location differs.

{
  "command": "npx",
  "args": ["-y", "@vprop/mcp"],
  "env": { "VPROP_API_KEY": "VP_your_key_here" }
}

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "vprop": {
      "command": "npx",
      "args": ["-y", "@vprop/mcp"],
      "env": { "VPROP_API_KEY": "VP_your_key_here" }
    }
  }
}

Restart Claude Desktop.


Claude Code (CLI)

claude mcp add vprop npx -e VPROP_API_KEY=VP_your_key_here -- -y @vprop/mcp

Cursor

Create or edit .cursor/mcp.json in your project root (or ~/.cursor/mcp.json for global):

{
  "mcpServers": {
    "vprop": {
      "command": "npx",
      "args": ["-y", "@vprop/mcp"],
      "env": { "VPROP_API_KEY": "VP_your_key_here" }
    }
  }
}

Restart Cursor or run Cursor: Reload MCP Servers from the command palette.


Windsurf

Edit ~/.codeium/windsurf/mcp_settings.json:

{
  "mcpServers": {
    "vprop": {
      "command": "npx",
      "args": ["-y", "@vprop/mcp"],
      "env": { "VPROP_API_KEY": "VP_your_key_here" }
    }
  }
}

Zed

Edit ~/.config/zed/settings.json:

{
  "context_servers": {
    "vprop": {
      "command": {
        "path": "npx",
        "args": ["-y", "@vprop/mcp"],
        "env": { "VPROP_API_KEY": "VP_your_key_here" }
      }
    }
  }
}

Continue (VS Code / JetBrains)

Edit .continue/config.json in your project (or ~/.continue/config.json globally):

{
  "mcpServers": [
    {
      "name": "vprop",
      "command": "npx",
      "args": ["-y", "@vprop/mcp"],
      "env": { "VPROP_API_KEY": "VP_your_key_here" }
    }
  ]
}

Gemini CLI

Edit ~/.gemini/settings.json:

{
  "mcpServers": {
    "vprop": {
      "command": "npx",
      "args": ["-y", "@vprop/mcp"],
      "env": { "VPROP_API_KEY": "VP_your_key_here" }
    }
  }
}

Other MCP-compatible clients

Any client that follows the MCP specification uses the same stdio transport config:

{
  "command": "npx",
  "args": ["-y", "@vprop/mcp"],
  "env": { "VPROP_API_KEY": "VP_your_key_here" }
}

Note: ChatGPT and Gemini web interfaces do not currently support MCP servers. The tools above are desktop/CLI clients that run the MCP server locally.

Available tools

Voices & Music

| Tool | Description | |------|-------------| | list_voices | List narration voices. Use the id as voice_id. | | list_bgms | List background music tracks. Use the id as bgm_id. |

Listings

| Tool | Description | |------|-------------| | create_listing | Create a property listing (address required) | | get_listing | Get listing details by ID | | list_listings | List all listings (paginated) | | update_listing | Update address, attributes, or metadata | | delete_listing | Delete a listing | | list_listing_images | List uploaded images for a listing | | upload_listing_image | Upload a local JPEG/PNG/WebP to a listing | | delete_listing_image | Remove an image from a listing |

Agents

| Tool | Description | |------|-------------| | create_agent | Create a realtor agent profile | | get_agent | Get agent details by ID | | list_agents | List all agents (paginated) | | update_agent | Update agent info or default voice | | delete_agent | Delete an agent | | upload_agent_photo | Upload a headshot photo (enables avatar feature) |

Projects (video generation)

| Tool | Description | |------|-------------| | create_project | Start video generation (async, returns proj_…) | | get_project_status | Lightweight status check (pending/processing/completed/failed) | | get_project | Full project details including video_url when done | | list_projects | List projects with optional status filter |

Webhooks

| Tool | Description | |------|-------------| | register_webhook | Register an HTTPS URL to receive project events (replaces any existing registration) | | get_webhook | Get the current webhook registration for this API key | | delete_webhook | Deactivate a webhook by its ID | | rotate_webhook_secret | Roll the HMAC signing secret for a webhook |

Usage

| Tool | Description | |------|-------------| | get_usage | Get usage counts and credit balance for this API key |

Example prompts

Generate a video end-to-end:

"Create a listing for 123 Oak Ave, Austin TX 78701. Upload all photos from ~/Desktop/photos/. Create an agent named Jane Doe with email [email protected]. Then generate a video in modern theme and let me know when it's ready."

Check on existing projects:

"Show me all completed projects from the last run."

Try different styles:

"Generate a landscape video with bold theme and no captions for listing lst_AbCd."

Video options

When calling create_project, you can customize:

| Option | Values | Default | |--------|--------|---------| | theme | modern classic bold elegant luxe basic rosewood keystone pixel editorial sketch | modern | | background | black white | theme default | | resolution | portrait (9:16) landscape (16:9) | portrait | | caption | none keyword description | keyword | | language | en es ko zh-Hans | en | | voice_id | ID from list_voices | agent default | | bgm_id | ID from list_bgms | theme default | | background_music | true false | true | | narration_highlights | free text (≤2000 chars) | — | | word_highlight | true false | false | | use_agent_avatar | true false | true | | use_lipsync | true false | false | | display_info | object — per-field booleans for agent card | platform defaults |

Notes

  • Image uploads require a local file path — the MCP server runs on your machine and reads files directly. Minimum 10 photos recommended for best results.
  • Video generation is asynccreate_project returns immediately. Poll get_project_status until completed, then call get_project for the video_url.
  • Rate limits — project creation is capped at 10/min, 120/hour. Most other endpoints allow 120/min.

Links