iMCP — это приложение macOS для соединения вашей цифровой жизни с ИИ. Оно работает с Claude Desktop и растущим списком клиентов , которые поддерживают Model Context Protocol (MCP) .
Возможности
[!TIP] Есть предложение по новой возможности? Свяжитесь с нами по а��ресу imcp@loopwork.com
Начиная
Загрузите и откройте приложение
Сначала загрузите приложение iMCP (требуется macOS 15.3 или более поздняя версия).
Открыв приложение, вы увидите значок в строке меню.
Нажатие на этот значок открывает меню iMCP, в котором отображаются все доступные службы. Изначально все службы будут отображаться серым цветом, что означает, что они неактивны.
Синий переключатель вверху указывает на то, что сервер MCP запущен и готов к подключению к клиентам, совместимым с MCP.
Активировать услуги
Чтобы активировать службу, щелкните по ее значку. Система предложит вам диалоговое окно с разрешением. Например, при активации доступа к календарю вы увидите диалоговое окно с вопросом "iMCP" Would Like Full Access to Your Calendar
. Щелкните Разрешить полный доступ, чтобы продолжить.
[!ВАЖНО] iMCP не собирает и не хранит ваши данные. Клиенты, такие как Claude Desktop, отправляют ваши данные с устройства как часть вызовов инструментов.
После активации значки каждой службы меняют цвет с серого на свой собственный: красный для календаря, зеленый для сообщений, синий для местоположения и т. д.
Повторите этот процесс для всех возможностей, которые вы хотите включить. Эти разрешения соответствуют стандартной модели безопасности Apple, предоставляя вам полный контроль над тем, к какой информации iMCP может получить доступ.
Подключиться к Claude Desktop
Если у вас не установлен Claude Desktop, вы можете скачать его здесь .
Откройте Claude Desktop и перейдите в «Настройки... (⌘,)». Нажмите «Разработчик» на боковой панели панели настроек, а затем нажмите «Изменить конфигурацию». Это создаст файл конфигурации в ~/Library/Application Support/Claude/claude_desktop_config.json
.
Чтобы подключить iMCP к Claude Desktop, нажмите > «Настроить Claude Desktop».
Это добавит или обновит конфигурацию сервера MCP для использования исполняемого файла imcp-server
включенного в приложение. Другие конфигурации сервера MCP в файле будут сохранены.
Нажмите > «Копировать команду сервера в буфер обмена». Затем откройте claude_desktop_config.json
в вашем редакторе и введите следующее:
Вызов инструментов iMCP из Claude Desktop
Выйдите и снова откройте приложение Claude Desktop. Вам будет предложено одобрить подключение.
[!ПРИМЕЧАНИЕ] Вы можете увидеть это диалоговое окно дважды; нажмите «Одобрить» оба раза.
После одобрения подключения вы должны увидеть 🔨12 в правом нижнем углу окна чата. Нажмите на него, чтобы увидеть список всех инструментов, доступных Клоду iMCP.
Теперь вы можете задавать Клоду вопросы, требующие доступа к вашим персональным данным, например:
«Какая погода там, где я нахожусь?»
Клод будет использовать соответствующие инструменты для извлечения этой информации, предоставляя вам точные персонализированные ответы, не требуя от вас вручную предоставлять эти данные во время разговора.
Технические подробности
Приложение и CLI
iMCP — это приложение для macOS, которое объединяет исполняемый файл командной строки imcp-server
.
iMCP.app
предоставляет пользовательский интерфейс для настройки служб и, что самое важное, средства взаимодействия с системными разрешениями macOS, чтобы иметь доступ к контактам, календарю и другой информации.imcp-server
предоставляет сервер MCP, который использует стандартный ввод/вывод для связи ( транспорт stdio ).
Приложение и CLI взаимодействуют друг с другом в локальной сети, используя Bonjour для автоматического обнаружения. Оба объявляют службу с типом "_mcp._tcp" и доменом "local". Запросы от клиентов MCP считываются CLI из stdin
и передаются в приложение; ответы от приложения принимаются CLI и записываются в stdout
. Подробности реализации см. в StdioProxy
.
Для этого проекта мы создали mcp-swift-sdk : Swift SDK для серверов и клиентов Model Context Protocol. Приложение использует этот пакет для обработки прокси-запросов от клиентов MCP.
Доступ к базе данных iMessage
Apple не предоставляет публичных API для доступа к вашим сообщениям. Однако приложение Messages на macOS хранит данные в базе данных SQLite, расположенной по адресу ~/Library/Messages/chat.db
.
iMCP работает в App Sandbox , что ограничивает его доступ к пользовательским данным и системным ресурсам. Когда вы включаете службу сообщений, вам будет предложено открыть файл chat.db
через стандартный выбор файлов. Когда вы это сделаете, macOS добавит этот файл в песочницу приложения. NSOpenPanel
— это магия, как эта.
Но открыть базу данных iMessage — это только полдела. За последние несколько лет Apple отошла от хранения сообщений в виде простого текста и перешла на собственный формат typedstream
.
Для этого проекта мы создали Madrid : пакет Swift для чтения вашей базы данных iMessage. Он включает реализацию Swift для декодирования формата typedstream
Apple, адаптированную из проекта imessage-exporter Кристофера Сарденьи и записи в блоге о реверс-инжиниринге typedstream
.
JSON-LD для результатов инструмента
Инструменты, предоставляемые iMCP, возвращают результаты в виде документов JSON-LD . Например, инструмент fetchContacts
использует фреймворк Contacts , который представляет людей и организации с типом CNContact
. Вот как объект этого типа кодируется как JSON-LD:
Schema.org предоставляет стандартные словари для людей, почтовых адресов, событий и многих других объектов, которые мы хотим представить. А JSON-LD — это удобный формат кодирования для людей, ИИ и обычного программного обеспечения.
Для этого проекта мы создали Ontology : пакет Swift для работы со структурированными данными. Он включает удобные инициализаторы для типов из фреймворков Apple, ��апример, возвращаемых инструментами iMCP.
Отладка
Использование MCP-инспектора
Для отладки взаимодействия между iMCP и клиентами можно использовать инструмент инспектора (требуется Node.js):
- Нажмите > «Копировать команду сервера в буфер обмена»
- Откройте терминал и выполните следующие команды:
Этот инструмент позволяет просматривать все запросы и ответы между клиентом и сервером iMCP, что полезно для понимания того, как работает протокол.
Благодарности
- Джастину Спар-Саммерсу ( @jspahrsummers ), Дэвиду Сориа Парре ( @dsp-ant ) и Эшвину Бхату ( @ashwin-ant ) за их работу над MCP.
- Кристоферу Сарденья ( @ReagentX ) за обратную разработку формата
typedstream
, используемого приложением «Сообщения».
Лицензия
Данный проект лицензирован по лицензии Apache License версии 2.0.
Юридический
iMessage® является зарегистрированной торговой маркой Apple Inc.
Этот проект не связан, не одобрен и не спонсируется Apple Inc.
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Приложение для macOS, которое предоставляет сервер MCP для ваших сообщений, контактов и многого другого.
Related MCP Servers
- -securityFlicense-qualityAn MCP server that enables communication with users through Telegram. This server provides a tool to ask questions to users and receive their responses via a Telegram bot.Last updated -116JavaScript
- AsecurityAlicenseAqualityA simple MCP server that can send notifications on mac devices.Last updated -598TypeScriptMIT License
- AsecurityFlicenseAqualityA simple MCP server that enables users to send emails using Resend's API, integrating with tools like Cursor and Claude Desktop for seamless email composition and delivery.Last updated -16321TypeScript
- -securityAlicense-qualityMCP server that integrates with Gmail to enable sending, reading, and managing emails through tools like send-email, trash-email, get-unread-emails, and read-email.Last updated -17PythonGPL 3.0