В этом репозитории есть два совершенно отдельных пути кода, которые создают статью DEV.to. Одним из них являетсяPublish_devto.py, автономный скрипт, который вызывается напрямую подпрограммой запланированной публикации. Другой — create_article, инструмент на сервере MCP, предназначенный для...
В этом репозитории есть два совершенно отдельных пути кода, которые создают статью DEV.to. Одним из них являетсяPublish_devto.py, автономный скрипт, который вызывается напрямую подпрограммой запланированной публикации. Другой — create_article, инструмент на сервере MCP, предназначенный для интерактивного использования из Claude Desktop. Они отправляют сообщения в одну и ту же конечную точку, создают почти одинаковую полезную нагрузку JSON и — до сегодняшнего дня — только один из них знал, что DEV.to отклоняет более 4 тегов.
#publish_devto.py
tags = [t.strip() для t в мета.get("tags", "").replace(",", " ").split() if t.strip()][:4]
# server.py, create_article — до исправления
если теги:
полезная нагрузка["статья"]["теги"] = теги
Нет [:4]. Какой бы список ни передал вызывающий абонент, он попадал прямо в тело POST.
Как я на самом деле это подтвердил, а не просто прочитал
Прочитать две похожие строки кода и заметить, что в одной есть фрагмент, а в другой нет, — это пятисекундная разница. Он не говорит вам, является ли отсутствующий фрагмент настоящей ошибкой или различием без разницы - возможно, вызывающая сторона все равно всегда передает 4 или меньше тегов, возможно, DEV.to просто игнорирует дополнительные теги на стороне сервера. Я не хотел публиковать «эти две функции выглядят по-разному», не проверив, что происходит, когда они на самом деле расходятся.
Стью