Skip to main content
Glama
Unanet GovCon ERP MCP Server

Unanet GovCon ERP MCP Server

by culstrup

Unanet GovCon ERP MCP Server

Transform your 30-minute Unanet reports into 30-second conversations with AI

šŸŽÆ For GovCon Leaders Who Are Tired Of:

  • Clicking through 10 screens to answer one question

  • Waiting 20 minutes for reports that should take 20 seconds

  • Training new employees on complex ERP navigation

  • Missing critical project updates buried in data

Related MCP server: Conflict-Check MCP

šŸš€ What if you could just ask: "Give me an executive briefing on all projects"?

Executive Daily Briefing Example

ā±ļø Save 2-4 hours per week on ERP tasks:

  • Project Managers: Instant status updates, resource allocation checks, budget tracking

  • Executives: Daily briefings in seconds, not spreadsheets

  • Finance Teams: Real-time billing status, instant invoice generation

  • Everyone: No more clicking through 10 screens to find one answer

šŸ’” See It In Action

From Complex Navigation to Simple Questions

Before: Log in → Projects → Select Project → Export → Format in Excel → Write Summary (15-30 min)

After: "What's the status of all active projects?" (30 seconds)

Executive Status Query

šŸŽÆ Quick Start

For Windows Users: Download → Run setup-windows.bat → Done! Detailed Guide

For Technical Users: See Installation below

šŸŽÆ What You Can Do

Ask Claude natural questions about your Unanet data:

āœ… "Show me all projects over budget" āœ… "Submit 8 hours to Project Alpha for today" āœ… "Generate a compliance report for Q4" āœ… "Which team members are overallocated next month?" āœ… "Create an invoice for project DEF456"

No more memorizing menu paths or waiting for reports to load!

šŸ’° ROI & Time Savings

Based on real GovCon operations:

  • Project Managers: Save 2-4 hours per week

  • Executives: Save 1-2 hours daily on status updates

  • Finance Teams: Cut monthly billing reconciliation time by 75%

  • Everyone: Get answers in seconds, not minutes

Real Example: Executive Daily Briefing

Traditional Method: Run reports → Export data → Analyze → Format (20+ minutes) With Claude: "Give me an exec daily briefing" (30 seconds)

Executive Daily Briefing - Unanet Projects

• Portfolio Health: 2 active projects ($350K total budget) tracking on schedule
• Project Alpha: 50% complete with proportional budget burn - entering critical phase
• Project Beta: Early stage execution at 25% complete, healthy trajectory
• Resource Status: Team allocation stable, no conflicts identified
• Risk Assessment: All projects green status

Recommended Action: Schedule mid-project review for Alpha this week

Billing Status Integration

šŸ“ø See More Power User Examples

Features

Tools Available

Project Management

  • unanet_get_projects - List all projects with filtering options

  • unanet_get_project_details - Get detailed information about a specific project

  • unanet_update_project_budget - Update project budget

  • unanet_get_project_status - Get project status and dashboard metrics

Time & Expense Tracking

  • unanet_submit_timesheet - Submit time entries

  • unanet_get_timesheets - Retrieve timesheets for a date range

  • unanet_submit_expense - Submit expense reports

  • unanet_approve_timesheet - Approve submitted timesheets

Contact Management

  • unanet_create_contact - Create new contacts

  • unanet_update_lead - Update lead information

  • unanet_create_opportunity - Create new opportunities

  • unanet_get_company_info - Get company details

Financial Operations

  • unanet_get_billing_status - Get project billing information

  • unanet_generate_invoice - Generate project invoices

  • unanet_get_financial_report - Generate various financial reports

Resources Available

  • unanet://projects/active - List of active projects

  • unanet://timesheets/templates - Timesheet templates and common entries

Installation

  1. Download the project:

    • Download from GitHub as a ZIP file

    • Extract to C:\UnanetMCP\

  2. Run the automated setup:

    • Double-click setup-windows.bat

    • Follow the prompts

That's it! See Windows Setup Guide for detailed instructions.

