TextForge
TextForge даёт ассистенту доступ к почте с обязательным подтверждением перед отправкой
Что умеет
- Читать и искать письма и вложения в почтовом ящике
- Составлять и редактировать черновики ответов
- Синхронизировать треды и весь почтовый ящик
- Просматривать историю действий с черновиком
- Искать переписку по контакту или содержимому
Какие данные видит
Ассистент читает почту пользователя по правам подключённого Gmail-аккаунта; отправка писем требует ручного подтверждения.
Нужен ли аккаунт
Не нужен: сервер работает без входа
TextForge — хостируемый MCP-сервер для работы с Gmail через ассистента: чтение писем, поиск по переписке, работа с вложениями и составление черновиков ответов. Ни одно письмо не уходит без явного одобрения пользователя — это ключевое ограничение сервиса.
Как подключить
Как подключить TextForge к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://textforge.run.tools
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить TextForge к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://textforge.run.tools
- Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
- Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
- Откройте Настройки → Коннекторы и нажмите Создать (Create).
- Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
- В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
- В новом чате откройте + → Приложения/Коннекторы и включите коннектор.
Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.
Авторизация
При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить TextForge к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://textforge.run.tools
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (22)
Технические названия из tools/list. Нужны только разработчикам.
| sync_thread | Sync a thread from the email provider to fetch any new messages. Use this before composing a reply to ensure you have the latest conversation context. Requires 'threads:sync' permission. |
| delete_draft | Permanently delete a draft. Only drafts that will not be sent can be deleted: Draft (not yet submitted), Rejected, Expired, or SendFailed status. Cannot delete drafts that are PendingApproval, Approved, or Sent. |
| submit_draft | Submit a draft for human approval. Note: create_draft automatically submits, so this is only needed for drafts that were not auto-submitted. |
| import_thread | Import a specific thread by its provider thread ID (e.g., Gmail thread ID from search_messages). If the thread already exists locally, syncs it instead. Use after search_messages when get_thread_by_external_id returns 'not found'. Requires 'threads:sync' permission. |
| get_thread | Get full details of a specific email thread including messages. By default returns the latest 5 messages with quoted reply content stripped to reduce payload size. Set maxMessages=0 for all messages, stripQuotedReplies=false for full body text. Returns pre-computed threading headers (In-Reply-To, References) needed for proper email threading. |
| search_messages | Search provider threads using delegated search syntax. Returns thread summaries only (thread ID, snippet). Use get_thread to fetch full messages. Requires 'threads:read' permission. |
| list_message_attachments | List attachments for a received email message. Returns attachment metadata including filename, MIME type, and size. Use get_attachment_download_url to download content. |
| get_thread_by_external_id | Look up a thread by the provider's thread ID. By default returns the latest 5 messages with quoted reply content stripped. Set maxMessages=0 for all messages, stripQuotedReplies=false for full body text. Useful when you have a thread ID from provider API responses or email headers. |
| get_draft_activity | Get the complete activity history for a draft, including creation, updates, approval/rejection, and sending events. |
| get_draft | Get detailed information about a specific draft including subject, body, recipients, status, and approval history. |
| remove_draft_attachment | Remove an attachment from a draft email. The attachment will be permanently deleted. |
| reject_draft | Reject a draft that is pending approval. Only drafts in 'PendingApproval' status can be rejected. Use this to withdraw a draft that should not be sent. |
| list_engaged_threads | List threads where you have previously sent at least one message, ordered by most recent activity. Use this to find conversations you are actively participating in. |
| sync_inbox | Trigger a full inbox sync to discover new threads and update existing ones from the email provider. Like hitting refresh in an email client. Use this when you need to find recently arrived emails that aren't yet in TextForge. Requires 'threads:sync' permission. |
| get_draft_attachment_upload_url | Get a presigned URL to upload an attachment to a draft. The URL is single-use and expires in 10 minutes. Use HTTP PUT to upload raw file bytes to the returned URL. |
| get_attachment_download_url | Get a presigned URL to download an attachment. The URL expires in 10 minutes. Works for both message attachments and draft attachments. |
| list_threads | List email threads (conversations) for the authenticated user's organization. Threads are created when emails are sent and track both outbound and inbound messages. Use this to find threads for context when composing replies. |
| update_draft | Update an existing draft's content. Only drafts in 'Draft' or 'PendingApproval' status can be updated. |
| create_draft | Create a new email draft and submit it for human approval. This is the primary way for LLM agents to initiate the email sending workflow. The draft will be created and automatically submitted for approval. To create a reply to an existing thread, provide either threadId or externalThreadId. |
| list_draft_attachments | List attachments currently attached to a draft email. Returns attachment metadata including filename, MIME type, size, and upload time. |
| search_threads_by_contact | Search for email threads involving a specific contact (email address). Searches across From, To, and CC fields of all messages in threads. Useful for finding all email history with a particular person or company. |
| list_drafts | List email drafts with optional filtering by status or recipient email. Returns paginated results with draft metadata including subject, status, recipients, and creation info. |