nuvo-mcp
Дела Nuvo — руками помощника.
MCP-сервер к Nuvo — менеджеру дел, устроенному как область → проект → дело, с чек-листом и тегами. Даёт помощнику двадцать один инструмент: смотреть «Сегодня», заводить и менять дела, дописывать заметки, вести чек-лист, вешать теги, создавать проекты и области.
Сервер ходит в то же HTTP-API, что и приложение, — не в базу. Поэтому он подчиняется правам ключа, всё сделанное видно в приложении сразу и записано в журнал ключа.
Вы: Что у меня сегодня?
Помощник: → today
Сегодня три дела:
• Позвонить в банк · срок 20 октября
• Забрать посылку
• Дописать раздел про оплату
Вы: Дозвонился, привезут в среду. Отметь и запиши.
Помощник: → add_note(3, "Дозвонился, привезут в среду")
→ complete_task(3)
Готово. В заметке появился абзац с сегодняшней датой.
Запуск за три шага
1. Поднимите Nuvo — приложение слушает http://127.0.0.1:8000.
2. Выдайте ключ — «Настройки → Подключение» → «Выдать ключ». Токен показывается один раз.
3. Подключите к своему помощнику. Пример для Claude Code:
claude mcp add nuvo -s user \
-e NUVO_TOKEN=nv_ваш_ключ \
-e NUVO_URL=http://127.0.0.1:8000 \
-- uvx --from git+https://github.com/darenwhite79/nuvo-mcp.git nuvo-mcp
Спросите: «что у меня сегодня?» — должен ответить списком.
Остальные клиенты — Claude Desktop, Cursor, VS Code, Windsurf, Zed — с готовыми блоками настройки: docs/clients.md.
Нужен uv: brew install uv или
curl -LsSf https://astral.sh/uv/install.sh | sh. uvx ставит пакет во
временное окружение сам, Python настраивать не надо.
Настройка
| Переменная | Обязательна | По умолчанию | Что это |
|---|---|---|---|
NUVO_TOKEN |
да | — | Ключ доступа, выдаётся в приложении |
NUVO_URL |
нет | http://127.0.0.1:8000 |
Адрес, на котором поднято приложение |
Ключ без интерфейса — запросом:
curl -X POST http://127.0.0.1:8000/api/keys \
-H 'Content-Type: application/json' \
-d '{"title":"Мой помощник","scopes":"read,create,edit"}'
Права ключа — read, create, edit, delete — ограничивают и помощника:
ключ без edit не даст ничего изменить, и отказ помощник увидит словами.
Что умеет
| Смотреть | |
|---|---|
list_lists |
Проекты, области, теги и отборы — одними названиями |
list_tasks |
Дела с отбором по «когда», проекту или тегу |
today |
Что стоит на сегодня и что просрочено |
search_tasks |
Поиск по названию и заметке — чтобы не плодить дубли |
get_task |
Одно дело целиком: заметка, чек-лист, теги, сроки |
| Заводить и менять | |
|---|---|
create_task |
Новое дело: «когда», срок, проект, теги |
update_task |
Название, заметка целиком, срок |
add_note |
Дописать к заметке абзац с датой — здешняя замена комментариям |
move_task |
Перенести в проект или область |
create_project, create_area |
Завести проект или область |
| Состояние | |
|---|---|
schedule_task |
«Сегодня», «Вечером», «В любое время», «Когда-нибудь» или дата |
complete_task |
Сделано; повторяющееся само родит следующее |
reopen_task |
Вернуть в работу |
log_task |
Убрать завершённое в журнал |
trash_task, restore_task |
В корзину и обратно |
| Чек-лист и теги | |
|---|---|
add_checklist_item, check_checklist_item |
Пункт внутри дела |
tag_task, untag_task |
Повесить и снять тег |
Окончательного удаления у помощника нет намеренно. Корзину чистит человек.
Полные описания, которые видит модель, — в
src/nuvo_mcp/tools.py.
Чтобы помощник вёл дела осмысленно
Сервер сам объясняет клиенту правила: «Сегодня» — обещание сделать сегодня, а не пометка важности; срок и день выполнения — разные вещи; перед созданием дела поискать похожее.
Готовые системные подсказки под свои привычки — docs/prompts.md.
Устройство
src/nuvo_mcp/api.py клиент к HTTP-API и перевод ошибок на человеческий
src/nuvo_mcp/tools.py инструменты обычными функциями + их описания
src/nuvo_mcp/server.py регистрация в MCP и запуск по stdio
Зависимости — только mcp и httpx: пакет самодостаточен и ничего не знает
о приложении, кроме адреса.
Разработка
uv sync
uv run pytest # без сети и без бэкенда: HTTP подменён транспортом httpx
uv run ruff check .
uv run ruff format --check .
Работу против живого API проверяют тесты приложения —
backend/tests/test_mcp.py в nuvo-task-manager.
Лицензия
MIT.
Metadata
Release files for nuvo-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| nuvo_mcp-0.1.0.tar.gz | 78.1 kB | With provenance | Details for nuvo_mcp-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| nuvo_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for nuvo_mcp-0.1.0-py3-none-any.whl |
Total release size: 94.1 kB
Release files / nuvo_mcp-0.1.0.tar.gz
| Download URL | nuvo_mcp-0.1.0.tar.gz |
|---|---|
| Size | 78.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
50c8d058c3383202439541769e19ae49760a45ee9205582a176c009027e4593b
|
|
BLAKE2b-256 checksum How to use checksums |
999dec9353b556f85859757f521f758d7f27d61876546cc7e9b988e8cbd6558d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency logRelease files / nuvo_mcp-0.1.0-py3-none-any.whl
| Download URL | nuvo_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 16.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cb24f9a8c563ea38a4238dc23719c158a12440d44ba2bfe40857cb795aef2ec4
|
|
BLAKE2b-256 checksum How to use checksums |
d62b7922c5d4bd4e0b44380e4bc9f9f1edf1ed1730f5f7f1e10f6a322d81b17a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency logSecurity for nuvo-mcp 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for nuvo_mcp-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.