Skip to main content
Glama
gsrinivasan-centime

RemittanceAdviceGen

README.md
# Business Automation MCP Servers

Multi-tool MCP server repository for business automation using FastMCP and Python.

## Overview

This repository contains multiple MCP servers for business process automation:

### 1. RemittanceAdviceGen Server
Generates realistic remittance advice PDFs for testing purposes with configurable templates and comprehensive payment details.

**Features:**
- Generate single or batch remittance PDFs
- Realistic test data with suppliers, invoices, and payments
- Support for payment adjustments (surcharges, credits, discounts, fees)
- Configurable invoice line items
- Multiple page sizes (Letter, A4)
- Professional PDF formatting

### 2. APPaymentAnalyser Server *(Coming Soon)*
Tools for analyzing accounts payable payments, GL posting status, and payment analytics.

## Installation

```bash
# Clone repository
git clone <repo-url>
cd CustomMCPServer

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -e ".[dev]"
```

## Usage

### Running RemittanceAdviceGen Server

```bash
# STDIO mode (for Claude Desktop integration)
python -m src.remittance_server.server

# HTTP mode (for network access)
fastmcp run src/remittance_server/server.py --transport http --port 8000
```

### Available Tools

#### generate_remittance_pdf
Generate a single remittance advice PDF with realistic test data.

```python
{
    "invoice_count": 3,
    "include_line_items": true,
    "page_size": "LETTER",
    "include_adjustments": true
}
```

#### batch_generate_pdfs
Generate multiple remittance PDFs in batch.

```python
{
    "count": 10,
    "invoices_per_remittance": 3,
    "include_line_items": true
}
```

#### list_templates
List available remittance templates.

#### get_server_info
Get server information and statistics.

## Configuration

Create a `.env` file in the project root:

```env
DEBUG=false
SERVER_PORT=8000
DEFAULT_PAGE_SIZE=LETTER
DEFAULT_TEMPLATE=standard
INCLUDE_LINE_ITEMS=true
```

## Project Structure

```
CustomMCPServer/
├── src/
│   ├── common/                    # Shared utilities
│   │   ├── models.py             # Pydantic models
│   │   ├── database.py           # Database utilities
│   │   ├── config.py             # Configuration
│   │   └── test_data.py          # Test data generation
│   ├── remittance_server/        # Remittance advice server
│   │   ├── server.py             # FastMCP server
│   │   └── pdf_generator.py     # PDF generation engine
│   └── payment_analyser/         # Payment analyser server (coming soon)
├── tests/                         # Test suite
├── templates/                     # PDF templates
├── output/                        # Generated PDFs
├── data/                          # Database files
├── pyproject.toml                # Dependencies
└── README.md
```

## Testing

```bash
# Run all tests
pytest

# Run with coverage
pytest --cov=src

# Run specific test file
pytest tests/test_remittance_server.py
```

## Claude Desktop Integration

Add to your Claude Desktop config:

```json
{
  "mcpServers": {
    "remittance-advice": {
      "command": "python",
      "args": ["-m", "src.remittance_server.server"],
      "cwd": "/path/to/CustomMCPServer"
    }
  }
}
```

## Development

### Adding New Servers

1. Create new directory under `src/`
2. Implement FastMCP server with tools
3. Use shared models from `src/common/`
4. Add tests in `tests/`
5. Update documentation

### Data Models

All servers share common Pydantic models in `src/common/models.py`:
- PaymentDetail: Payment information with adjustments
- Invoice: Invoice details with line items
- Supplier: Vendor information
- Company: Paying company information
- RemittanceAdvice: Complete remittance document

## License

MIT License - See LICENSE file for details.