VOOZH about

URL: https://glama.ai/mcp/servers/MadnessEngineering/fastmcp-todo-server?locale=ru-RU

⇱ FastMCP Todo Server by MadnessEngineering | Glama


Omnispindle

Система задач, которая прошла путь от «замечательно» до «намеренно неправильно».

Omnispindle — это координационный стержень экосистемы Madness Interactive, сервер на Python FastMCP с 33 инструментами, который позволяет ИИ-агентам управлять задачами, фиксировать знания, координировать сессии и перемещаться по всей рабочей среде через единый стандартизированный интерфейс. Упакован в PyPI. Интегрирован с Auth0. Работает везде, где есть конфигурация MCP.

Все начиналось с идеи «давайте делать задачи правильно». Это превратилось в центральную нервную систему для ИИ-лаборатории разработки, объединяющей множество проектов. И то, и другое — вполне нормально.


Что он делает на самом деле

Управление задачами (Todo) — скучная часть, которая делает возможным всё остальное. Агенты могут создавать, запрашивать, обновлять, завершать и проверять задачи в любом проекте экосистемы с полными метаданными, приоритетами, отслеживанием целевого агента и обнаружением изменений.

Фиксация знаний — извлеченные уроки сохраняются с метаданными языка, темы и тегов. Доступен поиск по регулярным выражениям, тексту или векторным эмбеддингам. Институциональная память не испаряется после завершения разговора.

Отслеживание сессий — ИИ-рабочие сессии в Inventorium можно разветвлять, порождать, связывать с задачами и отслеживать через полное генеалогическое древо. У каждой рабочей ветки есть родитель и родословная.

Семантический поискfind_relevant использует векторные эмбеддинги для поиска задач и уроков по смыслу, а не только по ключевым словам. get_context_bundle предоставляет агенту полную картину проекта за один вызов.


Related MCP server: Coding Todo Server

Установка

pip install omnispindle

Команды CLI, доступные после установки:

  • omnispindle-stdio — MCP stdio-сервер для Claude Desktop

  • omnispindle / omnispindle-server — HTTP-веб-сервер для аутентифицированных эндпоинтов

Claude Desktop (без настройки)

Добавьте в claude_desktop_config.json:

{
 "mcpServers": {
 "omnispindle": {
 "command": "omnispindle-stdio",
 "env": {
 "OMNISPINDLE_MODE": "api",
 "OMNISPINDLE_TOOL_LOADOUT": "basic",
 "MCP_USER_EMAIL": "you@example.com"
 }
 }
 }
}

Первый вызов инструмента откроет ваш браузер для входа через Auth0. Токен сохраняется локально. Это всё.

Разработка

git clone https://github.com/DanEdens/Omnispindle.git
cd Omnispindle
pip install -r requirements.txt
python -m src.Omnispindle.stdio_server

Инструменты

Полный набор состоит из 33 инструментов в 6 категориях. Управляйте тем, что доступно — и бюджетом токенов вашего агента — с помощью OMNISPINDLE_TOOL_LOADOUT.

Управление задачами (9 инструментов)

Инструмент

Что он делает

add_todo

Создание задачи с проектом, приоритетом, целевым агентом, заметками и метаданными

query_todos

Запросы фильтрации в стиле MongoDB с проекцией, лимитом, смещением, обнаружением изменений since и graph_root для обхода подграфа зависимостей

update_todo

Исправление любых полей; метаданные объединяются глубоко. Поддерживает $push/$pull для полей массивов (например, metadata.blockers) для связывания зависимостей

delete_todo

Удаление задачи

get_todo

Получение одной задачи по ID

complete_todo

Постановка на проверку с необязательным комментарием; запись в журнал аудита. Устанавливает статус review, а не completed

list_todos_by_status

Фильтрация по статусу: pending, initial, in_progress, blocked, review, completed

search_todos

Токенизированный нечеткий текстовый поиск по нескольким словам

list_project_todos

Недавние задачи для конкретного проекта

Знания / Уроки (7 инструментов)

Инструмент

Что он делает

add_lesson

Фиксация урока с языком, темой и тегами

get_lesson

Получение по ID

update_lesson

Исправление содержимого или метаданных урока

delete_lesson

Удаление

