Metadata-Version: 2.4
Name: tezzinc-mcp
Version: 0.1.0
Summary: MCP server exposing the TezzInc platform as a typed tool set for LLM tool callers
Author-email: TezzInc <dev@tezzinc.com>
License: MIT
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: httpx>=0.25.0
Requires-Dist: pydantic>=2.0.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"

# TezzInc MCP server

A thin MCP (Model Context Protocol) server that exposes the TezzInc
platform as a typed tool set for LLM tool callers. The server speaks
JSON-RPC 2.0 over either `stdio` (the default, run as a child process
by Claude Desktop, Cursor, Zed, Windsurf, Cline, etc.) or `sse` (the
remote transport, used by the hosted bridge at `mcp.tezzinc.com`).

## Install

```bash
pip install tezzinc-mcp

# For SSE transport:
pip install tezzinc-mcp[sse]
```

## Run

```bash
# stdio (default) — points at http://localhost:8000 by default
TEZZINC_API_KEY=tz_live_… tezzinc-mcp

# Point at the production API
TEZZINC_API_BASE=https://api.tezzinc.com \
TEZZINC_API_KEY=tz_live_… tezzinc-mcp

# SSE
TEZZINC_API_KEY=tz_live_… tezzinc-mcp --transport sse --port 8080
```

Environment variables:

* `TEZZINC_API_KEY` — required. The API key the MCP server forwards on every call.
* `TEZZINC_API_BASE` — default `http://localhost:8000`. Override to point at a different environment.

## Tools

The server advertises seven tools:

| Tool | Description |
|------|-------------|
| `tezzinc_create_asset` | Register a source URL as an asset |
| `tezzinc_create_job` | Submit a transcode against an asset |
| `tezzinc_get_job` | Read a job's current state |
| `tezzinc_wait_for_job` | Block until a job reaches a terminal state |
| `tezzinc_list_presets` | List every preset the workspace can use |
| `tezzinc_get_signed_url` | Refresh a signed download URL for a finished output |
| `tezzinc_list_invoices` | List invoices for the current project |

Every tool is a thin wrapper over a single REST call. The platform
holds all of the business logic; the server has none.

## Claude Desktop config

`~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "tezzinc": {
      "command": "tezzinc-mcp",
      "env": { "TEZZINC_API_KEY": "tz_live_…" }
    }
  }
}
```

## License

MIT
