semvec/pypi-packages huggingface dataset:
universal-mcp-markitdown 0.1.2
A Universal MCP Application: universal_mcp_markitdown
License: MIT
Requires Python: >=3.11

# Markitdown Universal MCP Server

This repository contains an implementation of an Markitdown Universal MCP (Model Context Protocol) server. It provides a standardized interface for interacting with Markitdown's tools and services through a unified API.

The server is built using the Universal MCP framework.

This implementation follows the MCP specification, ensuring compatibility with other MCP-compliant services and tools.

## Usage

You can start using Markitdown directly from [agentr.dev](https://agentr.dev). Visit [agentr.dev/apps](https://agentr.dev/apps) and enable Markitdown.

If you have not used universal mcp before follow the setup instructions at [agentr.dev/quickstart](https://agentr.dev/quickstart)

## Available Tools

The full list of available tools is at [./src/universal_mcp_markitdown/README.md](./src/universal_mcp_markitdown/README.md)

## Local Development

### 📋 Prerequisites

Ensure you have the following before you begin:

- **Python 3.11+** (recommended)
- **[uv](https://github.com/astral-sh/uv)** (install globally with `pip install uv`)

### 🛠️ Setup Instructions

Follow the steps below to set up your development environment:

1. **Sync Project Dependencies**

   ```bash
   uv sync
   ```

   This installs all dependencies from `pyproject.toml` into a local virtual environment (`.venv`).

2. **Activate the Virtual Environment**

   For Linux/macOS:

   ```bash
   source .venv/bin/activate
   ```

   For Windows (PowerShell):

   ```powershell
   .venv\Scripts\Activate
   ```

3. **Start the MCP Inspector**

   ```bash
   mcp dev src/universal_mcp_markitdown/server.py
   ```

   This will start the MCP inspector. Make note of the address and port shown in the console output.

4. **Install the Application**
   ```bash
   mcp install src/universal_mcp_markitdown/server.py
   ```

## 📁 Project Structure

```text
.
├── src/
│   └── universal_mcp_markitdown/
│       ├── __init__.py       # Package initializer
│       ├── server.py            # Server entry point
│       ├── app.py            # Application tools
│       └── README.md         # List of application tools
├── tests/                    # Test suite
├── .env                      # Environment variables for local development
├── pyproject.toml            # Project configuration
└── README.md                 # This file
```

## 📄 License

This project is licensed under the [MIT License](LICENSE).

---

_Generated with **MCP CLI** — Happy coding! 🚀_
download-retry 0.1.2
Retry downloading a binary file from a URL with timeout and optional SSL check.
License: MIT
Requires Python: >=3.6

# download_retry.py

A simple Python command-line tool to repeatedly attempt downloading a binary file from a URL until successful or until a timeout is reached.

## Features

- Downloads binary data from a given URL
- Skips SSL certificate validation by default (`--insecure true`)
- Retries every `delta_t` seconds until `max_t` seconds have elapsed
- Saves the result to a specified output file
- Returns exit code `0` on success, `1` on failure

---

## Requirements

- Python 3.6+
- `requests` package

Install dependencies using:

pip install -r requirements.txt

---

## Installation

Clone the repository.

```bash
git clone git@github.com:gilweis/download_retry.git
cd download_retry
```
---

## Usage

python -m download_retry --url <URL> --delta_t <seconds> --max_t <seconds> --out <output_filename> [--insecure true|false]

### Arguments

| Argument      | Description                                      | Example                         |
|---------------|--------------------------------------------------|---------------------------------|
| `--url`       | The URL to download from                         | `https://example.com/file.bin` |
| `--delta_t`   | Time between retries in seconds                  | `5`                             |
| `--max_t`     | Maximum total wait time in seconds               | `60`                            |
| `--out`       | Output filename                                  | `file.bin`                      |
| `--insecure`  | Skip SSL verification (`true` by default)        | `true` or `false`               |

---

## Examples

### Default (insecure=True):

Skips SSL certificate verification:

python -m download_retry \
  --url "https://my.server.local/firmware.bin" \
  --delta_t 3 \
  --max_t 60 \
  --out firmware.bin


### Enforce SSL certificate verification (insecure=False):

python -m download_retry \
  --url "https://secure.example.com/file.bin" \
  --delta_t 3 \
  --max_t 60 \
  --out secure.bin \
  --insecure false

---

## Exit Codes

- `0`: File downloaded successfully
- `1`: Failed to download within time limit

---

## Testing

To run tests:

1. Install test requirements:

pip install pytest

2. Run tests:

pytest tests/

---

## Build and Install

To build source and wheel distributions:

python -m build

If you don't have the build tool installed:

pip install build

To install the package locally:

pip install .

To upload to PyPI (optional):

pip install twine
twine upload dist/*

---

## Warning

By default, SSL certificate validation is **disabled** using `--insecure true`. This may expose you to **man-in-the-middle attacks**. Use `--insecure false` to enforce SSL verification when downloading from public or sensitive endpoints.

---

## License

MIT License

## Version

0.1.2