# Traction Guest MCP

> Traction Guest MCP Server gives your AI agent full control over corporate visitor management. You can list, create, or delete hosts; schedule incoming invites and group tours (`create_invite`, `create_group_visit`); check people in real-time using `create_signin`; or review who is currently on site via `list_signins`. Stop navigating dashboards to manage visitors—just talk to your agent.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** visitor-management, workspace-management, access-control, security-compliance, onboarding, facility-management

## Description

Listen up. Your AI client gives your agent total control over every damn visitor operation at a corporate site. You don't have to mess around with web dashboards anymore; you just talk to your agent, and it handles all the backend shit in Traction Guest.

**Managing People:**
If you need to know who can host visitors, your agent calls **`list_hosts`** to show a roster of every registered employee, along with their contact info and department. If you gotta add staff, you've got two ways: you use **`create_host`** to onboard one person at a time, or if HR drops a whole sheet of names, the agent runs **`create_hosts_batch`** to set up multiple employees in bulk.

**Handling Visitors and Scheduling:**
For scheduling, your agent handles everything from small chats to massive tours. You can send out a simple invite using **`create_invite`**, defining who it's for, when it is, and who the host is. If you need to change that up—say, moving John’s interview or swapping hosts—the agent uses **`update_invite`**; you only gotta tell it what changed. If it was a big deal, like an all-day campus tour, you schedule that with **`create_group_visit`**, passing the name, date, expected headcount, host, and location details. You can then modify those major appointments using **`update_group_visit`** if something changes on your end. To see what's already booked up, the agent runs **`list_group_visits`**. If you need full background info on a specific group event, it calls **`get_group_visit`** by its unique ID.

Scheduling also means canceling stuff. The agent can cancel an entire group appointment using **`delete_group_visit`**, but keep in mind that action is permanent. For individual invites, you use **`delete_invite`** if you need to wipe out a specific visitor's scheduled slot by its ID.

Before scheduling anything, you gotta nail down the location. You use **`list_locations`** to see every office branch configured in the system, getting details like the address and timezone for each. If you just wanna verify the setup for a particular site before running an invite or check-in, the agent calls **`get_location`** using that unique ID.

**Tracking People On Site:**
For real-time tracking, it's simple. When someone walks through the door, your agent logs them in immediately by calling **`create_signin`**, registering their name, host, location, and why they’re here. If you need to know who checked in at a specific moment, the agent fetches the full record using **`get_signin`** with the sign-in ID. You can also modify that check-in record later—maybe logging when they actually left or tweaking the visit reason—using **`update_signin`**. To see how busy the office is right now, the agent runs **`list_signins`**, giving you a current count of everyone who’s clocked in. If you want to know about people who pre-registered but haven't been formally invited yet, check **`list_registrations`**.

**Security and Audit:**
For keeping things secure, your agent lets you list all active security watchlists with **`list_watchlists`**, showing the name, description, and how many entries are on it. If you need to add people or groups that should be denied access, the agent uses **`create_watchlist`**. For compliance checks and reviewing what happened yesterday, the agent downloads historical activity logs via **`list_audit_logs`**. 

**Other Stuff:**
The server also lets you check out available visitor management plans by calling **`list_packages`**. Finally, if you need a list of all upcoming individual invites across every single location, the agent runs **`list_invites`**, and if you only want details for one specific invite, it uses **`get_invite`**.

## Tools

### create_group_visit
Schedules a new large appointment, like a campus tour or training session, providing the name, date, expected count, host, and location.

### create_host
Adds one employee record to the system. This person is authorized to receive and host visitors.

### create_hosts_batch
Onboards multiple employees at once, useful for bulk setup from an HR roster.

### create_invite
Sends a new visitor invitation for a specific person with defined details, including the host and scheduled time.

### create_signin
Registers an individual as currently on-site by logging their name, host, location, and visit purpose.

### create_watchlist
Establishes a new security watchlist for screening purposes, listing individuals or groups to deny access to.

### delete_group_visit
Cancels an entire group appointment using its unique ID. This action is irreversible.

### delete_invite
Removes a single visitor invitation, requiring the specific invite ID. Be careful, as this removes associated data.

### get_group_visit
Retrieves all details for one group visit using its unique ID.

### get_invite
Gets full details about a specific visitor invite using its unique ID.

