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

yarooms-mcp

v2.3.0

Published

MCP server for YAROOMS workplace management platform

Readme

YAROOMS MCP Server

MCP server for the YAROOMS workplace management platform. Enables AI agents (Claude, ChatGPT, Copilot, etc.) to search rooms, book spaces, manage visitors, and set work status through the Model Context Protocol.

Quick Start

Claude Code

claude mcp add --transport http yarooms https://mcp.yarooms.com/mcp

Authenticate via /mcp when prompted: uses OAuth with your YAROOMS account.

Claude Desktop / npx (local stdio)

{
  "mcpServers": {
    "yarooms": {
      "command": "npx",
      "args": ["-y", "yarooms-mcp"],
      "env": {
        "YAROOMS_API_TOKEN": "your-api-token",
        "YAROOMS_BASE_URL": "https://your-tenant.yarooms.com/api"
      }
    }
  }
}

Running Modes

Remote HTTP (OAuth)

The hosted server at mcp.yarooms.com speaks MCP 2026-07-28 and remains compatible with 2025-era clients. It uses OAuth via id.yarooms.com: each user authenticates with their own YAROOMS account, no shared tokens.

Local stdio

YAROOMS_API_TOKEN=your-token YAROOMS_BASE_URL=https://your-tenant.yarooms.com/api npm run stdio

Tools

| Tool | Description | |------|-------------| | search_available_spaces | Search for available spaces (rooms, desks, parking, etc.) on a floor | | create_booking | Book a space (room, desk, parking, etc.): supports daily/weekly/monthly/custom recurrence, incognito (private) bookings, booking on behalf of another user, and an expected attendee count (with over-capacity confirmation) | | get_my_bookings | View your bookings, with their check-in status | | cancel_booking | Cancel a booking, or only some dates of a recurring one, with an optional reason | | modify_booking | Change a booking's time, space, title, attendee count, or owner (reassign). Multi-date bookings accept non-date edits only | | check_in_booking | Check in to a booking | | check_out_booking | Check out of a booking | | get_all_bookings | List bookings across the organization: filter by single date, date range (startDate/endDate), "when" shortcut (today/tomorrow/only_future), location, space, booker, title, status, or updatedSince timestamp (access scoped by Bookings: View) | | get_occupancy_analytics | Organization-wide occupancy and utilization stats for a date range (requires Analytics: Utilization) | | get_hybrid_work_analytics | In-office / WFH / OOO breakdown per location, with compliance percentages (requires Analytics: Hybrid Work) | | list_accounts | Paginated list of user accounts: server-side filters for search, location, team, role, activation, suspension, 2FA, provisioning source (requires Workplace: Manage users) | | get_locations | List office locations | | get_floors | List floors for a location | | get_floor_info | Get floor details and spaces | | get_space_schedule | View a floor's booking timeline for one day: rooms, desks, parking: optionally filtered by space type (formerly get_room_schedule) | | get_space_types | List space types (Desk, Meeting Room, etc.) | | list_space_groups | List space groups with their booking rules (strategies, slots, granularity, check-in, incognito/recurrence policy) | | get_space | Get full metadata for a single space (location, floor, type, group, features, capacity, assigned user, check-in policy, position, image URLs) | | list_spaces | Paginated list of spaces: filter by name, location, floor, type, group, assigned user, features, or workspace-ness | | create_space | Create a desk/room/parking (requires Workplace: Manage) | | update_space | Partial update of any space field; features=[] clears, assignedToAccountId=0/null unassigns (check-in rules live on the space group: use update_space_group) | | delete_space | Delete a space (requires Workplace: Delete) | | list_maintenance | List scheduled maintenance windows: filter by location, floor, space group, space, name, or date range (requires Workplace: Maintenance) | | create_maintenance | Schedule a maintenance window blocking bookings on one or more locations, optionally narrowed to a floor/space group/space | | update_maintenance | Partially update an existing maintenance window (name, dates, locations, scope) | | delete_maintenance | Delete a maintenance window, making affected spaces bookable again | | get_location_schedule | Get operating hours for a location | | get_booking_options | Get valid booking intervals for a space (resolves booking strategy) | | get_work_status | View work status (WFH, office, etc.) | | set_work_status | Set work status for dates | | register_visitor | Register a visitor | | list_visitors | List visitors for a date/location | | cancel_visitor | Cancel a visitor registration | | get_pending_approvals | List booking requests pending your approval | | approve_booking | Approve pending booking requests | | reject_booking | Reject pending booking requests with optional reason | | search_people | Search for people by name or email | | get_my_profile | Get your profile: name, email, team, location | | get_teammates | List members of your team | | list_teams | List all teams (user groups) in the organization with role tier, member count, managers, and suspension state (requires Workplace: Manage users) | | get_teammate_status | View a teammate's work status | | get_teammate_bookings | View a teammate's bookings for a date |

