Skip to main content

nuvo-mcp

Дела Nuvo — руками помощника.

Проверки Python 3.11+ MCP Лицензия MIT

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)

Source distribution for nuvo-mcp 0.1.0
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)

Table of built distributions (wheels) for nuvo-mcp 0.1.0
File Interpreter ABI Platform Actions
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 log

Release 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 log

Security 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.

Select from 2 files

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 log

A 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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page