### get_location
Fetches all configuration data for an office location using its unique ID, good for verifying setup before scheduling.

### get_signin
Retrieves the complete record of one visitor check-in event by its sign-in ID.

### list_audit_logs
Downloads historical activity logs. Use this for compliance checks and security reviews.

### list_group_visits
Shows a list of all scheduled group appointments, including name, date, host, and location.

### list_hosts
Lists every registered employee who can host visitors in the system. Includes contact details and department.

### list_invites
Provides a list of all upcoming visitor invitations across all locations, with filtering options for specific branches.

### list_locations
Lists every office location configured in the system, including its address and timezone details.

### list_packages
Displays available visitor management plans or subscription packages for reference.

### list_registrations
Lists all visitors who have pre-registered for an event, allowing you to manage them before they receive a formal invite.

### list_signins
Gives a current list of all people who have checked in throughout the day. Useful for staffing levels and tracking activity.

### list_watchlists
Shows all active security watchlists, listing their name, description, and number of entries.

### update_group_visit
Modifies an existing group appointment by rescheduling it or changing the host/attendee count, using its unique ID.

### update_invite
Edits a scheduled visit—like moving the time or changing the host—using the specific invite ID. You only provide what needs updating.

### update_signin
Modifies an existing check-in record, typically by logging the required checkout time or adjusting the visit purpose using the sign-in ID.

## Prompt Examples

**Prompt:** 
```
Show me all upcoming visitor invites for the New York office this week.
```

**Response:** 
```
I found 8 upcoming invites for the New York office:
1. **Alice Johnson** — Host: John Smith — April 10, 10:00 AM — Interview
2. **Bob Williams** — Host: Sarah Davis — April 10, 2:00 PM — Client Meeting
3. **Carol Martinez** — Host: Mike Brown — April 11, 9:30 AM — Vendor Demo
4. **David Lee** — Host: John Smith — April 12, 11:00 AM — Interview
5. **Emma Wilson** — Host: Sarah Davis — April 13, 3:00 PM — Training Session
6. **Frank Garcia** — Host: Mike Brown — April 13, 4:00 PM — Delivery
7. **Grace Taylor** — Host: John Smith — April 14, 10:00 AM — Interview
8. **Henry Anderson** — Host: Sarah Davis — April 14, 1:00 PM — Partner Meeting

Would you like to create a new invite or check current sign-ins?
```

**Prompt:** 
```
Create a group visit for a Campus Tour on April 20th with 20 expected attendees, hosted by Sarah Davis at the Main Office.
```

**Response:** 
```
I've successfully created the group visit:
- **Group Visit ID**: GV-20260420-001
- **Name**: Campus Tour
- **Date**: April 20, 2026
- **Expected Attendees**: 20
- **Host**: Sarah Davis
- **Location**: Main Office

The group visit is now scheduled and ready for individual invite creation. Would you like me to create invites for specific attendees?
```

**Prompt:** 
```
Show me who is currently checked in at the New York office and list any security watchlist alerts.
```

**Response:** 
```
Currently checked in at New York office:
1. **Alice Johnson** — Checked in: 9:15 AM — Host: John Smith — Purpose: Interview — Badge: V-1234
2. **Bob Williams** — Checked in: 1:45 PM — Host: Sarah Davis — Purpose: Client Meeting — Badge: V-1235
3. **Carol Martinez** — Checked in: 2:00 PM — Host: Mike Brown — Purpose: Vendor Demo — Badge: V-1236

✅ **Security Watchlists**: No alerts detected. All current visitors have passed security screening.

Would you like to check in a new visitor or review audit logs?
```

## Capabilities

### Schedule Visitor Arrivals
You can create individual visitor invites, schedule entire group tours, or update existing appointments using `create_invite`, `create_group_visit`, and their corresponding `update` tools.

### Manage Employee Contacts
The server allows you to list all registered employees (`list_hosts`) and onboard new personnel either one by one or in large batches using `create_host` and `create_hosts_batch`.

### Track Real-Time Presence
You can check a visitor into the building immediately (`create_signin`) and monitor who is currently on site by listing active sign-ins via `list_signins`.

### Audit Security Status
The agent lets you list security watchlists, create new ones, or review historical audit logs for compliance purposes using `list_watchlists` and `list_audit_logs`.

### Identify Locations
Before scheduling anything, use `list_locations` to get the correct location IDs, ensuring all invites or sign-ins are assigned to the right office branch.

