LeashIndex Get the report

Index / messaging

CallRail MCP

io-github-pghdma-callrail-mcp declares 57 capabilities across 57 tools, with 2 critical issues. One of them, no-revocation, is recorded for every server in the index because MCP has no field in which to declare a way to switch a tool off; a missing declaration is not evidence that the control is missing.

95/100 exposureHigh exposure

Manifest recorded 2026-11-03 from tools/list answered by the PyPI package callrail-mcp==1.3.1 (published to PyPI as callrail-mcp, listed in the official MCP registry as io.github.pghdma/callrail-mcp 1.3.1), 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 57 tools

57 of 57 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 · 7 of 57 tools

7 tools are classified as irreversible or destructive and declare no limit. 6 of them are counted only because the server annotated them destructiveHint. In MCP that annotation marks a tool that may make destructive changes rather than only additive ones; it does not say the change cannot be undone.

high · no-expiry · All 57 tools

57 of 57 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 57 tools

57 of 57 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 · 17 of 57 tools

17 tools can modify data and declare no limit.

low · uncapped-read · 33 of 57 tools

33 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
list_accountsread declared
list_companiesread declared
list_trackersread declared
get_trackerread declared
create_trackerwrite inferred
update_trackerwrite inferred
delete_trackerdestructive declared
list_callsread declared
get_callread declared
call_summaryread declared
list_form_submissionsread declared
list_text_messagesread declared
list_usersread declared
get_call_recordingread declared
get_call_transcriptread declared
search_calls_by_numberread declared
update_callwrite inferred
add_call_tagswrite inferred
remove_call_tagsdelete inferred
update_form_submissionwrite inferred
list_tagsread declared
create_tagwrite inferred
update_tagwrite inferred
delete_tagdestructive declared
usage_summaryread declared
call_eligibility_checkread declared
compare_periodsread declared
bulk_update_callsdestructive declared
spam_detectorwrite assumed
get_companyread declared
create_companywrite inferred
update_companywrite inferred
delete_companydestructive declared
get_userread declared
create_userwrite inferred
update_userwrite inferred
delete_userdestructive declared
get_form_submissionread declared
get_text_messageread declared
get_tagread declared
list_integrationsread declared
get_integrationread declared
create_form_submissionwrite inferred
create_outbound_callwrite inferred
create_notificationwrite inferred
update_notificationwrite inferred
delete_notificationdestructive declared
list_notificationsread declared
list_leadsread declared
get_lead_timelineread declared
list_sms_threadsread declared
get_sms_threadread declared
update_sms_threadwrite inferred
call_statsread declared
call_timeseriesread declared
form_statsread declared
get_call_page_viewsread declared
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.