🐧 Mac/Linux Users

  1. Clone this repository:

git clone https://github.com/culstrup/unanet-mcp-server.git
cd unanet-mcp-server
  1. Install dependencies:

npm install
  1. Build the project:

npm run build
  1. Set up your environment variables:

cp .env.example .env
# Edit .env with your Unanet credentials

Configuration

Environment Variables

Create a .env file with your Unanet credentials:

UNANET_USERNAME=your-username
UNANET_PASSWORD=your-password
UNANET_API_KEY=your-api-key
UNANET_FIRM_CODE=your-firm-code
UNANET_BASE_URL=https://your-instance.unanet.com

Claude Desktop Configuration

Add the following to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "unanet": {
      "command": "node",
      "args": ["/absolute/path/to/unanet-mcp-server/dist/index.js"],
      "env": {
        "UNANET_USERNAME": "your-username",
        "UNANET_PASSWORD": "your-password",
        "UNANET_API_KEY": "your-api-key",
        "UNANET_FIRM_CODE": "your-firm-code",
        "UNANET_BASE_URL": "https://your-instance.unanet.com"
      }
    }
  }
}

Usage Examples

Once configured, you can interact with Unanet through Claude:

Project Management

"Show me all active projects"
"Get details for project ABC123"
"Update the budget for project XYZ to $150,000"
"What's the status of the government contract project?"

Time Tracking

"Submit 8 hours for project ABC123 for today"
"Show my timesheets for last week"
"Approve timesheet TS-2024-001"

Financial Reports

"Generate a project profitability report for Q4"
"Show billing status for project DEF456"
"Create an invoice for the last billing period"

Contact Management

"Create a new contact: John Smith from ABC Corp"
"Update the lead status to 'Proposal' with 75% probability"
"Create a new opportunity worth $500k closing next month"

Development

Running in Development Mode

npm run dev

Project Structure

src/
ā”œā”€ā”€ index.ts           # Main server entry point
ā”œā”€ā”€ auth.ts            # Authentication handling
ā”œā”€ā”€ tools/             # MCP tool implementations
│   ā”œā”€ā”€ projects.ts    # Project management tools
│   ā”œā”€ā”€ timesheet.ts   # Time/expense tools
│   ā”œā”€ā”€ contacts.ts    # Contact management
│   └── financials.ts  # Financial tools
ā”œā”€ā”€ resources/         # MCP resource providers
│   └── reports.ts     # Report resources
└── types/             # TypeScript type definitions
    └── unanet.ts      # Unanet API types

Adding New Tools

  1. Create a new tool in the appropriate file under src/tools/

  2. Export the tool definition with:

    • name: Unique tool identifier

    • description: Clear description of what the tool does

    • inputSchema: Zod schema for input validation

    • handler: Async function that executes the tool

  3. Import and add the tool to the tools array in src/index.ts

Security Considerations

  • Never commit your .env file

  • Use environment variables for all sensitive data

  • The server implements rate limiting protection

  • All API calls use HTTPS

  • Credentials are transmitted using Basic Auth + API Key

Troubleshooting

Authentication Errors

  • Verify your credentials in the .env file

  • Ensure your API key has the necessary permissions

  • Check that your firm code is correct

Connection Issues

  • Verify the UNANET_BASE_URL is correct

  • Check network connectivity

  • Ensure the Unanet API is accessible from your network

Claude Desktop Integration

  • Restart Claude Desktop after configuration changes

  • Check the logs for any MCP connection errors

  • Verify the absolute path to the server is correct

Support

For issues or questions:

  1. Check the Unanet API documentation

  2. Review the MCP documentation at https://modelcontextprotocol.io

  3. Open an issue in this repository

šŸŽÆ Getting Started Today

Option 1: Quick Setup (Windows)

  1. Download this repository

  2. Run setup-windows.bat

  3. Start asking Claude about your Unanet data!

Option 2: Manual Setup See Installation for Mac/Linux or advanced setup

šŸ’¬ Join the Conversation

