MCP cover image

MACOS应用程序,可为您的消息,联系人等提供MCP服务器

9

Github Watches

14

Github Forks

383

Github Stars

iMCP

iMCP is a macOS app for connecting your digital life with AI. It works with Claude Desktop and a growing list of clients that support the Model Context Protocol (MCP).

Capabilities

IMCP Assets/calendar.svg Calendar View and manage calendar events, including creating new events with customizable settings like recurrence, alarms, and availability status.
IMCP Assets/contacts.svg Contacts Access contact information about yourself and search your contacts by name, phone number, or email address.
IMCP Assets/location.svg Location Access current location data and convert between addresses and geographic coordinates.
IMCP Assets/messages.svg Messages Access message history with specific participants within customizable date ranges.
IMCP Assets/reminders.svg Reminders View and create reminders with customizable due dates, priorities, and alerts across different reminder lists.
IMCP Assets/weather.svg Weather Access current weather conditions including temperature, wind speed, and weather conditions for any location.

[!TIP] Have a suggestion for a new capability? Reach out to us at imcp@loopwork.com

Getting Started

Download and open the app

First, download the iMCP app (requires macOS 15.3 or later).

IMCP /Assets/imcp-screenshot-first-launch.png

When you open the app, you'll see a IMCP /Assets/icon.svg icon in your menu bar.

Clicking on this icon reveals the iMCP menu, which displays all available services. Initially, all services will appear in gray, indicating they're inactive.

The blue toggle switch at the top indicates that the MCP server is running and ready to connect with MCP-compatible clients.


IMCP /Assets/imcp-screenshot-grant-permission.png

Activate services

To activate a service, click on its icon. The system will prompt you with a permission dialog. For example, when activating Calendar access, you'll see a dialog asking "iMCP" Would Like Full Access to Your Calendar. Click Allow Full Access to continue.

[!IMPORTANT] iMCP does not collect or store any of your data. Clients like Claude Desktop do send your data off device as part of tool calls.


IMCP /Assets/imcp-screenshot-all-services-active.png

Once activated, each service icons goes from gray to their distinctive colors — red for Calendar, green for Messages, blue for Location, and so on.

Repeat this process for all of the capabilities you'd like to enable. These permissions follow Apple's standard security model, giving you complete control over what information iMCP can access.


Connect to Claude Desktop

If you don't have Claude Desktop installed, you can download it here.

Open Claude Desktop and go to "Settings... (,)". Click on "Developer" in the sidebar of the Settings pane, and then click on "Edit Config". This will create a configuration file at ~/Library/Application Support/Claude/claude_desktop_config.json.


To connect iMCP to Claude Desktop, click IMCP /Assets/icon.svg > "Configure Claude Desktop".

This will add or update the MCP server configuration to use the imcp-server executable bundled in the application. Other MCP server configurations in the file will be preserved.

You can also configure Claude Desktop manually

Click IMCP /Assets/icon.svg > "Copy server command to clipboard". Then open claude_desktop_config.json in your editor and enter the following:

{
  "mcpServers" : {
    "iMCP" : {
      "command" : "{paste iMCP server command}"
    }
  }
}
IMCP /Assets/imcp-screenshot-approve-connection.png

Call iMCP tools from Claude Desktop

Quit and reopen the Claude Desktop app. You'll be prompted to approve the connection.

[!NOTE] You may see this dialog twice; click approve both times.


After approving the connection, you should now see 🔨12 in the bottom right corner of your chat box. Click on that to see a list of all the tools made available to Claude by iMCP.

IMCP /Assets/claude-desktop-screenshot-tools-enabled.png

Now you can ask Claude questions that require access to your personal data, such as:

"How's the weather where I am?"

Claude will use the appropriate tools to retrieve this information, providing you with accurate, personalized responses without requiring you to manually share this data during your conversation.

IMCP /Assets/claude-desktop-screenshot-message.png

Technical Details

App & CLI

iMCP is a macOS app that bundles a command-line executable, imcp-server.

  • iMCP.app provides UI for configuring services and — most importantly — a means of interacting with macOS system permissions, so that it can access Contacts, Calendar, and other information.
  • imcp-server provides an MCP server that uses standard input/output for communication (stdio transport).

