contacts-mcp
Exposes Apple Contacts data, allowing lookup of contacts by phone, email, name, or identifier.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@contacts-mcpfind John Doe's email address"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
contacts-mcp
Local MCP server that exposes Apple Contacts data through a Contacts.framework helper app.
Built entirely by OpenAI GPT-5.4 via Codex.
Install
git clone https://github.com/<your-account>/contacts-mcp.git
cd contacts-mcp
./bootstrap.shRelated MCP server: apple-mcp
Run
npm run startPermissions
Run contacts_permissions once with prompt: true.
The helper app is intended to be built with the project's normal code signing so macOS can attribute Contacts access to a stable app identity.
If the prompt does not appear from inside Codex, launch the helper app directly once:
open ContactsMCPHelperApp/build/Build/Products/Release/ContactsMCPHelperApp.appWhen opened directly, the app will request Contacts access and show a status alert. After that initial grant, the MCP tools can read visible contacts normally.
Lookup behavior is intentionally narrow: contacts_lookup_phone, contacts_lookup_email, and contacts_search_name return zero or more ranked matches, contacts_get_contact fetches one unified contact by identifier, and the server does not expose any write path.
Phone lookup uses the framework predicate first, then falls back to canonical digit matching when needed. Email lookup uses the framework predicate first, then falls back to exact case-insensitive comparison. Name search uses the framework name predicate first, then backfills ranked matches across full name, nickname, organization, and component fields when needed.
MCP config
{
"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"
}
}
}
}Verify
npm run verifyThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/atfinke/contacts-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server