@str-mgmt/mcp-server
v0.2.0
Published
MCP server for STR Management — exposes property management tools to AI agents via stdio proxy
Downloads
273
Maintainers
Readme
@str-mgmt/mcp-server
MCP (Model Context Protocol) server for STR Management. Connects AI agents (Claude, GPT, Cursor, etc.) to your property management platform.
Quick Start
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"str-management": {
"command": "npx",
"args": ["-y", "@str-mgmt/mcp-server"],
"env": {
"STR_API_KEY": "sk_live_...",
"SUPABASE_URL": "https://your-project.supabase.co",
"SUPABASE_SERVICE_ROLE_KEY": "your-service-role-key"
}
}
}
}Cursor / Other Agents
Same config pattern — set STR_API_KEY, SUPABASE_URL, and SUPABASE_SERVICE_ROLE_KEY as environment variables.
Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| STR_API_KEY | Yes | API key generated from Dashboard → Settings → API Keys |
| SUPABASE_URL | Yes | Your Supabase project URL |
| SUPABASE_SERVICE_ROLE_KEY | Yes | Supabase service role key |
Tools (~65)
| Domain | Tools |
|--------|-------|
| Connection | whoami, set_organization |
| Properties | list_properties, get_property, update_property, get_vault_info, update_vault_info |
| Bookings | list_bookings, get_booking, get_booking_comments, add_booking_comment, list_booking_attachments, get_calendar, lookup_booking |
| Tasks | list_tasks, get_task, create_task, update_task, bulk_update_tasks, create_subtask, toggle_subtask, add_task_comment, log_task_time, add_task_cost, list_task_photos, list_task_templates, get_task_recurrences, generate_recurring_tasks |
| Owners | list_owners, get_owner, get_owner_properties, update_owner, list_owner_blocks, create_owner_block, update_owner_block, cancel_owner_block, list_reviews |
| Financials | get_statement, list_statements, list_statement_attachments, create_adjustment, list_adjustments, update_adjustment, delete_adjustment |
| Analytics | get_portfolio_analytics, get_property_analytics, get_booking_analytics, get_ai_insights |
| Vendors | list_vendors, get_vendor, create_vendor, update_vendor, dispatch_vendor_task, list_vendor_tasks, update_vendor_task |
| Team | list_members, invite_member, update_member_role, remove_member |
| Documents | list_documents, get_document, get_document_upload_url, delete_document, list_document_categories, create_document_category, update_document_category, delete_document_category |
| Inspections | list_inspections, get_inspection, trigger_inspection_analysis, list_inspection_types, create_inspection_type |
| Sync | get_sync_status, trigger_sync, get_integration_status, get_sync_logs |
| Devices | list_devices, get_device, list_device_events |
| TV | list_tv_devices, get_tv_device, update_tv_content |
| Settings | get_organization, update_organization, get_owner_preferences, update_owner_preferences, get_push_settings, update_push_settings, list_turnover_configs, update_turnover_config |
Resources (14)
Read-only context agents can pull in:
str://organizations— All orgs the user belongs tostr://organization— Active org detailsstr://properties— Property directorystr://team— Team membersstr://owners— Property ownersstr://vendors— Vendor directorystr://task-categories— Task categories, priorities, statusesstr://inspection-types— Custom inspection typesstr://document-categories— Document categoriesstr://sync-status— PMS sync statusstr://upcoming-bookings— Next 30 days of bookingsstr://overdue-tasks— Overdue tasksstr://today-turnovers— Today's check-ins/outsstr://active-alerts— Combined overdue tasks + sync failures
Scopes
API keys are scoped with {domain}:{action} permissions:
domains: properties, bookings, tasks, owners, financials, vendors,
team, documents, inspections, sync, devices, tv, settings,
analytics, vault
actions: read, write, adminPresets: *:* (Full Access), *:read (Read Only), tasks:write (Tasks Only)
Development
npm install
npm run dev # Run with tsx
npm run build # Compile TypeScript
npm run lint # Type-check onlyDocker
docker build -t str-mcp .
docker run -e STR_API_KEY=... -e SUPABASE_URL=... -e SUPABASE_SERVICE_ROLE_KEY=... str-mcp