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

swifty-connect

v0.3.8

Published

MCP server for Claude -- read, manage, and analyze Swifty property websites through natural conversation

Readme

Swifty Connect -- MCP Server for Claude

Lets Swifty property management clients use Claude to read, manage, and analyze their property websites through natural conversation.

Powered by the beSwifty REST API at api.beswifty.com.

Quick Start

Install via npx (recommended)

Add to your Claude Desktop or Claude Code config:

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json on Mac):

{
  "mcpServers": {
    "swifty-connect": {
      "command": "npx",
      "args": ["-y", "swifty-connect"],
      "env": {
        "SWIFTY_API_KEY": "your-api-key",
        "SWIFTY_PROPERTY_ID": "your-property-id"
      }
    }
  }
}

Claude Code (.claude/settings.json):

{
  "mcpServers": {
    "swifty-connect": {
      "command": "npx",
      "args": ["-y", "swifty-connect"],
      "env": {
        "SWIFTY_API_KEY": "your-api-key",
        "SWIFTY_PROPERTY_ID": "your-property-id"
      }
    }
  }
}

Environment Variables

| Variable | Required | Description | |----------|----------|-------------| | SWIFTY_API_KEY | Yes | Your beSwifty API key (provided by beSwifty) | | SWIFTY_PROPERTY_ID | No | Default property ID. Can also be set per-session with set_active_property | | SWIFTY_SITE_URL | No | Your site URL (e.g. https://yoursite.beswifty.com). Used for browser screenshot guidance |

What It Does

47 tools across 5 categories:

Core

| Tool | Description | |------|-------------| | list_properties | List all properties accessible with your API key | | set_active_property | Switch which property you're working on | | batch_operation | Run the same change on multiple properties at once | | get_playbook | Get the workflow guide for common support requests |

Content -- Read

| Tool | Description | |------|-------------| | get_site_info | Property name, address, phone, office hours, coordinates | | get_floor_plans | Floor plans with images, pricing, bed/bath, videos | | get_amenities / get_all_amenities | Community and resident amenities | | get_pages | All website pages with content fields and metadata | | get_specials | Popups and slide-ins with full settings | | get_gallery | Photos grouped by category | | get_faqs | FAQ questions, answers, categories | | get_menus | Primary and policy navigation menus | | get_tracking_codes | Installed scripts with placement | | get_seo | SEO metadata, OG tags, schema for all pages | | get_integrations | PMS and third-party integration status | | get_media | Media library items (paginated) |

Content -- Write

| Tool | Description | |------|-------------| | update_site_info | Update property name, phone, email, address | | update_page_section | Edit hero, intro, CTA, or SEO fields on a page | | update_special | Change popup/slide-in content and settings | | update_faq / create_faq / delete_faq | Manage FAQs | | update_menus | Update primary and policy navigation menus | | add_tracking_code | Add vendor scripts to your site | | update_media | Update image alt text and metadata | | update_amenities | Update amenity names and descriptions | | update_property_info | Update property details and OG image | | update_office_hours | Update summer/winter office hours | | update_social_media | Update social media profile links | | update_integrations | Update PMS or chatbot settings | | clear_cache | Clear page cache and regenerate JSON files | | confirm_operation | Confirm a staged destructive operation |

Analytics

| Tool | Description | |------|-------------| | get_site_analytics | Visitors, bounce rate, session time, traffic sources | | get_search_console | Google Search Console with page filtering | | get_search_performance | Daily raw GSC stats by device | | get_adwords_performance | Daily raw Google Ads stats | | get_gbp_performance | Google Business Profile reviews and metrics |

Settings

| Tool | Description | |------|-------------| | get_office_hours | Summer/winter office hour schedules | | get_branding | Logo assets, favicon, map marker | | get_social_media | Social media profile links | | get_property_info | Detailed property info and map settings | | get_fee_transparency | Fee display settings and calculator | | get_website_configuration | Feature toggles and site config flags | | get_floorplan_settings | Floor plan display and sorting options | | get_test_suite | Embedded test suites for verifying tool functionality | | get_playbook | Workflow guide and behavioral rules |

Screenshots

For visual audits and screenshots, install the Claude in Chrome extension. Swifty Connect will detect it automatically and use it to capture live screenshots of your property website.

Multi-Property Setup

For clients managing multiple properties, you have two options:

Option 1: Single entry with list_properties (recommended)

Just set your API key. Ask Claude "What properties do I have?" and it will list them all. Then say "Switch to Oak Hill" and it finds the right one.

{
  "mcpServers": {
    "swifty-connect": {
      "command": "npx",
      "args": ["-y", "swifty-connect"],
      "env": {
        "SWIFTY_API_KEY": "your-api-key"
      }
    }
  }
}

Option 2: One entry per property (for quick access)

{
  "mcpServers": {
    "bear-creek": {
      "command": "npx",
      "args": ["-y", "swifty-connect"],
      "env": {
        "SWIFTY_API_KEY": "your-api-key",
        "SWIFTY_PROPERTY_ID": "2574"
      }
    },
    "oak-park": {
      "command": "npx",
      "args": ["-y", "swifty-connect"],
      "env": {
        "SWIFTY_API_KEY": "your-api-key",
        "SWIFTY_PROPERTY_ID": "3201"
      }
    }
  }
}

Usage Examples

Example 1: Site Health Check

Ask Claude to analyze your property's performance:

"How is our website performing this month?"

Claude will automatically pull traffic analytics, Google Search Console data, Google Business Profile reviews, and SEO metadata, then summarize the top issues and recommended actions -- no menus or audit types to choose from.

Example 2: Update Property Content

Make content changes through natural conversation:

"Update our phone number to (214) 555-9999 and change the office hours to Monday-Friday 9am-6pm"

Claude calls get_site_info to see current values, then uses update_site_info and update_office_hours to apply the changes. Destructive operations (like deleting FAQs or replacing menus) go through a confirmation gate before executing.

Example 3: Multi-Property Management

Manage your entire portfolio from a single conversation:

"What properties do I have?"

Claude calls list_properties and shows your full portfolio. Then:

"Switch to Oak Hill and show me their specials"

Claude calls set_active_property to switch context, then get_specials to pull current promotions. You can also batch changes across properties:

"Update the summer office hours on Oak Hill, Lakeside, and The Tatum"

More Things You Can Ask

  • "What are our Google reviews saying?"
  • "What does our homepage SEO look like?"
  • "Show me our floor plans and pricing"
  • "Add this promo popup to all three properties"
  • "What tracking scripts are installed on our site?"

Security and Compliance

  • API key security: Your API key is only used to authenticate with the beSwifty API over HTTPS. It is never logged, stored, or transmitted elsewhere.
  • Audit logging: All API requests are logged server-side by the beSwifty API for SOC2 compliance. No client-side logging is required.
  • Error sanitization: All error messages are sanitized to prevent leaking internal server details, file paths, or credentials.
  • No local storage: The MCP does not write any data to disk. All data flows through the beSwifty API.
  • Transport security: All API communication uses HTTPS/TLS.

Requirements

  • Node.js 18+
  • Claude Desktop app or Claude Code
  • beSwifty API key (provided by beSwifty)

Privacy

Swifty Connect does not collect, store, or transmit any personal data beyond what is required to authenticate with the beSwifty API.

  • Your API key is used only to authenticate with api.beswifty.com over HTTPS. It is never logged, stored on disk, or sent to any other service.
  • No data is written to disk. Everything flows through the beSwifty API in memory only.
  • All API requests are logged server-side by beSwifty for SOC2 compliance. No client-side logging is performed by this connector.
  • All error messages are sanitized to prevent leaking credentials, file paths, or internal server details.
  • Full privacy policy: https://beswifty.com/privacy-policy/

For privacy questions, contact [email protected].

Support