TAAFT MCP-сервер
Удалённый сервер Model Context Protocol без сохранения состояния для поиска AI-инструментов в каталоге TAAFT.
Сервер предоставляет:
search_tools— поиск по запросу с указанием типа, сортировки и лимита результатов.get_tool— получение публичных сведений об инструменте по slug, возвращённому поиском.
MCP-эндпоинт — POST /mcp. GET /healthz — liveness-эндпоинт, не требующий аутентификации.
Установка
Публичный эндпоинт:
https://theresanaiforthat.com/mcp/
Используется Streamable HTTP, аутентификация не требуется.
Cursor
Корень репозитория оформлен как плагин Cursor. Для локальной разработки плагина:
mkdir -p ~/.cursor/plugins/local
ln -s "$(pwd)" ~/.cursor/plugins/local/taaft
Выполните команду Developer: Reload Window и убедитесь, что taaft появился в разделе Customize. Удалите или отключите вручную настроенный сервер taaft, чтобы избежать дублирования имени.
Claude
Добавьте коннектор напрямую в Claude Code:
claude mcp add --transport http taaft \
https://theresanaiforthat.com/mcp/
Или установите плагин Claude из этого репозитория:
claude plugin marketplace add taaft/mcp
claude plugin install taaft@taaft-plugins
Для Claude.ai и Claude Desktop добавьте пользовательский коннектор в разделе Customize → Connectors, указав публичный эндпоинт и тип аутентификации None.
Codex
Добавьте сервер напрямую в Codex CLI или расширение Codex IDE:
codex mcp add taaft \
--url https://theresanaiforthat.com/mcp/
Для сред Codex с поддержкой плагинов:
codex plugin marketplace add taaft/mcp
codex plugin add taaft@taaft-plugins
Также его можно установить в интерактивном режиме через /plugins. Codex IDE поддерживает прямую настройку MCP, но пока не умеет устанавливать плагины.
ChatGPT
Включите Developer mode, откройте Plugins, нажмите + и зарегистрируйте:
- URL:
https://theresanaiforthat.com/mcp/ - Аутентификация: None
- Транспорт: Streamable HTTP
В репозитории содержится пакет плагина Codex/OpenAI, но для плагина ChatGPT дополнительно требуется файл .app.json, сопоставленный с идентификатором plugin_asdk_app..., который ChatGPT создаёт при регистрации эндпоинта. Этот файл привязан к конкретному аккаунту, поэтому сгенерировать его до регистрации невозможно.
Visual Studio Code
В репозиторий включён файл .vscode/mcp.json: при открытии репозитория в VS Code сервер загружается на уровне workspace. Чтобы установить его глобально без клонирования:
code --add-mcp \
'{"name":"taaft","type":"http","url":"https://theresanaiforthat.com/mcp/"}'
Для фиксированного удалённого эндпоинта расширение VS Code не требуется. Включение в публичную галерею @mcp — это отдельный курируемый процесс в GitHub MCP Registry.
Google Antigravity
После клонирования репозитория:
mkdir -p ~/.gemini/config/plugins
cp -R plugins/antigravity/taaft ~/.gemini/config/plugins/taaft
Плагин использует serverUrl — актуальный ключ Antigravity для удалённых MCP-серверов. Поля транспорта и аутентификации не нужны. После копирования плагина перезапустите Antigravity.
Grok
Grok Build автоматически загружает .grok/config.toml, который подключает входящий в этот репозиторий плагин TAAFT, совместимый с Claude. Чтобы вместо этого добавить удалённый сервер напрямую:
grok mcp add --transport http taaft \
https://theresanaiforthat.com/mcp/
Grok также может явно загрузить упакованный плагин:
grok --plugin-dir ./plugins/claude/taaft
Проверить обнаружение и подключение можно командами grok inspect или grok mcp doctor taaft.
Предварительные требования
- Node.js 22+
- Доступ к внутреннему HTTP API TAAFT
Локальная разработка
npm install
cp .env.example .env
Укажите в .env как минимум TAAFT_API_BASE_URL, затем выполните:
npm run dev
По умолчанию сервис прослушивает http://localhost:3000/mcp.
Адаптер upstream API ожидает:
GET {TAAFT_SEARCH_PATH}?query=...&type=...&sort=...&limit=...GET {TAAFT_TOOL_PATH_TEMPLATE}, где{slug}заменяется на URL-кодированный slug
Поиск может вернуть массив либо объект с ключами tools, results или data. Детали могут быть возвращены напрямую либо под ключом tool или data. Если контракт внутреннего API отличается, измените адаптер в src/taaft-client.ts; не добавляйте новые варианты сопоставления ответов через переменные окружения.
Пример конфигурации клиента:
{
"mcpServers": {
"taaft": {
"url": "https://theresanaiforthat.com/mcp/"
}
}
}
Развёртывание в production
Задайте переменные окружения:
NODE_ENV=productionPUBLIC_BASE_URL— внешний HTTPS-origin сервисаTAAFT_API_BASE_URLи, при необходимости,TAAFT_API_KEY
Сборка и запуск:
docker build -t taaft-mcp .
docker run --rm -p 3000:3000 --env-file .env taaft-mcp
Терминируйте TLS на ingress или балансировщике нагрузки. Приложение не хранит состояние, поэтому его можно запускать в нескольких репликах без sticky sessions. Ограничение частоты запросов настраивайте на уровне ingress: MCP-эндпоинт намеренно оставлен публичным, а лимиты на уровне приложения теряют эффективность с появлением реплик.
Проверка
npm run typecheck
npm test
npm run build
Затем подключитесь через MCP Inspector:
npx @modelcontextprotocol/inspector http://localhost:3000/mcp