search_lessons

Текстовый поиск по полям уроков

grep_lessons

Поиск по регулярным выражениям

list_lessons

Просмотр всех уроков, с кратким режимом для сводок

Сессии Inventorium (8 инструментов)

Инструмент

Что он делает

inventorium_sessions_list

Список сессий, опционально отфильтрованный по проекту

inventorium_sessions_get

Получение сессии по ID

inventorium_sessions_create

Запуск новой ИИ-рабочей сессии

inventorium_sessions_spawn

Порождение дочерней сессии от родительской, связанной с задачей

inventorium_sessions_fork

Разветвление сессии с опциональным наследованием сообщений

inventorium_sessions_genealogy

Полное отслеживание предков/потомков для сессии

inventorium_sessions_tree

Визуальное дерево сессий для проекта

inventorium_todos_link_session

Связывание задачи с сессией

Контекст и поиск (2 инструмента)

Инструмент

Что он делает

get_context_bundle

Один вызов: недавние задачи, уроки, состояние сессии, статистика проекта для рабочего контекста агента

find_relevant

Семантический RAG-поиск через векторные эмбеддинги — находит связанные задачи и уроки по смыслу

Система / Администрирование (5 инструментов)

Инструмент

Что он делает

query_todo_logs

Запросы к журналу аудита: фильтрация по типу, проекту, диапазону дат

list_projects

Перечисление известных проектов из файловой системы

explain / add_explanation

Система объяснения тем: постоянные карточки знаний

point_out_obvious

Записывает наблюдение с настраиваемым сарказмом. Полезно для маркировки известных проблем во время автоматизированных запусков

Пользовательский код (1 инструмент)

Инструмент

Что он делает

bring_your_own

Внедрение функции Python, JavaScript или shell в качестве живого инструмента MCP во время выполнения


Наборы инструментов (Loadouts)

Установите OMNISPINDLE_TOOL_LOADOUT для управления тем, что зарегистрировано:

Набор

Инструменты

Вариант использования

full

33

Всё

basic

10

Основной CRUD задач + get_context_bundle

minimal

4

Добавление, запрос, получение, отметка о завершении

lessons

7

Только управление знаниями

admin

14

Администрирование + управление сессиями

write_only

6

Только создание/обновление/удаление

read_only

15

Только запрос/получение

lightweight

13

Оптимизированное ядро

agent_preflight

6

Запуск сессии: контекстный пакет, RAG-проверка, операции с задачами


Режимы работы

Устанавливаются через OMNISPINDLE_MODE:

  • api — HTTP-вызовы к madnessinteractive.cc/api. Локальная база данных не нужна. Лучше всего для облачных или многопользовательских настроек.

  • hybrid (по умолчанию) — API-первый подход с резервным копированием в MongoDB. Надежно, когда сеть нестабильна.

  • local — Только прямые подключения к MongoDB. Хорошо для автономной разработки.

  • auto — Сравнивает оба варианта и выбирает более быстрый.


Аутентификация

Устройство без настройки: при первом вызове инструмента открывается окно браузера для входа в Auth0. Токен сохраняется локально. Все последующие вызовы аутентифицируются без какой-либо настройки.

Ручная настройка токена (опционально):

