Skip to main content
Glama
Surya-KF

Enterprise Expense Automation System

by Surya-KF

🏒Enterprise Expense Automation System using MCP & NLP

Python 3.11+ FastMCP Status

A professional Model Context Protocol (MCP) server for tracking company expenses, employees, departments, and performance through natural language conversations with Claude Desktop.

✨ Features

  • 12 MCP Tools for complete CRUD operations

  • Natural Language Interface through Claude Desktop chatbot

  • Employee Management with unique employee numbers (EMP0001, EMP0002, etc.)

  • Expense Tracking with categorization and department assignment

  • Performance Management with ratings and comments

  • AI-Powered Analysis using Google Gemini 2.0 Flash (Latest 2025 Model)

  • Duplicate Detection and automatic cleanup

  • Safe Delete Operations with cascade support

πŸ—οΈ System Architecture

System Design

The architecture shows the complete flow from Claude Desktop through the MCP Server to the SQLite database, with AI-powered analysis via Google Gemini.

πŸ“Š Database Schema

departments         employees              expenses              performance
β”œβ”€β”€ id             β”œβ”€β”€ id                 β”œβ”€β”€ id                β”œβ”€β”€ id
β”œβ”€β”€ name           β”œβ”€β”€ employee_number    β”œβ”€β”€ date              β”œβ”€β”€ employee_id
└── description    β”œβ”€β”€ name               β”œβ”€β”€ amount            β”œβ”€β”€ rating
                   β”œβ”€β”€ role               β”œβ”€β”€ category          β”œβ”€β”€ month
                   β”œβ”€β”€ department_id      β”œβ”€β”€ note              └── comments
                   β”œβ”€β”€ salary             └── department_id
                   └── join_date

Current Data:

  • 4 Departments (Admin, HR, Tech, BPO)

  • 18 Employees with unique employee numbers

  • 34 Expense records

  • 20 Performance ratings

πŸš€ Quick Start

Prerequisites

  • Python 3.11 or higher

  • UV package manager or pip

  • Claude Desktop application

  • Google Gemini API key

Installation

  1. Create virtual environment

cd "C:\Users\VH0000812\Desktop\Expense Tracker"
uv venv
.\.venv\Scripts\activate
  1. Install dependencies

uv pip install -r requirements.txt
  1. Set up environment variables

Create .env file:

GEMINI_API_KEY=your_google_gemini_api_key_here
  1. Initialize database with sample data

python scripts\populate_data.py
  1. Configure Claude Desktop

Add to %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "company-expense-tracker": {
      "command": "C:\\Users\\VH0000812\\Desktop\\Expense Tracker\\.venv\\Scripts\\python.exe",
      "args": [
        "C:\\Users\\VH0000812\\Desktop\\Expense Tracker\\main.py"
      ],
      "env": {
        "GEMINI_API_KEY": "your_api_key_here"
      }
    }
  }
}
  1. Restart Claude Desktop

πŸ› οΈ MCP Tools (12 Total)

βž• Create Operations (4)

Tool

Description

Example

add_department

Create new departments

"Create Marketing department"

add_employee

Add employees with auto employee numbers

"Hire John as Developer in Tech at $100k"

add_expense

Track expenses by department

"Add $500 AWS expense to Tech"

add_performance

Add performance ratings

"Give Alice 5 stars this month"

πŸ—‘οΈ Delete Operations (4)

Tool

Description

Example

delete_employee

Remove employees by number/name

"Delete employee EMP0015"

delete_expense

Delete expense records

"Delete expense ID 45"

delete_department

Remove departments (force mode available)

"Force delete Marketing with all data"

delete_duplicate_employees

Auto-detect and remove duplicates

"Remove all duplicate employees"

πŸ“‹ Query Operations (3)

Tool

Description

Example

list_employees

View employees (all or by department)

"Show all HR employees"

list_expenses

List expenses with filters

"Show Tech expenses last 30 days"

get_department_summary

Comprehensive department stats

"Give me HR summary"

πŸ€– AI Analysis (1)

Tool

Description

Example

analyze_company_with_ai

AI-powered insights via Gemini

"Which department spends most?"

πŸ’¬ Usage Examples

Employee Management

βœ… "Hire Sarah as Marketing Manager in Admin at $75,000"
βœ… "Show me all Tech department employees"
βœ… "Delete employee EMP0017"
βœ… "Find and remove all duplicate employees"

Expense Tracking

