Metadata-Version: 2.5
Name: daepak-mcp
Version: 2.0.1
Summary: Daepak market intelligence tools over MCP
Project-URL: Homepage, https://daepak.com
License: MIT
Keywords: crypto,korea,market-data,mcp,trading
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Office/Business :: Financial :: Investment
Requires-Python: >=3.10
Requires-Dist: certifi>=2024.2.2
Description-Content-Type: text/markdown

# Daepak MCP

Инструменты рыночной аналитики Daepak в любом движке с поддержкой MCP.

## Подключение

После публикации пакета:

```bash
claude mcp add daepak -e DAEPAK_API_KEY=dpk_live_… -- uvx daepak-mcp
```

Из репозитория, без установки:

```bash
claude mcp add daepak -e DAEPAK_API_KEY=dpk_live_… -- python3 /path/to/mcp/daepak_agent_mcp.py
```

Ключ заводится на странице **«Ключи»** в профиле. Зависимостей у сервера нет — только
стандартная библиотека Python 3.11+.

| переменная | по умолчанию | зачем |
|---|---|---|
| `DAEPAK_API_KEY` | — | ключ `dpk_live_…`, обязателен |
| `DAEPAK_BASE_URL` | `https://daepak.com` | другой контур (стейдж) |
| `DAEPAK_TIMEOUT` | `120` | секунд на вызов |

## Что видит движок

Каталог приходит **отфильтрованным по правам ключа**: движок видит только то, что
действительно может вызвать, а не список с отказами. У каждого инструмента в описании
указана цена в кредитах — бюджет считается до вызова, а не по факту.

⚠️ **Владелец определяется ключом.** Назвать чужого пользователя в запросе нельзя.
До 30.08.2026 это было можно — и именно поэтому прежний мост не годился как публичный API.

## Права

| скоуп | что открывает |
|---|---|
| `read:market` | цены, свечи, индикаторы, скор, уровни, нарративы, деривативы |
| `read:korea` | кимчи-премия, листинги Upbit, корейские бумаги |
| `read:us` | акции США, премаркет, гэп-статистика, опционы |
| `read:personal` | свои позиции, портфель, журнал, память |
| `write:personal` | запись в них же |
| `agent:chat` | ответы агента целиком |

Право читать не даёт права писать: это отдельный скоуп.

## Цены

| разряд | что | кредитов |
|---|---|---|
| своя база | цена, индикаторы, скор, уровни, свечи | 1 |
| внешний вызов | акции, токены, опционы, он-чейн | 5 |
| эмбеддинг и песочница | поиск новостей, исполнение кода | 20 |

Месячные кредиты и потолок частоты — по тарифу; текущий расход виден в `GET /v1/usage`.

## Когда кредиты кончились

Приходит `402` с двумя выходами: перейти на тариф выше (в ответе указан следующий и
сколько кредитов он даёт) или дождаться обновления в начале месяца.

⚠️ Счёта за перерасход **нет**: обслуживать в долг значит прислать счёт, которого никто
не ждал. Но и отказ без выхода читался бы как поломка, поэтому ответ всегда называет,
что делать.

## Публикация (для владельца)

```bash
cd mcp && python -m build && python -m twine upload dist/*
```

⚠️ `certifi` в зависимостях вынужденно: на чистом venv без него КАЖДЫЙ вызов падает с
`CERTIFICATE_VERIFY_FAILED` — сборки Python для macOS не читают системное хранилище
сертификатов. Проверено установкой собранного пакета в пустое окружение.
