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

mcp-propstack

v0.1.2

Published

MCP server for PropStack real estate API integration

Downloads

7

Readme

PropStack MCP Server

Model Context Protocol (MCP) server for PropStack real estate API integration with DSGVO-compliant data handling.

Read-Only Server: This server only provides read access to PropStack data. No write/update operations.

Privacy: GPS coordinates are rounded to ~111m precision. Broker contact data is filtered from responses.

Installation

Option 1: MCPB Bundle (Recommended for Non-Technical Users)

  1. Download propstack-mcp-v0.1.0.mcpb from Releases
  2. Double-click the .mcpb file to install
  3. Enter your PropStack API key when prompted
  4. Restart Claude Desktop

Updates: Download new .mcpb file from Releases, uninstall old version, install new version

Option 2: npm Package (Recommended for Technical Users)

# Global installation
npm install -g mcp-propstack

# Or use with npx (no installation)
npx mcp-propstack

Updates:

npm update -g mcp-propstack
# or
npm install -g mcp-propstack@latest

Option 3: Claude Desktop Manual Config

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

{
  "mcpServers": {
    "propstack": {
      "command": "npx",
      "args": ["-y", "mcp-propstack@latest"],
      "env": {
        "PROPSTACK_API_KEY": "your-api-key-here"
      }
    }
  }
}

Updates: Automatic with @latest, or change version number

Security & Privacy

DSGVO Compliance

This server implements privacy-by-design:

  • ✅ GPS coordinates rounded to 3 decimal places (~111m precision)
  • ✅ Broker personal contact data removed from responses
  • ✅ No persistent storage of user data
  • ✅ Read-only API access (no write operations)

API Key Security

Create a restricted API key in PropStack:

  • Enable read-only permissions only
  • Set expiration date for temporary use
  • Add IP whitelist if possible
  • Never commit keys to version control

Secure storage:

  • Use environment variables
  • Add .env to .gitignore
  • Use chmod 600 on config files
  • Rotate keys periodically

Features

Tools

propstack_search_properties

  • Search properties with filters (status, price, area, type)
  • Returns: id, unit_id, name, city, street, status, price, living_space, rooms
  • Context-optimized (75% less data vs full expand)
  • BEST PRACTICE: Filter by status "vermarktung,reserviert" for active listings

propstack_get_property

  • Get complete details by unit_id
  • Returns ~275 fields including images, descriptions, features
  • Privacy-filtered: GPS rounded, broker data removed

propstack_list_statuses

  • List all available property statuses with IDs
  • Use for filtering searches

Resources

propstack://properties/all

  • Overview of all properties (id, name, city, street, status)

propstack://properties/active

  • Properties with status Vermarktung or Reserviert

propstack://properties/single/{unit_id}

  • Single property WITHOUT media (context-efficient)

propstack://properties/single_all/{unit_id}

  • Single property WITH media (images, documents)

Prompts

propstack-overview

  • Generate overview summary of all properties
  • Optional: filter by status

Usage Examples

Search Active Apartments in Price Range

propstack_search_properties({
  status: "vermarktung,reserviert",
  price_from: 300000,
  price_to: 500000,
  property_type: "APARTMENT",
  per: 50
})

Get Property Details

propstack_get_property({
  unit_id: "100"
})

Use Status Semantic Names

propstack_search_properties({
  status: "vermarktung,reserviert"  // or use IDs: "133880,133881"
})

Development

# Install dependencies
npm install

# Build TypeScript
npm run build

# Run tests
npm test

# Watch mode (development)
npm run dev

# Create MCPB bundle
npx @anthropic-ai/mcpb@latest pack

Technical Details

Technology Stack:

  • Node.js 18+
  • TypeScript
  • MCP SDK 1.0.4
  • PropStack API v1

Context Optimization:

  • Search uses minimal API response (no expand=1) → 75% bandwidth reduction
  • Overview resources return only essential fields
  • Full details only when explicitly requested

Privacy Implementation:

  • GPS rounding: Math.round(lat * 1000) / 1000
  • Broker data filtering: removes broker, openimmo_* fields
  • Applied to all tools, resources, and prompts

Requirements

  • Node.js 18.0.0 or higher
  • PropStack API key (read-only permissions)
  • Claude Desktop 0.10.0+ (for MCPB installation)

Troubleshooting

Connection fails:

  • Check API key is correct
  • Verify read permissions are enabled in PropStack
  • Check network connectivity to api.propstack.de

"Access to everything" warning:

  • Normal for local MCP servers
  • Server runs with your user permissions
  • Review source code if concerned

Contributing

This is a personal project. Issues and PRs welcome but no guarantees on response time.

License

MIT License - See LICENSE

Author

Andreas Sigloch [email protected]

Links