Skip to main content
Glama
AparaviSoftware

Aparavi MCP Server

Official
README.md
# Aparavi MCP Server

An MCP (Model Context Protocol) server that integrates with Aparavi's document processing capabilities. This server allows Language Models to process documents through Aparavi's API and receive cleaned text output.

[![npm version](https://badge.fury.io/js/aparavi-mcp.svg)](https://www.npmjs.com/package/aparavi-mcp)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

## Features

- ๐Ÿ“„ Document processing via Aparavi API
- ๐Ÿงน Clean text extraction without metadata
- ๐Ÿ”Œ MCP-compliant interface
- โš™๏ธ Environment-based configuration
- ๐Ÿš€ Async processing support
- ๐Ÿ“ฆ Easy installation via NPX
- ๐Ÿ” OCR capabilities for system diagrams
- ๐Ÿ Python-based with Node.js wrapper

## Table of Contents

- [Prerequisites](#prerequisites)
- [Quick Start](#quick-start)
- [Installation](#installation)
  - [For Users](#for-users)
  - [For Developers](#for-developers)
- [Configuration](#configuration)
- [Usage](#usage)
  - [Running as a User](#running-as-a-user)
  - [Running for Development](#running-for-development)
- [API Documentation](#api-documentation)
- [Testing](#testing)
- [Project Structure](#project-structure)
- [Contributing](#contributing)

## Prerequisites

- Python 3.8 or higher
- Node.js 14 or higher
- Git (for development setup)

## Installation

### For Users

There are two ways to install the MCP server as a user:

1. **Get your API Key:**
   For EU Users https://dtc.aparavi.eu/usage or US Users https://dtc.aparavi.com/usage
 
3. **Run the Server**
   ```bash
  
   # Choose which Aparavi server you want to use and set API keys in terminal

    # For US users: 
    # Get Aparavi API Key from: https://dtc.aparavi.com/
    # Set APARAVI_API_URL to: https://eaas.aparavi.com
   
    # For EU users: 
    # Get Aparavi API Key from: https://dtc.aparavi.eu/
    # Set APARAVI_API_URL to: https://eaas.aparavi.eu

   # For Unix/Linux/macOS
   export APARAVI_API_KEY=your_api_key_here
   export APARAVI_API_URL=your_url_here

   # For Windows - Set API keys in Command Prompt
   set APARAVI_API_KEY=your_api_key_here
   set APARAVI_API_URL="your_url_here"

   # OR for Windows PowerShell
   $env:APARAVI_API_KEY="your_api_key_here"
   $env:APARAVI_API_URL="your_url_here"

   # Run the server (same command for all platforms)
   npx aparavi-mcp@latest
   ```

4. **Add Server to your Client**
   Update your `MCP_config.json` file in the client with this:
   ```json
    {
      "mcpServers": {
        "aparavi": {
          "serverUrl": "http://localhost:8000/mcp"
        }
      }
    }
 
   ```


### For Developers

For local development and testing:

1. **Clone the Repository**
   ```bash
   git clone https://github.com/AparaviSoftware/mcp-server
   cd mcp-server
   ```

2. **Set Environment Variables**
   ```bash
   # For US users: https://eaas.aparavi.com
   # For EU users: https://eaas.aparavi.eu

   # For Unix/Linux/macOS
   export APARAVI_API_KEY=your_api_key_here
   export APARAVI_API_URL=your_url_here

   # For Windows - Set API keys in Command Prompt
   set APARAVI_API_KEY=your_api_key_here
   set APARAVI_API_URL="your_url_here"

   # OR for Windows PowerShell
   $env:APARAVI_API_KEY="your_api_key_here"
   $env:APARAVI_API_URL="your_url_here"
   ```

3. **Set Up Python Environment**
   ```bash
    npx aparavi-mcp@latest
   ```

4. **Running Tests**
   First, ensure your server is running (from step 1). Then you can run and configure tests:

   ```bash
   # Run the test tool
   python tests/test_tool.py
   ```

   To test different tools or files, open `tests/test_tool.py` and modify the `main()` function:
   ```python
   def main():
       # Change the file path to test different documents
       file_path = "tests/testdata/test_document.txt"
       # Or try other test files:
       # file_path = "tests/testdata/SDD_RoadTrip.pdf"
       # file_path = "tests/testdata/system_diagram.jpeg"

       # Change the tool name to test different tools
       tool_name = "document_processor"
       # Available tools:
       # - "Aparavi_Document_Processor" (for text documents)
       # - "Advanced_OCR_Parser" (for diagrams/images)

       run_tool_test(file_path, tool_name)
   ```

## Configuration

### Required Environment Variables

- `APARAVI_API_KEY`: Your Aparavi API key (required)
- `APARAVI_API_URL`: Your Aparavi API server (required)

### Optional Environment Variables

- `VISION_API_KEY`: Your Mistral Vision API key (required only for video processing tool)
  - Only needed if you want to use the `Aparavi_Video_Processor` tool
  - Get your API key from [Mistral AI](https://console.mistral.ai/)
  - Set it the same way as other environment variables:
    ```bash
    # Unix/Linux/macOS
    export VISION_API_KEY=your_mistral_api_key_here
    
    # Windows Command Prompt
    set VISION_API_KEY=your_mistral_api_key_here
    
    # Windows PowerShell
    $env:VISION_API_KEY="your_mistral_api_key_here"
    ```

## Project Structure

```
aparavi-mcp/
โ”œโ”€โ”€ bin/                    # Executable scripts
โ”‚   โ”œโ”€โ”€ index.js           # Node.js entry point
โ”‚   โ””โ”€โ”€ setup.sh           # Python environment setup
|__ prompts/               #Preconfigured prompts
โ”œโ”€โ”€ tools/                 # MCP tool implementations
โ”œโ”€โ”€ resources/             # Configuration and resources
โ”œโ”€โ”€ tests/                 # Test files
โ”œโ”€โ”€ mcp-server.py         # Main Python server
โ”œโ”€โ”€ requirements.txt      # Python dependencies
โ””โ”€โ”€ package.json         # Node.js package config
```

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.