The app and CLI communicate with each other on the local network using Bonjour for automatic discovery. Both advertise a service with type "_mcp._tcp" and domain "local". Requests from MCP clients are read by the CLI from stdin and relayed to the app; responses from the app are received by the CLI and written to stdout. See StdioProxy for implementation details.

For this project, we created mcp-swift-sdk: a Swift SDK for Model Context Protocol servers and clients. The app uses this package to handle proxied requests from MCP clients.

iMessage Database Access

Apple doesn't provide public APIs for accessing your messages. However, the Messages app on macOS stores data in a SQLite database located at ~/Library/Messages/chat.db.

iMCP runs in App Sandbox, which limits its access to user data and system resources. When you go to enable the Messages service, you'll be prompted to open the chat.db file through the standard file picker. When you do, macOS adds that file to the app’s sandbox. NSOpenPanel is magic like that.

But opening the iMessage database is just half the battle. Over the past few years, Apple has moved away from storing messages in plain text and instead toward a proprietary typedstream format.

For this project, we created Madrid: a Swift package for reading your iMessage database. It includes a Swift implementation for decoding Apple's typedstream format, adapted from Christopher Sardegna's imessage-exporter project and blog post about reverse-engineering typedstream.

JSON-LD for Tool Results

The tools provided by iMCP return results as JSON-LD documents. For example, the fetchContacts tool uses the Contacts framework, which represents people and organizations with the CNContact type. Here's how an object of that type is encoded as JSON-LD:

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Loopwork Limited",
  "url": "https://loop.work"
}

Schema.org provides standard vocabularies for people, postal addresses, events, and many other objects we want to represent. And JSON-LD is a convenient encoding format for humans, AI, and conventional software alike.

For this project, we created Ontology: a Swift package for working with structured data. It includes convenience initializers for types from Apple frameworks, such as those returned by iMCP tools.

Acknowledgments

License

This project is licensed under the Apache License, Version 2.0.

Legal

iMessage® is a registered trademark of Apple Inc.
This project is not affiliated with, endorsed, or sponsored by Apple Inc.

相关推荐

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Yusuf Emre Yeşilyurt
  • I find academic articles and books for research and literature reviews.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • Carlos Ferrin
  • Encuentra películas y series en plataformas de streaming.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • Alexandru Strujac
  • Efficient thumbnail creator for YouTube videos

  • lumpenspace
  • Take an adjectivised noun, and create images making it progressively more adjective!

  • Lists Tailwind CSS classes in monospaced font

  • https://appia.in
  • Siri Shortcut Finder – your go-to place for discovering amazing Siri Shortcuts with ease

  • jae-jae
  • MCP服务器使用剧作《无头浏览器》获取网页内容。

  • ravitemer
  • 一个功能强大的Neovim插件,用于管理MCP(模型上下文协议)服务器

  • Mintplex-Labs
  • 带有内置抹布,AI代理,无代理构建器,MCP兼容性等的多合一桌面和Docker AI应用程序。

  • patruff
  • Ollama和MCP服务器之间的桥梁,使本地LLMS可以使用模型上下文协议工具

  • pontusab
  • 光标与风浪冲浪社区,查找规则和MCP

  • WangRongsheng
  • 🧑‍🚀 llm 资料总结(数据处理、模型训练、模型部署、 o1 模型、mcp 、小语言模型、视觉语言模型)|摘要世界上最好的LLM资源。

  • av
  • 毫不费力地使用一个命令运行LLM后端,API,前端和服务。

  • n8n-io
  • 具有本机AI功能的公平代码工作流程自动化平台。将视觉构建与自定义代码,自宿主或云相结合,400+集成。

  • appcypher
  • 很棒的MCP服务器 - 模型上下文协议服务器的策划列表

  • 1Panel-dev
  • 🔥1Panel提供了直观的Web接口和MCP服务器,用于在Linux服务器上管理网站,文件,容器,数据库和LLMS。

    Reviews

    3 (1)
    Avatar
    user_7A45ST2e
    2025-04-17

    As an avid user of iMCP by loopwork-ai, I can confidently say this tool has revolutionized my workflow. The intuitive interface and comprehensive features make it a standout application in its category. Whether you're automating tasks or integrating complex systems, iMCP seamlessly handles it all, enhancing productivity and efficiency. Highly recommend checking it out! For more information, visit the GitHub page: https://github.com/loopwork-ai/iMCP.