Metadata-Version: 2.4
Name: prezent-mcp-server
Version: 0.1.32
Summary: MCP server for creating presentations using the Prezent API
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: httpx>=0.27.0
Requires-Dist: mcp[cli]
Requires-Dist: python-dotenv

# Prezent MCP Server

A Model Context Protocol (MCP) server for creating presentations using the Prezent API.

## Features

- Create presentations using prompts and templates
- Check presentation generation status
- Background polling for presentation completion
- Support for multiple presentation templates
- CLI entry point for direct execution

## Setup

1. Install dependencies:
```bash
pip install -r requirements.txt
```

2. Set up environment variables:
```bash
export PRESENTATION_API_TOKEN="your_api_token_here"
```

Or create a `.env` file:
```
PRESENTATION_API_TOKEN=your_api_token_here
```

## Building and Installing

### Building the Package

To create a distributable Python package:

1. Install build tools:
```bash
pip install build
```

2. Build the package:
```bash
python -m build
```

This will create both wheel (`.whl`) and source distribution (`.tar.gz`) files in the `dist/` directory.

### Installing the Built Package

You can install the built package locally:

```bash
pip install dist/prezent_mcp_server-0.1.4-py3-none-any.whl
```

Or install from the source distribution:

```bash
pip install dist/prezent_mcp_server-0.1.4.tar.gz
```

### Publishing to PyPI (Optional)

To publish the package to PyPI:

1. Install twine:
```bash
pip install twine
```

2. Upload to TestPyPI (for testing):
```bash
python -m twine upload --repository testpypi dist/*
```

3. Upload to PyPI:
```bash
twine upload dist/*
```

Note: You'll need PyPI credentials to upload packages.

## Usage

### Running the MCP Server

#### Option A: Using the CLI Entry Point (Recommended)
```bash
prezent-mcp-server
```

#### Option B: Direct Python Execution
```bash
python prezent_mcp.py
```

### Available Tools

#### create_presentation
Creates a new presentation using the specified prompt and template.

**Parameters:**
- `prompt` (str): The presentation prompt/description
- `template` (str): The template ID to use for the presentation

**Example:**
```
create_presentation("Create a presentation about AI trends in 2024", "prezent_corporate_2022")
```

#### check_presentation_status
Checks the status of a presentation generation job.

**Parameters:**
- `callback_id` (str): The callback ID returned when the presentation was submitted

**Example:**
```
check_presentation_status("abc123-def456-ghi789")
```

## Templates

The server supports various presentation templates. If no template is specified, it defaults to `prezent_corporate_2022`.

## Configuration

The server uses the following environment variables:
- `PRESENTATION_API_TOKEN`: Your Prezent API authentication token

## Development

This MCP server is built using FastMCP and provides async tools for presentation generation and status checking.

### Package Information
- **Current Version**: 0.1.4
- **Python Requirement**: >=3.10
- **Dependencies**: httpx>=0.27.0, mcp[cli], python-dotenv