## Use Cases

### The Emergency Visitor Check-In
A security guard gets a walk-in visitor. Instead of calling the reception desk to manually check them in, they ask their agent: 'Check in Jane Doe for a vendor demo at the Main Office.' The agent runs `create_signin` instantly, logs the visit, and records the purpose.

### The Quarterly Review Prep
An HR manager needs to schedule 20 interviews next month. They use their agent to run `list_hosts` first to confirm which department hosts are available. Then, they use `create_group_visit`, setting the date and expected attendee count for all 20 slots.

### The Day-End Security Report
A facility manager needs to reconcile visitor activity. They ask their agent to pull a list of all sign-ins today (`list_signins`) and compare that count against the group visits scheduled via `list_group_visits` to find any discrepancies.

### The Last-Minute Cancellation
A client meeting is canceled two days out. Instead of logging into Traction Guest, finding the original invite list (`list_invites`), and deleting the entry, they simply tell their agent: 'Cancel Alice Johnson's invite.' The agent executes `delete_invite` immediately.

## Benefits

- Real-time tracking with `list_signins`: See exactly who is currently on site without having to open the dashboard. This gives immediate visibility into staffing levels.
- Bulk onboarding: Use `create_hosts_batch` to add dozens of new employees instantly. No more adding hosts one by one through a web form.
- Audit and compliance: Access full security history using `list_audit_logs`. You can immediately prove who was on site, when, and for what purpose.
- Scheduling efficiency: Instead of creating an invite, then manually updating it later, use `update_invite` to reschedule a meeting in one step, referencing the specific `invite_id`.
- Coordination power: Plan complex events using `create_group_visit`. You can schedule large tours with expected attendee counts and assign multiple hosts at once.

## How It Works

The bottom line is: your AI client acts as the backend system, running API calls for you so you don't have to manually click through 10 different web forms.

1. First, connect your API key to the server. This links your AI client directly to your Traction Guest account.
2. Next, you ask your agent a question—for instance, "List all hosts in the Engineering department." The agent decides which tool (`list_hosts`) is needed and runs it.
3. Finally, the agent processes the data returned by the API (e.g., listing 15 employees) and gives you a natural language answer or confirms that an action (like `create_invite`) was successful.

## Frequently Asked Questions

**How do I get a Traction Guest API key and where do I find it?**
Log in to your Traction Guest account, go to the **Developer Portal** at us.tractionguest.com/dev_portal, and generate a new API key. Copy the key immediately and paste it into the API key field below. This key authenticates all API v3 requests to https://us.tractionguest.com/api/v3.

**What's the difference between invites, sign-ins, and registrations?**
**Invites** are scheduled visitor appointments created in advance (future visits). **Sign-ins** are actual check-in records when visitors arrive on-site (current/past visits). **Registrations** are pre-registration records awaiting conversion to invites. The workflow is: Registration → Invite → Sign-in (check-in) → Sign-out.

**Can I create multiple hosts at once for bulk employee onboarding?**
Yes! Use the `create_hosts_batch` tool with an array of host objects. Each host needs firstName, lastName, and email. This is much more efficient than creating hosts one at a time, especially when onboarding new teams or importing from HR systems.

**How do I manage group visits like tours and training sessions?**
Use `create_group_visit` to schedule a group event with name, date, expected attendees, host, and location. Then use `list_group_visits` to see all upcoming group events. You can update or delete group visits as needed. Each group visit tracks expected vs actual attendance.

**When I use the `get_location` tool, what key configuration details do I get for an office site?**
It returns full location data including name, address, timezone, and specific configuration settings. This is critical when you need to verify a location's setup before creating any new invites or assigning hosts to it.

**Using `list_audit_logs`, what kind of activity tracking can I pull for compliance reporting?**
You access logs detailing system actions, which is essential for security investigations and compliance reviews. This capability lets you track who did what, and when, across the entire visitor management history.

**If a scheduled visit needs changes, how do I use `update_invite` to reschedule without losing data?**
You must provide only the specific fields you want to change—like the date or host ID. The system overwrites those values while keeping all other original visitor details intact.

**How does `create_watchlist` help manage security and unauthorized visitors?**
It lets you define official security watchlists, providing a mechanism to flag or deny access for specific individuals. This is your primary tool for ensuring restricted visitor screening.