联系人数据服务

一个本地MCP服务器,通过Contacts.framework辅助应用程序暴露苹果联系人数据,适用于需要读取联系人信息的开发场景。

  • by atfinke
  • Swift
  • 本地部署
  • 更新于
在 GitHub 查看 atfinke/contacts-mcp

使用说明

联系mcp

本地MCP服务器,通过 Contacts.framework 助手应用程序。

完全由OpenAI GPT-5.4通过Codex构建。

安装

git clone https://github.com/<your-account>/contacts-mcp.git
cd contacts-mcp
./bootstrap.sh

跑

npm run start

权限

跑 contacts_permissions 曾经与 prompt: true.

助手应用程序旨在使用项目的正常代码签名构建,以便macOS可以将联系人访问权限归因于稳定的应用程序身份。

如果Codex内部没有出现提示,请直接启动助手应用程序一次:

open ContactsMCPHelperApp/build/Build/Products/Release/ContactsMCPHelperApp.app

直接打开时,该应用程序将请求联系人访问并显示状态警报。在初始授权之后,MCP工具可以正常读取可见触点。

查找行为有意缩小范围: contacts_lookup_phone, contacts_lookup_email,以及 contacts_search_name 返回零个或多个排名匹配, contacts_get_contact 通过标识符获取一个统一的联系人,服务器不公开任何写入路径。

电话查找首先使用框架谓词,然后在需要时回退到规范数字匹配。电子邮件查找首先使用框架谓词,然后退回到精确的不区分大小写的比较。 名称搜索首先使用框架名称谓词,然后在需要时回填全名、昵称、组织和组件字段中的排名匹配。

MCP配置

{
  "mcpServers": {
    "contacts": {
      "command": "node",
      "args": ["/absolute/path/to/contacts-mcp/dist/index.js"],
      "env": {
        "CONTACTS_MCP_HELPER_APP_PATH": "/absolute/path/to/contacts-mcp/ContactsMCPHelperApp/build/Build/Products/Release/ContactsMCPHelperApp.app"
      }
    }
  }
}

验证

npm run verify