# SignOnSite MCP

> SignOnSite MCP Server tracks worker presence and compliance at construction sites. It lets your AI client manage attendance logs, check safety permits, and verify worker credentials without leaving your chat interface. Use tools like `list_sites` to see all locations or `query_site_attendance` to get real-time sign-on/sign-off records instantly.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** site-safety, attendance-tracking, safety-inductions, compliance-documentation, worker-management, emergency-evacuation

## Description

**SignOnSite MCP Server**

Forget juggling spreadsheets or hopping between three different apps just to track who's on site and if they can legally work there. This server connects your AI client right into the SignOnSite platform, letting you manage worker attendance and safety compliance directly from your chat window. You don't need to know the backend; you just tell your agent what job needs doing, and it handles the rest.

### **Managing Sites and Companies**

You can get a full picture of where operations are running. Use `list_sites` to pull up every single construction site managed under this account. Need more specifics? You can call `get_site_details` with an ID or name to grab all the deep details about one particular location. If you need to know which corporate entities are tied to these projects, run `list_companies`; it returns a complete list of every company associated with your site account. When you're ready to build out records, if you find a new crew member, you use `enrol_worker` to add their profile straight into the system.

### **Worker Profiles and Directories**

Keeping track of personnel is half the battle. To see who’s already in your database, run `list_workers`; it gives you a directory listing of every worker currently on file. If you need deep background info on one person—their contact details or their enrollment status—you call `get_worker_details`. This process lets you verify if the data for any specific employee is up to date.

### **Tracking Day-to-Day Attendance**

This is where the real time stuff happens. To see who clocked in and out, use `query_site_attendance`. You can filter this detailed log by site name or specific dates to instantly get a record of attendance history. When someone arrives for the shift, you tell your agent to run `sign_on_worker` to manually record their arrival time at the site. Conversely, when they clock out for the day—or just for a break—you use `sign_off_worker`. These actions update the live log immediately.

### **Validating Safety and Credentials**

Nothing's worse than finding out someone is working without the right paperwork. This server handles all that mess. You can verify worker licenses, certifications, and mandatory safety inductions by running `query_worker_credentials`. Need to know if a site has the permits it needs—like Hot Works or Confined Space access? `query_permits` checks those status requirements for your ongoing projects. For historical compliance records, you search completed forms using `query_form_submissions`; this retrieves everything from incident reports to tool checkouts. Finally, every safety requirement and worker record is wrapped up in a system that lets you verify their full compliance status before they even start work.

## Tools

### enrol_worker
Adds a new worker's profile to the system record.

### get_site_details
Pulls specific details about one particular construction site by ID or name.

### get_worker_details
Retrieves all profile information for a single worker, including contact data and enrollment status.

### list_companies
Generates a list of every company associated with the site account.

### list_sites
Returns a complete, current list of all construction sites managed by the account.

### list_workers
Generates a directory listing of every worker currently in the system's database.

### query_site_attendance
Retrieves a detailed log of who signed on and off, allowing filtering by specific dates and sites.

### query_worker_credentials
Validates worker licenses, certifications, and mandatory safety inductions.

### query_form_submissions
Searches and retrieves records for completed safety forms, like incident reports or tool checkouts.

### query_permits
Checks the status of mandatory site permits (e.g., Hot Works or Confined Space) needed for ongoing projects.

### sign_off_worker
Manually records that a specific worker has left the site for the day or for a shift.

### sign_on_worker
Manually records that a specific worker has arrived and started working at the site.

## Prompt Examples

**Prompt:** 
```
List all workers currently signed onto the 'Skyline Apartments' site.
```

**Response:** 
```
I've retrieved the attendance list. There are currently 12 workers on site, including 'John Miller' and 'Sarah Chen'. Would you like to see their contact info or induction status?
```

**Prompt:** 
```
Show me any active permits for site ID 12345.
```

**Response:** 
```
Checking site permits... I found 3 active permits for site 12345: 'Hot Works', 'Working at Heights', and 'Excavation'. Would you like the full details for any of them?
```

**Prompt:** 
```
Check if worker 'Robert Smith' is enrolled for the 'City Hospital' site.
```

**Response:** 
```
Searching worker records... 'Robert Smith' is successfully enrolled for 'City Hospital' and has completed his general induction. Should I check his specific equipment credentials?
```

## Capabilities

### List all sites and companies
Retrieve a list of every company associated with the account, or get detailed information about any specific construction site.

### Manage worker profiles and enrollment
Fetch metadata for individual workers using `get_worker_details`, or onboard new staff directly via `enrol_worker`.

### Monitor site-wide attendance logs
Query current and historical worker sign-on/sign-off records, filtering by specific sites and dates using `query_site_attendance`.

