{
    "name": "Tupik MCP Server",
    "version": "0.1.0",
    "protocol": "jsonrpc",
    "endpoint": "https:\/\/to-pick.ru\/mcp\/server",
    "tools": [
        {
            "name": "tupik_get_me",
            "description": "Проверить личный API-токен Тупика и получить данные текущего пользователя.",
            "inputSchema": {
                "type": "object",
                "properties": {
                    "user_token": {
                        "type": "string",
                        "description": "Личный токен пользователя tpu_... Можно передать вместо Authorization: Bearer."
                    }
                }
            }
        },
        {
            "name": "tupik_create_user",
            "description": "Создать пользователя Тупика для внешнего сервиса. Требует сервисный X-Tupik-Api-Key.",
            "inputSchema": {
                "type": "object",
                "required": [
                    "email",
                    "name"
                ],
                "properties": {
                    "api_key": {
                        "type": "string",
                        "description": "Сервисный API-ключ интеграции."
                    },
                    "email": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "password": {
                        "type": "string"
                    },
                    "slug": {
                        "type": "string"
                    }
                }
            }
        },
        {
            "name": "tupik_issue_user_token",
            "description": "Получить пользовательский токен для существующего пользователя. Требует сервисный X-Tupik-Api-Key.",
            "inputSchema": {
                "type": "object",
                "required": [
                    "email"
                ],
                "properties": {
                    "api_key": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string"
                    },
                    "ttl_days": {
                        "type": "integer"
                    }
                }
            }
        },
        {
            "name": "tupik_update_profile",
            "description": "Обновить профиль пользователя Тупика: имя, описание, роль, компанию, сайт, ЧПУ.",
            "inputSchema": {
                "type": "object",
                "required": [
                    "user_token"
                ],
                "properties": {
                    "user_token": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "about": {
                        "type": "string"
                    },
                    "role": {
                        "type": "string"
                    },
                    "company": {
                        "type": "string"
                    },
                    "website": {
                        "type": "string"
                    },
                    "slug": {
                        "type": "string"
                    },
                    "avatar_image_url": {
                        "type": "string"
                    },
                    "avatar_image_base64": {
                        "type": "string"
                    },
                    "avatar_url": {
                        "type": "string"
                    },
                    "avatar_base64": {
                        "type": "string"
                    }
                }
            }
        },
        {
            "name": "tupik_list_article_categories",
            "description": "Получить список категорий статей Тупика для публикации: category_id, category_title, category_slug и публичный URL категории.",
            "inputSchema": {
                "type": "object",
                "properties": []
            }
        },
        {
            "name": "tupik_publish_article",
            "description": "Создать статью или черновик в Тупике с HTML-текстом, лидом, категорией и обложкой.",
            "inputSchema": {
                "type": "object",
                "required": [
                    "user_token",
                    "title",
                    "content_html"
                ],
                "properties": {
                    "user_token": {
                        "type": "string"
                    },
                    "title": {
                        "type": "string"
                    },
                    "lead": {
                        "type": "string"
                    },
                    "content_html": {
                        "type": "string"
                    },
                    "category_id": {
                        "type": "integer"
                    },
                    "category_title": {
                        "type": "string"
                    },
                    "category_slug": {
                        "type": "string"
                    },
                    "cover_image_url": {
                        "type": "string"
                    },
                    "cover_image_base64": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "publish",
                            "draft"
                        ]
                    },
                    "slug": {
                        "type": "string"
                    }
                }
            }
        },
        {
            "name": "tupik_update_article",
            "description": "Отредактировать свою статью или черновик в Тупике. Передайте article_id или article_slug и только те поля, которые нужно изменить.",
            "inputSchema": {
                "type": "object",
                "required": [
                    "user_token"
                ],
                "properties": {
                    "user_token": {
                        "type": "string"
                    },
                    "article_id": {
                        "type": "integer"
                    },
                    "article_slug": {
                        "type": "string"
                    },
                    "title": {
                        "type": "string"
                    },
                    "lead": {
                        "type": "string"
                    },
                    "content_html": {
                        "type": "string"
                    },
                    "category_title": {
                        "type": "string"
                    },
                    "category_slug": {
                        "type": "string"
                    },
                    "category_id": {
                        "type": "integer"
                    },
                    "cover_image_url": {
                        "type": "string"
                    },
                    "cover_image_base64": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "publish",
                            "draft"
                        ]
                    },
                    "slug": {
                        "type": "string"
                    },
                    "seo_title": {
                        "type": "string"
                    },
                    "seo_description": {
                        "type": "string"
                    },
                    "seo_keywords": {
                        "type": "string"
                    }
                }
            }
        },
        {
            "name": "tupik_delete_article",
            "description": "Удалить свою статью или черновик из публикации. Передайте article_id или article_slug.",
            "inputSchema": {
                "type": "object",
                "required": [
                    "user_token"
                ],
                "properties": {
                    "user_token": {
                        "type": "string"
                    },
                    "article_id": {
                        "type": "integer"
                    },
                    "article_slug": {
                        "type": "string"
                    }
                }
            }
        },
        {
            "name": "tupik_upsert_speaker",
            "description": "Создать или обновить карточку спикера пользователя.",
            "inputSchema": {
                "type": "object",
                "required": [
                    "user_token",
                    "name"
                ],
                "properties": {
                    "user_token": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "short_position": {
                        "type": "string"
                    },
                    "city": {
                        "type": "string"
                    },
                    "can_travel": {
                        "type": "boolean"
                    },
                    "topics": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "formats": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "about": {
                        "type": "string"
                    },
                    "conditions": {
                        "type": "string"
                    },
                    "website": {
                        "type": "string"
                    },
                    "video_url": {
                        "type": "string"
                    },
                    "photo_url": {
                        "type": "string"
                    },
                    "photo_base64": {
                        "type": "string"
                    }
                }
            }
        },
        {
            "name": "tupik_create_event",
            "description": "Добавить конференцию или мероприятие в Тупик. Мероприятие уходит на модерацию.",
            "inputSchema": {
                "type": "object",
                "required": [
                    "user_token",
                    "title",
                    "event_date",
                    "format",
                    "event_type",
                    "city",
                    "lead",
                    "source_url"
                ],
                "properties": {
                    "user_token": {
                        "type": "string"
                    },
                    "title": {
                        "type": "string"
                    },
                    "event_type": {
                        "type": "string"
                    },
                    "event_date": {
                        "type": "string"
                    },
                    "event_date_end": {
                        "type": "string"
                    },
                    "city": {
                        "type": "string"
                    },
                    "format": {
                        "type": "string"
                    },
                    "topics": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "lead": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "source_url": {
                        "type": "string"
                    },
                    "needs_speakers": {
                        "type": "string"
                    },
                    "speaker_terms": {
                        "type": "string"
                    },
                    "deadline": {
                        "type": "string"
                    },
                    "cover_image_url": {
                        "type": "string"
                    },
                    "cover_image_base64": {
                        "type": "string"
                    }
                }
            }
        },
        {
            "name": "tupik_update_event",
            "description": "Отредактировать своё мероприятие или конференцию. Передайте event_id или event_slug и только те поля, которые нужно изменить.",
            "inputSchema": {
                "type": "object",
                "required": [
                    "user_token"
                ],
                "properties": {
                    "user_token": {
                        "type": "string"
                    },
                    "event_id": {
                        "type": "integer"
                    },
                    "event_slug": {
                        "type": "string"
                    },
                    "title": {
                        "type": "string"
                    },
                    "event_type": {
                        "type": "string"
                    },
                    "event_date": {
                        "type": "string"
                    },
                    "event_date_end": {
                        "type": "string"
                    },
                    "city": {
                        "type": "string"
                    },
                    "format": {
                        "type": "string"
                    },
                    "topics": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "lead": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "conditions": {
                        "type": "string"
                    },
                    "source_url": {
                        "type": "string"
                    },
                    "needs_speakers": {
                        "type": "string"
                    },
                    "speaker_terms": {
                        "type": "string"
                    },
                    "deadline": {
                        "type": "string"
                    },
                    "cover_image_url": {
                        "type": "string"
                    },
                    "cover_image_base64": {
                        "type": "string"
                    },
                    "slug": {
                        "type": "string"
                    }
                }
            }
        },
        {
            "name": "tupik_delete_event",
            "description": "Удалить своё мероприятие или конференцию. Передайте event_id или event_slug.",
            "inputSchema": {
                "type": "object",
                "required": [
                    "user_token"
                ],
                "properties": {
                    "user_token": {
                        "type": "string"
                    },
                    "event_id": {
                        "type": "integer"
                    },
                    "event_slug": {
                        "type": "string"
                    }
                }
            }
        },
        {
            "name": "tupik_subscribe_events",
            "description": "Создать подписку на новые конференции по темам, городам, форматам и типам.",
            "inputSchema": {
                "type": "object",
                "required": [
                    "user_token"
                ],
                "properties": {
                    "user_token": {
                        "type": "string"
                    },
                    "title": {
                        "type": "string"
                    },
                    "topics": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "cities": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "formats": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "event_types": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "needs_speakers": {
                        "type": "string"
                    },
                    "date_from": {
                        "type": "string"
                    },
                    "date_to": {
                        "type": "string"
                    }
                }
            }
        }
    ]
}