Are you using AI to transform your GovCon operations? Let's connect!

  • 🌟 Star this repo if you find it useful

  • šŸ”„ Share your Unanet automation success stories

  • šŸ’” Suggest features or improvements via Issues

About GSD at Work LLC

We help GovCon CEOs integrate AI into their core business operations and accelerate growth. From DoD contractors to civilian agencies, we're transforming how government contractors work.

What We Do:

  • AI Strategy & Implementation for GovCons

  • ERP Integration & Automation

  • Custom AI Solutions for Compliance & Operations

Let's Talk: christian@gsdat.work | gsdat.work


Because your time should be spent winning contracts, not wrestling with ERPs.

License

MIT License - Copyright (c) 2025 GSD at Work LLC - See LICENSE file for details

Available Tools

15 tools
unanet_approve_timesheetB

Approve a submitted timesheet

Inputs: timesheetId (required), comments.

unanet_create_contactC

Create a new contact in Unanet

Inputs: email (required), lastName (required), firstName (required), notes, +3 more.

unanet_create_opportunityC

Create a new opportunity in Unanet

Inputs: name (required), stage (required), value (required), closeDate (required), +4 more.

unanet_generate_invoiceB

Generate an invoice for a project

Inputs: periodEnd (required), projectId (required), periodStart (required), notes, +1 more.

unanet_get_billing_statusC

Get billing status and information for a project

Inputs: projectId (required).

unanet_get_company_infoC

Get detailed information about a company

Inputs: companyId (required), includeContacts.

unanet_get_financial_reportC

Generate and retrieve financial reports from Unanet

Inputs: endDate (required), startDate (required), reportType (required), format, +1 more.

unanet_get_project_detailsC

Get detailed information about a specific project

Inputs: projectId (required).

unanet_get_projectsC

Get a list of all projects from Unanet

Inputs: limit, status.

unanet_get_project_statusC

Get the current status and dashboard data for a project

Inputs: projectId (required).

unanet_get_timesheetsC

Retrieve timesheets for a date range

Inputs: endDate (required), startDate (required), status.

unanet_submit_expenseC

Submit an expense report to Unanet

Inputs: date (required), amount (required), category (required), projectId (required), +2 more.

unanet_submit_timesheetC

Submit time entries to Unanet

Inputs: entries (required).

unanet_update_leadC

Update lead information in Unanet

Inputs: leadId (required), notes, value, status, +1 more.

unanet_update_project_budgetB

Update the budget for a specific project

Inputs: budget (required), projectId (required), notes.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.1/5.0

    Scored across 15 tools

    Disambiguation4/5

    Most tools are clearly distinct, such as timesheet and expense functions. However, the project-related get tools (get_projects, get_project_details, get_project_status, get_billing_status) overlap in purpose, though each targets a different aspect of a project, which could cause some initial confusion.

    Naming Consistency5/5

    All tools consistently follow the unanet_verb_noun pattern, using clear and predictable verbs like get, update, submit, create, approve, and generate. This uniform structure makes the tool set highly navigable.

    Tool Count5/5

    With 15 tools covering projects, timesheets, expenses, CRM, and billing, the count is well within the typical 3-15 range and each tool serves a specific purpose without bloat. The scope is appropriate for an ERP connector.

    Completeness3/5

    The tool set covers core workflows but has notable gaps: expenses only have submit (no get or approve), opportunities only have create, leads only have update, and there is no project creation or deletion. This uneven CRUD coverage means some operations are missing, though the core actions are present.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      Enables financial professionals to interact with QuickBooks Online using natural language for reports, journal entries, bills, expenses, and more.
      36
      316 npm
      13
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables natural language conflict-of-interest checks, historical relationship analysis, and contract review using Verdantas project data and Deltek records.
      -
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables natural language interaction with Rize workspace data, including time entry management, AI suggestions, time analysis, team administration, and profitability reporting.
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI assistants to directly query and manage Autotask PSA data through natural language, including ticket triage, time entry creation, company lookups, project management, billing review, and more.
      Apache 2.0