### Validate safety compliance status
Check if a site has necessary permits (like Hot Works or Confined Space) using `query_permits`, and verify worker licenses via `query_worker_credentials`.

### Process attendance lifecycle actions
Record manual sign-on (`sign_on_worker`) or sign-off (`sign_off_worker`) events for a worker at a specific location, updating the real-time log.

## Use Cases

### Checking Site Readiness Before Work Starts
A foreman needs to know if a site can proceed with welding. Instead of calling three different departments, they ask their agent: 'Check all active permits for Hot Works at site ID 456.' The agent runs `query_permits` and confirms the status instantly.

### Auditing Worker Credentials Mid-Project
The safety officer suspects a worker might be operating without proper training. They ask the agent to check 'Robert Smith's credentials.' The agent runs `query_worker_credentials` and reports whether his licenses are valid, preventing an immediate safety risk.

### Tracking Daily Shifts
The site lead needs a headcount at 3 PM. They ask the agent to 'List all workers currently signed on for the Downtown Tower.' The agent runs `query_site_attendance` and gives an immediate, accurate count.

### Initial Site Assessment
A new project starts, and the team needs a complete list of people involved. They ask to 'List all workers for this site.' The agent runs `list_workers` and provides the full directory, including contact details.

## Benefits

- Real-time attendance tracking. Use `query_site_attendance` to see who is currently on site and when they arrived, eliminating the need for manual sign-in sheets.
- Instant compliance checks. Call `query_permits` or `query_worker_credentials` to verify if a job site has active permits before work begins. No guessing games here.
- Centralized worker data. Use `get_worker_details` and `list_workers` to pull comprehensive profiles, including contact info and enrollment status, without switching between HR systems.
- Streamlined onboarding. Quickly enrol new staff using `enrol_worker`, ensuring their profile is immediately available for compliance checks when they arrive on site.
- Full lifecycle management. The server lets you track a worker's entire journey—from initial enrolment (`enrol_worker`) to daily sign-on/sign-off actions (`sign_on_worker`).
- Audit trail generation. Access historical data by running `query_form_submissions` to pull records of completed safety paperwork for audits.

## How It Works

The bottom line is: your AI client becomes a dedicated site manager that runs checks and reports using live construction data.

1. Subscribe to this server and enter your SignOnSite API Token into your Vinkius dashboard.
2. Ask your AI client to perform an action (e.g., 'List all sites'). The agent calls the relevant tool (`list_sites`).
3. The system executes the function, fetches the data from SignOnSite, and presents it back to you in plain text chat.

## Frequently Asked Questions

**How do I check worker credentials using query_worker_credentials?**
You ask your agent directly: 'Check the credentials for Robert Smith.' The tool runs a background check on his licenses and inductions, giving you an immediate yes/no status.

**Can I list all sites using list_sites?**
Yes. Running `list_sites` provides the full directory of every construction location attached to your account, making it easy to scope out a new project.

**What is the difference between query_site_attendance and sign_on_worker?**
`query_site_attendance` reads historical data—it tells you what happened. `sign_on_worker` writes data—you use it to manually record that someone just arrived at the site.

**Do I need to run list_companies before enrolling a worker?**
No. While you can use `list_companies` to see all associated businesses, `enrol_worker` only requires the necessary worker details to create the profile.

**How do I check for permits like Hot Works using query_permits?**
You simply specify the permit type and site ID in your request. The agent runs `query_permits` and lists all active, valid permits for that location.

**When using get_worker_details, how do I pull specific contact information for a known worker ID?**
You simply pass the unique worker ID to the tool. The system returns comprehensive metadata including emergency contacts and full enrollment history associated with that specific person's record.

**If I use sign_on_worker, what happens if the worker ID doesn't exist in the database?**
The tool handles this by returning an explicit error code. You will receive a clear message stating that the specified worker ID was not found, preventing you from logging inaccurate or ghost records.

**When using get_site_details, how can I ensure the AI agent queries data for the correct project site?**
You must pass a unique Site ID or Site Name as an argument. This forces the tool to query only that single location, keeping your data focused and accurate across all your job sites.

**Can my AI automatically find which workers are currently signed onto a specific construction site?**
Yes! Use the `query_attendance` tool. Provide the Site ID, and your agent will return the list of currently present workers and their sign-on times in seconds.

**How do I check if a specific worker has completed their safety induction for a site?**
Simply ask the agent to run the `get_worker` or `query_credentials` action. It will retrieve the enrollment status and safety credentials for that individual.

**How do I find my SignOnSite API Token?**
Log in to your SignOnSite web dashboard, navigate to the **Settings** > **API** section, and you will find your unique Company API Token there.