Metadata-Version: 2.5
Name: uncert-mcp
Version: 0.1.0
Summary: MCP server for Uncert manager workflows (stdio HTTP client to the AL API)
Project-URL: Homepage, https://uncert.ru
Project-URL: Repository, https://github.com/prakt1ka/uncert
Project-URL: Documentation, https://github.com/prakt1ka/uncert/tree/develop/apps/mcp
Project-URL: Issues, https://github.com/prakt1ka/uncert/issues
Author: Uncert
Keywords: active-learning,mcp,uncert
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.13
Requires-Dist: fastmcp>=2.12.0
Requires-Dist: httpx>=0.28.1
Description-Content-Type: text/markdown

# Uncert manager MCP (`uncert-mcp`)

stdio MCP-сервер: tools к HTTP API Uncert с personal access token.
Хост (Cursor, Claude Desktop и др.) запускает процесс и ходит в API
как PAT-пользователь.

После публикации на PyPI хост ставит пакет сам через `uvx` — клонировать
репозиторий не нужно.

## Выпустить PAT

1. Войдите в Uncert.
2. Откройте **Настройки** — `/me/settings`.
3. Создайте personal access token и скопируйте сырое значение `uncert_pat_…`.

## Переменные окружения

| Переменная | Пример | Смысл |
|---|---|---|
| `UNCERT_API_URL` | `https://uncert.ru/api` | База API **с префиксом `/api`**. Локально: `http://localhost:8001/api` |
| `UNCERT_PAT` | `uncert_pat_…` | Сырой PAT |

Пустые значения — процесс не стартует и пишет имя переменной в stderr.

## Cursor / любой MCP-хост (из PyPI)

Нужны [uv](https://docs.astral.sh/uv/) и PAT. В конфиге хоста (`~/.cursor/mcp.json` или Settings → MCP):

```json
{
  "mcpServers": {
    "uncert": {
      "command": "uvx",
      "args": ["uncert-mcp"],
      "env": {
        "UNCERT_API_URL": "https://uncert.ru/api",
        "UNCERT_PAT": "YOUR_PAT_HERE"
      }
    }
  }
}
```

На macOS, если GUI не видит `uvx` в PATH, подставьте абсолютный путь
(часто `/opt/homebrew/bin/uvx` или `~/.local/bin/uvx`).

Токен только в пользовательском конфиге, не в git.

## Разработка из репозитория

```bash
cd apps/mcp
export UNCERT_API_URL=http://localhost:8001/api
export UNCERT_PAT=uncert_pat_…
uv run uncert-mcp
```

Локальный пример хоста — `mcp.json.example`.

## Публикация на PyPI

Релиз: поднять `version` в `pyproject.toml`, тег `mcp-v0.1.0` (совпадает с
версией) или Actions → **Publish MCP to PyPI** → Run workflow.

Нужен Trusted Publisher на PyPI (проект `uncert-mcp`, репо
`prakt1ka/uncert`, workflow `publish-mcp.yml`, environment `pypi`).