Separate operations

The server exposes 188 tools. Every operation has its own name, input schema and annotations; there are no model-callable action selectors. Existing manage_* calls must migrate to the corresponding tool below and omit the action field. The API continues to enforce the connected account's permissions. Updates send only supplied fields; list-replacement and confirmation requirements are stated in the relevant tool descriptions.

| Previous tool | Separate public tools | | --- | --- | | manage_users | get_user, create_user, update_user, delete_user, send_user_invitation, activate_user, suspend_user, unsuspend_user, change_user_team, change_user_location, deprovision_user | | manage_teams | get_team, get_team_defaults, create_team, update_team, delete_team, suspend_team, unsuspend_team | | manage_roles | list_roles, get_role, create_role, update_role, delete_role | | get_audit_log | get_audit_log, search_audit_users, get_audit_timezones | | manage_locations | get_location, get_location_defaults, create_location, update_location, delete_location, get_workplace_limits, get_location_delete_impact, get_location_statistics | | manage_floors | get_floor_defaults, create_floor, update_floor, delete_floor, get_floor_delete_impact, get_floor_statistics, reorder_floors, get_floor_space_groups | | manage_floor_areas | list_floor_areas, get_floor_area, create_floor_area, update_floor_area, delete_floor_area | | manage_floor_pois | list_floor_pois, get_floor_poi, create_floor_poi, update_floor_poi, delete_floor_poi | | manage_space_groups | get_space_group, get_space_group_defaults, create_space_group, update_space_group, delete_space_group | | manage_space_types | get_space_type, get_space_type_defaults, create_space_type, update_space_type, delete_space_type, get_available_space_types | | manage_features | list_features, get_feature, get_feature_defaults, create_feature, update_feature, delete_feature | | manage_event_types | list_event_types, get_event_type, get_event_type_defaults, create_event_type, update_event_type, delete_event_type | | manage_reminders | list_reminders, get_reminder, get_reminder_defaults, create_reminder, update_reminder, delete_reminder | | manage_workflows | list_workflows, get_workflow, create_workflow, update_workflow, delete_workflow, get_workflow_structure, search_workflow_entities, activate_workflow, deactivate_workflow, duplicate_workflow | | manage_services | list_services, get_service, create_service, update_service, delete_service, add_services_to_locations, get_service_availability, get_service_usage | | manage_service_categories | list_service_categories, get_service_category, create_service_category, update_service_category, delete_service_category | | manage_cost_centers | list_cost_centers, get_cost_center, create_cost_center, update_cost_center, delete_cost_center, get_cost_center_options | | manage_visitor_blacklist | list_visitor_blacklist_entries, get_visitor_blacklist_entry, create_visitor_blacklist_entry, update_visitor_blacklist_entry, delete_visitor_blacklist_entry | | manage_address_book | list_address_book_entries, get_address_book_entry, create_address_book_entry, update_address_book_entry, delete_address_book_entry, search_address_book, search_visitor_people | | manage_company_settings | get_company_settings, update_company_settings, get_company_branding, update_company_branding | | manage_resthooks | list_resthooks, get_resthook, create_resthook, update_resthook, delete_resthook | | get_services_analytics | get_services_analytics, get_services_analytics_by_cost_center, get_services_analytics_chart, get_services_analytics_cost_centers | | get_visitor_analytics | get_visitor_analytics, get_daily_presence | | get_services_dashboard | get_services_dashboard, search_services_dashboard, get_desks_needing_cleaning | | manage_space_images | add_space_image, remove_space_image, reorder_space_images |

Additional independent tools include update_location_schedule, get_maintenance, and get_pending_bookings.

Resources

| Resource | URI | Description | |----------|-----|-------------| | Work Status Options | yarooms://work-status-options | Available status options with IDs |

Configuration (local stdio)

| Variable | Required | Description | |----------|----------|-------------| | YAROOMS_API_TOKEN | Yes | Your YAROOMS API token | | YAROOMS_BASE_URL | Yes | Tenant API URL (e.g. https://your-tenant.yarooms.com/api) |

Development

npm install
npm test         # run the test suite
npm run stdio    # stdio transport (dev)
npm run build    # compile

License

MIT