python -m src.Omnispindle.token_exchange

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

  • MADNESS_AUTH_TOKEN или AUTH0_TOKEN — JWT из потока устройства Auth0

  • MCP_USER_EMAIL — требуется для изоляции данных каждого пользователя

  • MADNESS_API_URL — переопределение базового API (по умолчанию: https://madnessinteractive.cc/api)

Все данные ограничены пользователем на уровне базы данных. Ваши задачи остаются вашими.


Конфигурация

# Operation mode
OMNISPINDLE_MODE=hybrid # api | hybrid | local | auto
OMNISPINDLE_TOOL_LOADOUT=basic # see loadouts table above
OMNISPINDLE_FALLBACK_ENABLED=true
OMNISPINDLE_VALIDATE_PROJECT_NAMES=false # optional: enable slower DB-backed project validation

# Authentication
MADNESS_AUTH_TOKEN=<jwt>
MCP_USER_EMAIL=you@example.com

# Local/hybrid database
MONGODB_URI=mongodb://localhost:27017
MONGODB_DB=swarmonomicon

# Real-time events
MQTT_HOST=localhost
MQTT_PORT=1883

Экосистема

Omnispindle — это слой ИИ-интерфейса. Остальная часть мастерской:

Inventorium — веб-панель React и 3D-пространство SwarmDesk. Люди используют это. Оно считывает задачи и сессии напрямую через REST API — не MCP, который предназначен исключительно для ИИ-агентов. Если вы нажимаете кнопки, вы в Inventorium. Если вы агент, вы вызываете инструменты MCP.

cartogomancy — инструмент анализа кодовой базы JS/TS (npm install -g @madnessengineering/cartogomancy). Укажите на любой проект JavaScript или TypeScript; получите богатую JSON-карту структуры, сложности, git blame и перекрестных ссылок. Передайте эту карту в SwarmDesk, и ваша кодовая база станет 3D-городом, по которому можно гулять.

SwarmDesk — слой 3D-визуализации внутри Inventorium. Задачи, сессии и карты кода cartogomancy визуализируются как исследуемая архитектура. Ваш проект как место, а не список.

MadnessVR — версия SwarmDesk для Quest 2 VR. Наденьте гарнитуру, пройдитесь по своей кодовой базе как по реальной геометрии. Это в дорожной карте, а не в примечаниях к выпуску. Но план существует, и он детальный.

Cogwyrm — ИИ-чат-компаньон, интегрированный в экосистему. Использует инструменты Omnispindle MCP во время разговоров для чтения и записи общего контекста.

Swarmonomicon — основной слой базы данных. MongoDB, база данных swarmonomicon. Всё, что должно быть постоянным, живет здесь.

Правило архитектуры

UI (Inventorium, forms, dashboards) → REST API → Database
AI agents (Claude, Cogwyrm, any MCP client) → MCP tools → Backend → Database

Никогда не направляйте UI через MCP. Никогда не вызывайте REST API напрямую из ИИ-агента. Разделение является намеренным и несущим нагрузку.


Разработка

# Tests
pytest tests/

# Stdio server (Claude Desktop)
python -m src.Omnispindle.stdio_server

# Web server
python -m src.Omnispindle

# Check tool count
python -c "from src.Omnispindle.tool_loadouts import _BASE_LOADOUTS; print(len(_BASE_LOADOUTS['full']), 'tools in full loadout')"

Публикация в PyPI

# Build and check
python -m build
python -m twine check dist/*

# Publish
python -m twine upload dist/*

Конфиденциальность и безопасность

Этот репозиторий содержит конфигурации Auth0 и инфраструктуру как код для нашей экосистемы. Он с открытым исходным кодом для обучения и форкинга — не для развертывания «как есть».

Если вы действительно запускаете это для своей собственной настройки:

  1. Сделайте форк

  2. Замените всех поставщиков аутентификации и учетные данные

  3. Укажите на свой собственный домен и базу данных

  4. Проверьте разрешения инструментов (по умолчанию мы разрешаем всё)

Это рабочая система для нашей лаборатории. Для вашей — сделайте её своей.


Философия

Большинство людей создают приложение для задач с 5 функциями. Мы создали одно с 33 инструментами MCP, тремя режимами работы, генеалогическими деревьями сессий, векторными эмбеддингами, OAuth без настройки и дорожной картой, которая включает прогулку по вашему коду в VR.

Это правильный уровень сложности. Каждая часть несет нагрузку.

Работает сейчас:

  • Управление задачами для ИИ-агентов — надежное, проверенное, для каждого пользователя

  • Постоянная фиксация знаний по проектам

  • Отслеживание сессий с полной родословной

  • Семантический поиск через векторные эмбеддинги

  • Auth0 без настройки, не требующий руководства по установке

В планах:

  • MadnessVR: SwarmDesk на Quest 2

  • Обучение промпт-инжинирингу через механику инвентаря в стиле Terraria

  • cartogomancy → SwarmDesk → VR как один непрерывный конвейер

Мы пишем аккуратный код. Мы не боимся раздвигать границы, когда это практично.


«Переусложнено? Возможно. Недостаточно амбициозно? Никогда».

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MadnessEngineering/fastmcp-todo-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server