LeashIndex Get the report

Index / messaging

Spur

com-usespur-spur declares 87 capabilities across 87 tools, with 3 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.

100/100 exposureHigh exposure

Manifest recorded 2026-10-28 from tools/list on https://mcp.usespur.com/mcp, published in the official MCP registry as com.usespur/spur 1.0.0. 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 87 tools

87 of 87 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 · 26 of 87 tools

26 tools are classified as irreversible or destructive and declare no limit. 16 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.

critical · uncapped-spend · 3 of 87 tools

3 tools are classified as moving money and declare no dollar limit. A cap on the number of payments does not bound their amount.

high · no-expiry · All 87 tools

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

87 of 87 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 · 16 of 87 tools

16 tools can modify data and declare no limit.

low · uncapped-read · 45 of 87 tools

45 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
spur_search_propertiesread declared
spur_parse_search_queryread declared
spur_get_propertyread declared
spur_save_propertiesread inferred
spur_list_saved_propertiesread declared
spur_get_property_statsread declared
spur_find_ownersread declared
spur_get_ownerread declared
spur_enrichdestructive declared
spur_list_property_listsread declared
spur_create_property_listread inferred
spur_add_properties_to_listread inferred
spur_draft_messagesend inferred
spur_list_workflowsread declared
spur_get_workflowread declared
spur_create_workflowwrite inferred
spur_set_workflow_step_templatewrite inferred
spur_set_workflow_activedestructive declared
spur_enroll_owners_in_workflowdestructive declared
spur_send_smsdestructive declared
spur_list_sms_conversationsread declared
spur_get_sms_conversationread declared
spur_get_outreach_reportread declared
spur_list_message_templatesread declared
spur_get_message_templateread declared
spur_preview_message_templateread declared
spur_preview_message_draftread declared
spur_create_email_templatesend inferred
spur_update_email_templatesend inferred
spur_create_sms_templatesend inferred
spur_update_sms_templatesend inferred
spur_delete_message_templatedestructive declared
spur_send_test_emailsend inferred
spur_list_postcard_templatesread declared
spur_get_postcard_templateread declared
spur_preview_postcard_templateread declared
spur_create_postcard_templatewrite inferred
spur_update_postcard_templatewrite inferred
spur_add_postcard_qr_codewrite inferred
spur_remove_postcard_qr_codedelete inferred
spur_delete_postcard_templatedestructive declared
spur_list_return_addressesread declared
spur_preview_postcard_campaignread declared
spur_send_postcardsdestructive declared
spur_list_qr_codesread declared
spur_create_qr_codewrite inferred
spur_update_qr_codewrite inferred
spur_delete_qr_codedestructive declared
spur_get_qr_code_activityread declared
spur_list_imagesread declared
spur_save_imagewrite assumed
spur_upload_imageread declared
spur_save_uploaded_imagewrite inferred
spur_delete_imagedestructive declared
spur_list_letter_templatesread declared
spur_get_letter_templateread declared
spur_preview_letter_templateread declared
spur_create_letter_templatewrite inferred
spur_update_letter_templatewrite inferred
spur_delete_letter_templatedestructive declared
spur_preview_letter_campaignread declared
spur_send_lettersdestructive declared
spur_get_billing_summaryread declared
spur_list_campaignsread declared
spur_get_campaign_statsread declared
spur_get_direct_mail_analyticsread declared
spur_show_billing_optionsread declared
spur_top_up_walletwrite inferred
spur_change_plandestructive declared
spur_check_paymentpay inferred
spur_manage_billingwrite assumed
spur_set_auto_rechargedestructive declared
spur_list_search_automationsread declared
spur_create_search_automationread inferred
spur_run_search_automationdestructive declared
spur_get_automation_logsread declared
spur_get_texting_setupread declared
spur_search_phone_numbersread declared
spur_buy_phone_numberpay inferred
spur_set_default_phone_numberwrite inferred
spur_release_phone_numberdestructive declared
spur_save_texting_registrationwrite inferred
spur_submit_texting_registrationdestructive declared
spur_pay_texting_feespay inferred
spur_resend_texting_verificationwrite assumed
searchread declared
fetchread 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.