iMCP
Um aplicativo macOS que conecta sua vida digital com IA, fornecendo acesso aos serviços de Calendário, Contatos, Localização, Mapas, Mensagens, Lembretes e Clima.
Documentação
iMCP é um aplicativo para macOS que conecta sua vida digital com IA. Ele funciona com Claude Desktop e uma lista crescente de clientes que suportam o Model Context Protocol (MCP).
Recursos
|
| Calendário | Visualize e gerencie eventos de calendário, incluindo a criação de novos eventos com configurações personalizáveis como recorrência, alarmes e status de disponibilidade. |
|---|---|---|
|
| Contatos | Acesse informações de contato sobre você e pesquise seus contatos por nome, número de telefone ou endereço de e-mail. |
|
| Localização | Acesse dados de localização atual e converta entre endereços e coordenadas geográficas. |
|
| Mapas | Fornece serviços de localização, incluindo pesquisa de lugares, rotas, consulta de pontos de interesse, estimativa de tempo de viagem e geração de imagens estáticas de mapas. |
|
| Mensagens | Acesse o histórico de mensagens com participantes específicos dentro de intervalos de datas personalizáveis. |
|
| Lembretes | Visualize e crie lembretes com datas de vencimento, prioridades e alertas personalizáveis em diferentes listas de lembretes. |
|
| Clima | Acesse as condições climáticas atuais, incluindo temperatura, velocidade do vento e condições do tempo para qualquer local. |
Primeiros Passos
Baixe e abra o aplicativo
Primeiro, baixe o aplicativo iMCP (requer macOS 15.3 ou posterior).
Ou, se você tiver o Homebrew instalado, pode executar o seguinte comando:
brew install --cask mattt/tap/iMCP
Ao abrir o aplicativo,
você verá um
ícone na barra de menus.
Clicar neste ícone revela o menu do iMCP, que exibe todos os serviços disponíveis. Inicialmente, todos os serviços aparecerão em cinza, indicando que estão inativos.
O interruptor azul na parte superior indica que o servidor MCP está em execução e pronto para conectar-se a clientes compatíveis com MCP.
Ativar serviços
Para ativar um serviço, clique no ícone dele.
O sistema exibirá um diálogo de permissão.
Por exemplo, ao ativar o acesso ao Calendário, você verá um diálogo perguntando "iMCP" Would Like Full Access to Your Calendar.
Clique em Permitir Acesso Total para continuar.
[!IMPORTANT] O iMCP não coleta nem armazena nenhum dos seus dados. Clientes como o Claude Desktop enviam seus dados para fora do dispositivo como parte das chamadas de ferramentas.
Uma vez ativado, o ícone de cada serviço passa de cinza para suas cores distintas — vermelho para Calendário, verde para Mensagens, azul para Localização e assim por diante.
Repita esse processo para todos os recursos que deseja habilitar. Essas permissões seguem o modelo de segurança padrão da Apple, dando a você controle total sobre quais informações o iMCP pode acessar.
Conectar ao Claude Desktop
Se você não tiver o Claude Desktop instalado, pode baixá-lo aqui.
Abra o Claude Desktop e vá para "Configurações... (⌘,)".
Clique em "Desenvolvedor" na barra lateral do painel de Configurações,
e depois clique em "Editar Configuração".
Isso criará um arquivo de configuração em
~/Library/Application Support/Claude/claude_desktop_config.json.
Para conectar o iMCP ao Claude Desktop,
clique em
> "Configurar Claude Desktop".
Isso adicionará ou atualizará a configuração do servidor MCP para usar o
executável imcp-server incluído no aplicativo.
Outras configurações de servidores MCP no arquivo serão preservadas.
Você também pode configurar o Claude Desktop manualmente
Clique em
> "Copiar comando do servidor para a área de transferência".
Em seguida, abra
claude_desktop_config.json no seu editor
e digite o seguinte:
{
"mcpServers": {
"iMCP": {
"command": "{paste iMCP server command}"
}
}
}
Chamar ferramentas do iMCP pelo Claude Desktop
Saia e reabra o aplicativo Claude Desktop. Você será solicitado a aprovar a conexão.
Após aprovar a conexão, você deve ver agora 🔨12 no canto inferior direito da sua caixa de chat. Clique nisso para ver uma lista de todas as ferramentas disponibilizadas ao Claude pelo iMCP.
Agora você pode fazer perguntas ao Claude que exigem acesso aos seus dados pessoais, como:
"Como está o clima onde estou?"
O Claude usará as ferramentas apropriadas para recuperar essas informações, fornecendo respostas precisas e personalizadas sem exigir que você compartilhe esses dados manualmente durante a conversa.
Conectar ao Claude Code
Para adicionar o iMCP globalmente após instalar o aplicativo:
claude mcp add --scope user iMCP -- /Applications/iMCP.app/Contents/MacOS/imcp-server
Ou importar do Claude Desktop
Se você já configurou o Claude Desktop, pode importar os servidores MCP dele:
claude mcp add-from-claude-desktop
Conectar ao Cursor
Abra este deep link para instalar automaticamente o servidor iMCP:
Conectar ao Amp
Para adicionar o iMCP globalmente (disponível em todos os projetos):
amp mcp add iMCP -- /Applications/iMCP.app/Contents/MacOS/imcp-server
[!NOTE] Quando um cliente se conecta pela primeira vez, o iMCP mostrará um diálogo de aprovação. Clique em "Permitir" e marque "Sempre confiar neste cliente" para evitar avisos repetidos.
Detalhes Técnicos
Aplicativo e CLI
O iMCP é um aplicativo para macOS que inclui um executável de linha de comando, imcp-server.
iMCP.appfornece uma interface para configurar serviços e — o mais importante — uma forma de interagir com as permissões do sistema macOS, para que possa acessar Contatos, Calendário e outras informações.imcp-serverfornece um servidor MCP que usa entrada/saída padrão para comunicação (transporte stdio).
O aplicativo e a CLI comunicam-se entre si na rede local
usando Bonjour para descoberta automática.
Ambos anunciam um serviço com o tipo "_mcp._tcp" e domínio "local".
As solicitações dos clientes MCP são lidas pela CLI de stdin
e repassadas ao aplicativo;
as respostas do aplicativo são recebidas pela CLI e gravadas em stdout.
Consulte StdioProxy
para obter detalhes de implementação.
Para este projeto, criamos o que se tornou o SDK oficial em Swift para servidores e clientes do Model Context Protocol. O aplicativo usa este pacote para lidar com solicitações proxy de clientes MCP.
Acesso ao Banco de Dados do iMessage
A Apple não fornece APIs públicas para acessar suas mensagens.
No entanto, o aplicativo Mensagens no macOS armazena dados em um banco de dados SQLite localizado em
~/Library/Messages/chat.db.
O iMCP é executado no App Sandbox,
o que limita seu acesso a dados do usuário e recursos do sistema.
Quando você for habilitar o serviço de Mensagens,
será solicitado a abrir o arquivo chat.db através do seletor de arquivos padrão.
Ao fazer isso, o macOS adiciona esse arquivo ao sandbox do aplicativo.
NSOpenPanel é mágico assim.
Mas abrir o banco de dados do iMessage é apenas metade da batalha.
Nos últimos anos,
a Apple deixou de armazenar mensagens em texto simples
e passou a usar um formato proprietário typedstream.
Para este projeto, criamos o Madrid:
um pacote Swift para ler seu banco de dados do iMessage.
Ele inclui uma implementação em Swift para decodificar o formato typedstream da Apple,
adaptada do projeto imessage-exporter de Christopher Sardegna
e da postagem de blog sobre engenharia reversa do typedstream.
JSON-LD para Resultados de Ferramentas
As ferramentas fornecidas pelo iMCP retornam resultados como
documentos JSON-LD.
Por exemplo,
a ferramenta fetchContacts usa o Contacts framework,
que representa pessoas e organizações com o tipo CNContact.
Veja como um objeto desse tipo é codificado como JSON-LD:
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Mattt",
"url": "https://mat.tt"
}
Schema.org fornece vocabulários padrão para pessoas, endereços postais, eventos e muitos outros objetos que queremos representar. E JSON-LD é um formato de codificação conveniente para humanos, IA e software convencional.
Para este projeto, criamos o Ontology: um pacote Swift para trabalhar com dados estruturados. Ele inclui inicializadores de conveniência para tipos de frameworks da Apple, como aqueles retornados pelas ferramentas do iMCP.
Depuração
Usando o MCP Inspector
Para depurar interações entre o iMCP e clientes, você pode usar a ferramenta inspector (requer Node.js):
-
Clique em
> "Copiar comando do servidor para a área de transferência"
-
Abra um terminal e execute os seguintes comandos:
# Download and run inspector package on imcp-server npx @modelcontextprotocol/inspector [paste-copied-command] # Open inspector web app running locally open http://127.0.0.1:6274
O Inspector permite ver todas as solicitações e respostas entre o cliente e o servidor iMCP, o que é útil para entender como o protocolo funciona.
Usando o Companion
Companion é um utilitário para testar e depurar seus servidores MCP (requer macOS 15 ou posterior). Ele oferece uma maneira fácil de navegar e interagir com os prompts, recursos e ferramentas de um servidor. Veja como conectá-lo ao iMCP:
- Clique em
> "Copiar comando do servidor para a área de transferência"
- Baixe e abra o aplicativo Companion
- Clique no botão + na barra de ferramentas para adicionar um servidor MCP
- Preencha o formulário:
- Digite "iMCP" como nome
- Selecione "STDIO" como transporte
- Cole o comando do servidor iMCP copiado
- Clique em "Adicionar Servidor"
Agradecimentos
- Justin Spahr-Summers (@jspahrsummers), David Soria Parra (@dsp-ant), e Ashwin Bhat (@ashwin-ant) pelo trabalho no MCP.
- Christopher Sardegna
(@ReagentX)
pela engenharia reversa do formato
typedstreamusado pelo aplicativo Mensagens.
Licença
Este projeto está disponível sob a licença MIT. Consulte o arquivo LICENSE para mais informações.
Legal
iMessage® é uma marca registrada da Apple Inc. Este projeto não é afiliado, endossado ou patrocinado pela Apple Inc.