# Unanet MCP

> Unanet connects your AI agent directly to an enterprise resource planning (ERP) suite for government contractors. It lets you query project financials, pull timesheets, view expense reports, and list workforce data all through chat commands. Instead of clicking through five different modules just to check compliance or total a budget, your agent runs the necessary queries and gives you a single, actionable summary.

## Overview
- **Category:** erp-operations
- **Price:** Free
- **Tags:** project-accounting, timesheets, expense-reporting, resource-management, government-contracting, erp

## Description

This MCP Server hooks your AI agent straight into Unanet’s core project accounting and ERP suite. You don't have to log in or click through a dozen modules just to check on financials; the server lets your agent pull structured records directly, giving you one clean summary chat view. 

When you need an overview of what's going on, your agent accesses `projects` to retrieve a list of every active and historical project. You can ask for a specific project’s status or its financial health, and the server reads all that required data from Unanet’s project module. It handles complex cross-referencing needed for audits, like those demanded by DCAA requirements.

To handle your people side—the workforce records—your agent uses the `users` tool to grab a current roster of every employee and user managed in Unanet. For tracking work hours, it pulls data from `timesheets`. You can request timesheet records for any specific user or department across defined date ranges; the server compiles those billable hours into one report. 

When you need to track money, your agent runs two distinct queries. It uses `expenses` to list expense reports tied to a single user. By cross-referencing these with project data, the server lets you check exactly how much money was spent versus what funds were allocated for any given job. The system manages total spending against budgets by compiling both the timesheet and expense records. Everything you need—project status, worker lists, hours worked, and every dime spent—comes back in a single chat thread.

## Tools

### expenses
Lists expense reports for a specific user in Unanet.

### projects
Retrieves a list of all active and historical projects within Unanet.

### timesheets
Lists timesheet records for a specific user, tracking billable hours.

### users
Gets a list of all employees and users managed in Unanet.

## Prompt Examples

**Prompt:** 
```
Retrieve the submitted expense reports for Project X.
```

**Response:** 
```
There are 4 active expense reports for Project X totaling $1,250.30.
```

**Prompt:** 
```
List all pending timesheets for the engineering department this week.
```

**Response:** 
```
Querying Unanet timesheets ('get_timesheets')...
Found 3 pending timesheets for Engineering (Oct 18-24):
1. Alice Baker: 38 hrs (Awaiting Mgr Approval)
2. Charlie P.: 40 hrs (Draft)
3. Dave R.: 32 hrs (Draft)
```

**Prompt:** 
```
Check the current compliance status and budget utilization for the 'Alpha-1' defense contract.
```

**Response:** 
```
Analyzing project records ('get_project_details')...
Contract 'Alpha-1' (ID: DEF-771):
- Compliance: DCAA compliant tracking active, 100% compliant.
- Budget: $250,000
- Utilized: $145,200 (58%)
- Status: On Track.
```

## Capabilities

### Pull Project Status Reports
You ask for a specific project's status or financial health, and the agent reads the required data from Unanet’s project module.

### Audit Compliance Records
The server allows your AI client to query complex compliance metrics needed for government contracts (e.g., DCAA requirements).

### Consolidate Employee Time Data
You request timesheets, and the agent compiles records for a specific user or department across defined date ranges.

### Track Spending Against Budgets
The server retrieves expense reports, allowing you to check how much money was spent versus allocated funds for any given project.

### Manage Workforce Records
You ask for employee lists or organizational structure data, and the agent pulls the current user roster from Unanet.

## Use Cases

### Quarterly Compliance Audit
The compliance officer needs to prove that every project in 'Defense Contract X' stayed within budget and followed DCAA rules. Instead of manually checking the finance module, they ask their agent: 'Check all records for Project X using `projects`.' The agent aggregates the data from `expenses` and confirms the status instantly.

### Billing Dispute Resolution
A client disputes hours billed. Instead of chasing down emails, the PM asks their agent to compare two things: 'What did Alice submit via `timesheets`, and what was approved in her `expenses` report?' The agent runs both tools and shows the discrepancy immediately.

### Resource Gap Analysis
The department head needs to know if they can take on a new contract. They ask their agent: 'List all available staff using `users`, then check which ones have open time slots via `timesheets`.' The result tells them exactly who is free.

### Project Kickoff Budget Check
A new project starts, and the PM needs to know the total available budget. They use the agent to query the project details (`projects`) first, then check for historical spending using `expenses` to set realistic expectations.

## Benefits

- Instant audit readiness. Instead of compiling physical binders or spreadsheets, your agent can pull specific records using `expenses` or `timesheets`, instantly proving compliance status for government contracts.
- Stop guessing on resource capacity. By calling the `users` tool, you get an accurate roster and can check which employee's hours are logged via `timesheets` to plan staffing better.
- Know project health in seconds. You pull a list of active projects using `projects`, immediately seeing key financial metrics like budget utilization without navigating multiple dashboards.
- Cut down billing cycle time. Combine the data from all four tools—checking `users` for rates, `timesheets` for hours, and `expenses` for costs—to build accurate invoices fast.
- Focus on strategy, not data entry. You offload the tedious work of cross-referencing budgets against actual spending to your agent, saving hours per week.

## How It Works

The bottom line is, it lets you talk to your core project accounting data instead of clicking through five different tabs.

1. Tell your AI client exactly what you need. For example: 'What are the total expenses for Project Alpha last month?'
2. The agent reads that request, identifies the necessary data source (e.g., `expenses`), and calls the appropriate tool on the Unanet MCP Server.
3. You receive a clean text response in your chat—not a PDF or a dashboard screenshot—with the specific totals and records you asked for.

## Frequently Asked Questions

**How do I check if a project is active using Unanet MCP Server?**
You use the `projects` tool. This pulls a list of all current and historical projects in your organization, letting you quickly identify IDs or statuses for billing purposes.

**Can I pull timesheets and expenses together using Unanet MCP Server?**
Yes. You prompt the agent to look at both data sets simultaneously. The server runs `timesheets` first, then cross-references that data with relevant entries found by the `expenses` tool.

**What kind of data does the Unanet MCP Server provide?**
It provides core ERP operational and financial records. Specifically, it delivers project status (`projects`), resource allocation (`users`, `timesheets`), and spending details (`expenses`).

**How do I authenticate my AI client when calling the `expenses` tool?**
You connect using standard OAuth or API key credentials provided by Unanet. Your agent must be configured with appropriate scope permissions for financial data access. Never hardcode keys; manage them securely within your client's vault.

**What should I do if the `projects` tool returns an error status?**
First, check the specific error code returned by the Unanet API. If it’s a parameter issue (like invalid IDs), correct your input. If it's a server failure, wait and retry the call; repeated failures suggest a service outage.

**Are there rate limits when I use the `users` tool to pull large lists of employees?**
Yes, Unanet enforces rate limits on bulk data retrieval. If you need more than a few hundred records, always request paginated results in batches. This keeps your calls stable and prevents throttling.

**Can I use the `timesheets` tool to filter by specific date ranges?**
Absolutely; filtering by start and end dates is a required parameter for accurate timesheet retrieval. You must specify these dates in your prompt so the agent fetches only the relevant time entries.

**What additional data points can I get using the `users` tool besides names?**
The `users` tool provides detailed employee records, including their department assignment, current job title, and whether they are active or inactive in the system. This helps you manage workforce scope.

**What info can the AI query in Unanet?**
It can retrieve project lists and details, expenses, workforce items, and timesheets.

**How do I authenticate this integration?**
Access relies on Basic Authentication. You will need a base environment URL, an integration user's username, and a password/token.