βœ… "Add $1,500 office furniture expense to Admin"
βœ… "Show all expenses from last month"
βœ… "Delete expense ID 32"

Performance & Analysis

βœ… "Give John Smith a 5-star rating with comment 'Excellent work'"
βœ… "Show me complete HR department summary"
βœ… "Which department has highest salary burden?"
βœ… "Analyze expense trends across departments"

πŸ“ Project Structure

Expense Tracker/
β”œβ”€β”€ src/                      # Source code modules
β”‚   β”œβ”€β”€ operations/           # Business logic
β”‚   β”œβ”€β”€ ai/                   # AI integration
β”‚   β”œβ”€β”€ tools/                # MCP tool definitions
β”‚   β”œβ”€β”€ database.py           # Database config
β”‚   └── __init__.py
β”œβ”€β”€ tests/                    # All test files
β”‚   β”œβ”€β”€ test_tools.py
β”‚   β”œβ”€β”€ test_delete_functions.py
β”‚   └── test_employee_numbers.py
β”œβ”€β”€ scripts/                  # Utility scripts
β”‚   β”œβ”€β”€ populate_data.py      # Initialize data
β”‚   β”œβ”€β”€ migrate_employee_numbers.py
β”‚   └── db_viewer.py          # Interactive viewer
β”œβ”€β”€ docs/                     # Documentation
β”‚   β”œβ”€β”€ QUICK_REFERENCE.md
β”‚   β”œβ”€β”€ DELETE_TOOLS.md
β”‚   └── COMPLETE_SUMMARY.md
β”œβ”€β”€ config/                   # Configuration
β”‚   └── departments.json
β”œβ”€β”€ data/                     # Database
β”‚   └── company.db
β”œβ”€β”€ main.py                   # Entry point
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ .env
β”œβ”€β”€ .gitignore
└── README.md

πŸ§ͺ Testing

Run tests:

python tests\test_tools.py
python tests\test_delete_functions.py
python tests\test_employee_numbers.py

Interactive database viewer:

python scripts\db_viewer.py

πŸ”§ Configuration

Expense Categories

  • Infrastructure, Software Licenses, Training

  • Office Supplies, Utilities, Salaries

  • Recruitment, Events, Equipment, Maintenance

Employee Number Format

  • Auto-generated: EMP0001, EMP0002, etc.

  • Unique identifier for each employee

  • Used for quick lookups and operations

πŸ”’ Security Features

  • βœ… API keys in environment variables

  • βœ… Foreign key constraints in database

  • βœ… Input validation on all operations

  • βœ… Safe delete mode (force flag required for cascade)

  • βœ… Duplicate detection and prevention

πŸ†˜ Troubleshooting

Claude Desktop not showing tools

  1. Restart Claude Desktop (right-click tray icon β†’ Quit)

  2. Check config path in claude_desktop_config.json

  3. Verify database exists at data/company.db

Database errors

# Migrate employee numbers
python scripts\migrate_employee_numbers.py

# Reinitialize database
python scripts\populate_data.py

Import errors

# Reinstall dependencies
uv pip install -r requirements.txt

# Check Python version (must be 3.11+)
python --version

πŸ“š Documentation

🎯 Roadmap

  • Update/edit operations for employees and expenses

  • Bulk import/export functionality

  • Monthly and yearly report generation

  • Budget tracking with alerts

  • Employee search by skills/role

  • Expense approval workflow

  • Department budget management

  • API endpoint version

πŸ“ˆ Statistics

🏒 Departments:        4 (Admin, HR, Tech, BPO)
πŸ‘₯ Employees:          18 (with unique employee numbers)
πŸ’° Total Salary:       $1,288,000 annually
πŸ’³ Expense Records:    34 tracked
⭐ Performance:        20 ratings (avg 4.2/5.0)

🀝 Development

Adding New Tools

  1. Define function in appropriate module

  2. Add MCP tool wrapper in main.py

  3. Test with tests/test_*.py

  4. Update documentation

Code Style

  • Follow PEP 8 guidelines

  • Use type hints

  • Add docstrings to all functions

  • Include error handling

πŸ“ License

Internal use only - Company Expense Tracker


Version: 1.0.0
Last Updated: October 15, 2025
Status: βœ… Production Ready
Maintained by: Company Development Team

For support or questions, see docs/COMPLETE_SUMMARY.md

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Surya-KF/Enterprise-Expense-Automation-System-using-MCP-NLP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server