LeashIndex Get the report

Index / crm

Apple Contacts

io-github-jonathanrreed-apple-contacts-mcp declares 16 capabilities across 16 tools, with 2 critical issues.

49/100 exposureElevated

Manifest recorded 2026-10-22 from tools/list answered by the PyPI package apple-contacts-mcp==1.1.3 (published to PyPI as apple-contacts-mcp, listed in the official MCP registry as io.github.JonathanRReed/apple-contacts-mcp 1.1.3), run in an isolated container with no network access and placeholder credentials. The date changes only when the manifest does. Not verified by a maintainer.

Issues

These describe what this server's manifest declares. A product can provide controls that MCP has no way to express — token revocation, an admin console, audit logs — and this page cannot see them. The absence of a declaration is not evidence that a control is absent.

critical · no-revocation · All 16 tools

16 of 16 tools declare no way for the customer to switch them off once granted. This applies to every tool because MCP has no field in which to declare a revocation mechanism; the product may provide one outside MCP that a manifest cannot show.

critical · irreversible-uncapped · 2 of 16 tools

2 tools are classified as irreversible and declare no limit.

high · no-expiry · All 16 tools

16 of 16 tools declare no expiry. This applies to every tool because MCP has no field in which to declare an expiry; the product may provide one outside MCP that a manifest cannot show.

high · no-audit-trail · All 16 tools

16 of 16 tools declare no record of their actions that the customer can read. This applies to every tool because MCP has no field in which to declare an audit requirement; the product may provide one outside MCP that a manifest cannot show.

high · uncapped-write · 1 of 16 tools

1 tool can modify data and declares no limit.

low · uncapped-read · 13 of 16 tools

13 tools can read data and declare no limit.

Declared capabilities

How each tool was read. declared means the server's own annotation said so — self-reported and unverified. inferred is from the tool's name. assumed means nothing indicated either way.

ToolRead asBasis
contacts_healthread declared
contacts_permission_guideread declared
contacts_recheck_permissionsread declared
contacts_list_contactsread declared
contacts_search_contactsread declared
contacts_get_contactread declared
contacts_resolve_message_recipientread declared
contacts_find_duplicatesread declared
contacts_suggest_merge_candidatesread declared
contacts_create_contactwrite inferred
contacts_update_contactdestructive declared
contacts_delete_contactdestructive declared
contacts_list_promptsread declared
contacts_get_promptread declared
search_toolsread declared
get_tool_inforead declared

Record history

Earlier records for this server. A correction is added here, never written over the record it corrects.

RecordedExposureSource
2026-10-1543 tools/list answered by the PyPI package apple-contacts-mcp==1.1.2 (published to PyPI as apple-contacts-mcp, listed in the official MCP registry as io.github.JonathanRReed/apple-contacts-mcp 1.1.2), run in an isolated container with no network access and placeholder credentials
2026-10-1343 tools/list answered by the PyPI package apple-contacts-mcp==1.1.1 (published to PyPI as apple-contacts-mcp, listed in the official MCP registry as io.github.JonathanRReed/apple-contacts-mcp 1.1.1), run in an isolated container with no network access and placeholder credentials
Answering this question about your own agent? The self-serve stack report applies the same reading to your own stack or server and gives you a dated document you can hand to a customer's security review. It is generated in your browser, with nobody to wait for. Buying one does not change this page, its score or its place in the index — see Independence.
Maintain this server? If this page misreads your manifest, or your server has changed, submit its current tools/list response and it will be re-scored and dated. Corrections are published alongside the original, not in place of it.