# WorkAdventure MCP

> WorkAdventure lets you manage virtual office spaces and remote team presence. Use it to simulate digital offices where people can 'walk around,' bump into colleagues, and collaborate spontaneously without leaving their desks. It simplifies managing everything from member access lists to dynamic room settings for large-scale events or permanent company hubs.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** virtual-office, remote-work, virtual-spaces, team-collaboration, interactive-maps, presence-management

## Description

You need a way to run an office that never has physical walls—a virtual space your remote team can actually interact with. This MCP connects your virtual world to any AI agent, letting you handle the logistics of digital presence through natural conversation. Need to know who was in the conference room at 2 pm? You can query current occupancy and track where people are. Want to change the vibe in the main lobby for a special presentation? Update environmental variables on the fly. Because this MCP handles membership control, map details, and real-time room settings, you don't have to juggle five different dashboards just to run an event or manage your digital headquarters. If you need to combine presence data with other systems—say, linking who attended a virtual meeting to their CRM record—you can chain this WorkAdventure MCP with others right through Vinkius. This means that even if your agent is calling a billing service and then updating the room variables for an event, all those actions happen together, secured by the zero-trust proxy on Vinkius.

## Tools

### create_member
Adds a new user account into the virtual world.

### delete_member
Removes a specific member from the virtual world entirely.

### get_map_details
Retrieves detailed information about a specific map within the system.

### get_member_details
Fetches the current profile and status of an existing member.

### get_room_variables
Reads all customizable settings for a given room, like messages or themes.

### get_world_info
Gathers overall status and configuration details about the entire virtual world.

### list_maps
Provides a complete list of all available maps in the system.

### list_members
Generates a directory showing every current member in the virtual world.

### list_rooms
Lists all currently active rooms and their basic status.

### update_room_variable
Changes a specific, customizable setting within an active room.

## Prompt Examples

**Prompt:** 
```
List all registered members in my WorkAdventure world.
```

**Response:** 
```
I've retrieved the member directory. You have 12 registered members, including 'Admin User', 'Guest 01', and 'Developer'. Would you like details on any specific member?
```

**Prompt:** 
```
Change the room variable 'welcome_message' to 'Welcome to the Team!' in room 'lobby'.
```

**Response:** 
```
Variable updated successfully! The 'welcome_message' in 'lobby' is now set to 'Welcome to the Team!'. The change should be visible to users in real-time.
```

**Prompt:** 
```
Show me a list of all active maps in this world.
```

**Response:** 
```
I found 3 active maps: 'main_office', 'conference_hall', and 'lounge_area'. Each map has its own unique ID and URL for access.
```

## Capabilities

### Manage Virtual Membership
Add new users to the virtual world or remove existing members instantly.

### Track World Location Data
Get details about specific maps, rooms, and overall world configuration metadata.

### Check Occupancy Status
List all active rooms and retrieve the current environmental variables for a specific space.

## Use Cases

### The Conference Lobby Needs Updating
A major speaker is starting in the main lobby. Instead of physically sending an announcement, ask your agent to call `update_room_variable` for the 'lobby' room, setting the variable 'event_status' to 'LIVE NOW'. The change instantly notifies everyone inside the virtual space.

### Auditing Old Attendees
The legal team needs a list of everyone who logged in during Q3. Use `list_members` first, and then run `get_member_details` for each one to gather necessary historical presence data.

### Onboarding New Team Members
A new hire starts remotely. Your agent runs the command to `create_member`, giving them immediate virtual access and a proper profile, completing their setup in seconds.

### Checking World Integrity
Before running the global event, you run `list_maps` and then `get_world_info`. This ensures all the necessary maps are active and that no critical environment variables were accidentally deleted or changed.

## Benefits

- Control access to your digital spaces instantly. Use `create_member` or `delete_member` to manage who can enter the world.
- Get a full picture of your environment with `get_world_info`. This gives you metadata on everything, from maps to global settings.
- Keep room interactivity live and dynamic by calling `update_room_variable`. Change the welcome message or theme in real time for an event.
- Know who's where. You can use `list_members` to get a directory of every attendee registered in your virtual space.
- Test your setup thoroughly. Query map metadata using `get_map_details` before you ever go live with the system.
- Build complex automations by chaining this MCP with others, linking who attended an event (via `list_members`) directly to a CRM record.

## How It Works

The bottom line is you talk to your agent like talking to an admin—it handles the API calls and updates the virtual space for you.

1. Subscribe to this MCP and enter your WorkAdventure Admin API Key.
2. Connect your preferred AI client (like Claude or Cursor) to Vinkius.
3. Ask your agent to perform actions, such as listing active rooms or updating a specific room variable.

## Frequently Asked Questions

**How do I know what rooms are active using list_rooms?**
Calling `list_rooms` provides a simple inventory of every room that is currently running in the world. It's your starting point for checking status.

**Can I update variables without knowing the map name? (update_room_variable)**
No, you need to know both the room ID and the variable key beforehand. The system requires specific details to make sure it's updating the right place.

**What is the difference between list_members and get_member_details?**
Use `list_members` when you want a quick roster of everyone in the world. Use `get_member_details` if you need deep info—like their profile or current status—on one specific person.

**Is get_world_info comprehensive enough for development?**
Yes, `get_world_info` pulls together the overall system configuration and metadata. It's a good check to ensure your environment is set up correctly before deployment.

**When I use `get_world_info`, what specific permissions does my Admin API Key need to access all available data?**
The key must have read access across the entire virtual environment. This ensures your agent can pull comprehensive metadata, room variables, and member lists without hitting permission walls.

**If I use `list_maps` and find a map ID, how do I get its full set of details using `get_map_details`?**
You pass the specific Map ID to the tool. This call returns detailed configuration data, including unique URL endpoints and any embedded metadata for that exact map.

**What happens if I try to run `create_member` with a member name that already exists in the world?**
The system will return an error code indicating a duplicate entry. This means you'll need to use a different user identifier or update the existing record instead.

**Does `get_room_variables` show every possible variable, or just those currently set in the room?**
It only shows variables that are active and configured for the specified room. You must use a separate tool call to check the environmental limits of the space.

**Can I change a sign's text in a room using the AI?**
Yes! If the sign is controlled by a room variable, you can use the `update_room_variable` tool to change its value and update the text in real-time.

**How do I see who is currently in my virtual world?**
You can use the `list_members` query to get a directory of all registered members, and `list_rooms` to see active instances and potentially occupancy data.

**Is it possible to grant specific access tags to a new member?**
Absolutely. When using the `create_member` tool, you can provide a comma-separated list of tags to define their permissions and visibility in the world.