Skip to content

Callpaymin

io.github.callpaymin/callpaymincallpayminstreamable-httpv1.0.1Scanned

Find experts, check availability, and book pay-per-minute calls on Callpaymin.

68 tools: 28 can delete or cancel things, 1 do something that can't be undone, 5 change things and 34 only read.

Tools: 28 delete, 1 irreversible, 5 write, 34 read.
  • Reads private data · 9
  • Reads text others write · 27
  • Can send data out · 4
  • 6 findings

Anlyon alternative

34 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

68 tools

Deletes or cancels 28Claude Code: deny
  • add_fundsMONEY-MOVING.Reads text others writeNo findings

    Why it is in this group

    • The name "add_funds" says "add": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    MONEY-MOVING. Charges the saved card through the existing NMI wallet top-up and credits the wallet. acknowledgedAmountUsd is the wallet credit. The card charge can be higher when a processing fee applies. No card number is accepted. Requires an idempotency key.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: true
  • add_payment_methodCard numbers, bank details, and vault tokens are not accepted over MCP.Reads text others writeNo findings

    Why it is in this group

    • The name "add_payment_method" says "add": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Card numbers, bank details, and vault tokens are not accepted over MCP. Add a card on the Callpaymin billing page. This tool is not yet supported. Nothing is read or changed.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • add_payout_methodBank account numbers and Wise/Airwallex beneficiary details are not accepted over MCP.Reads text others writeNo findings

    Why it is in this group

    • The name "add_payout_method" says "add": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Bank account numbers and Wise/Airwallex beneficiary details are not accepted over MCP. Add a payout method in settings. This tool is not yet supported. Nothing is read or changed.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • apply_referral_codeLinks your account to a referrer.No findings

    Why it is in this group

    • The name "apply_referral_code" says "apply": a word for a change.
    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Links your account to a referrer. Does nothing unless confirm=true. Uses the existing referral linker.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • cancel_bookingDESTRUCTIVE.Reads text others writeNo findings

    Why it is in this group

    • The name "cancel_booking" says "cancel": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    DESTRUCTIVE. Cancels a booking you are part of. Does nothing unless confirm=true. Other people's bookings are not found.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: true
  • clear_do_not_disturbThe call router does not read a do-not-disturb window, so there is nothing to clear.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "call": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    The call router does not read a do-not-disturb window, so there is nothing to clear. This tool is not yet supported. Nothing is read or changed.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • create_bookingMONEY-MOVING.Reads text others writeNo findings

    Why it is in this group

    • The name "create_booking" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    MONEY-MOVING. Schedules a paid call as the signed-in user. Without confirm=true this only returns a quote. To book, pass confirm=true and acknowledgedCostUsd equal to estimatedCostUsd. The wallet is charged when the call happens, not now.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • create_meeting_roomCreates a meeting room through the meetings service for the signed-in expert.No findings

    Why it is in this group

    • The name "create_meeting_room" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Creates a meeting room through the meetings service for the signed-in expert. Does nothing unless confirm=true. An idempotency key replays the same room.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • disable_auto_rechargeTurns off wallet auto-recharge.No findings

    Why it is in this group

    • The name "disable_auto_recharge" says "disable": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Turns off wallet auto-recharge. Does nothing unless confirm=true.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • end_callCancels an incoming invite you created.No findings

    Why it is in this group

    • The name "end_call" says "call": a word for a change.
    • The description's first verb is "cancel": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Cancels an incoming invite you created. A connected call is not ended here, because the cleanup path bills a duration from the live session clock. Does nothing unless confirm=true.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • end_meeting_roomCloses your meeting room and runs the existing final billing for participants who are still in it.No findings

    Why it is in this group

    • The description's first verb is "close": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Closes your meeting room and runs the existing final billing for participants who are still in it. Does nothing unless confirm=true.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • join_meeting_roomJoining a room needs a mediasoup WebRTC client.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Joining a room needs a mediasoup WebRTC client. MCP cannot open that media path or start meeting billing. This tool is not yet supported. Nothing is read or changed.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • mute_participantMute is a mediasoup host command.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Mute is a mediasoup host command. MCP cannot reach the media server, so nobody is muted. This tool is not yet supported. Nothing is read or changed.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • post_jobDESTRUCTIVE.Reads text others writeCan send data outNo findings

    Why it is in this group

    • The name "post_job" says "post": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe name "post_job" says "post": it sends or publishes something to other people.
    Description, as the server wrote it
    DESTRUCTIVE. Creates a job in pending_review, the same hold the website uses before an admin approves it. It is not added to the public board. Does nothing unless confirm=true, and then requires an idempotency key. The invite link is returned once.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • rate_callReviews are submitted by the post-call review API, which checks that you were on the call.Reads text others writeNo findings

    Why it is in this group

    • The name "rate_call" says "call": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Reviews are submitted by the post-call review API, which checks that you were on the call. That check is not wired here, so no review is stored. This tool is not yet supported. Nothing is read or changed.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • request_payoutMONEY-MOVING.Reads text others writeNo findings

    Why it is in this group

    • The name "request_payout" says "request": a word for a change.
    • The name "request_payout" also says "payout": a word that usually means money moves, which cannot be taken back.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    MONEY-MOVING. Reserves releasable earnings and opens the same admin-approval payout request the expert payout page creates. Airwallex is submitted, or a Wise transfer is marked for manual payment, only when staff approves it. Stripe is not a payout rail here. acknowledgedAmountUsd must equal amount. Requires an idempotency key. Pass destinationId when more than one payout method is saved.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: true
  • request_refundRefunds are applied through the admin refund ledger.Reads text others writeNo findings

    Why it is in this group

    • The name "request_refund" says "request": a word for a change.
    • The name "request_refund" also says "refund": a word that usually means money moves, which cannot be taken back.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Refunds are applied through the admin refund ledger. This tool does not create a second refund path. This tool is not yet supported. Nothing is read or changed.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • respond_to_jobJob proposals are stored by the jobs product.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Job proposals are stored by the jobs product. MCP does not submit one. This tool is not yet supported. Nothing is read or changed.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • send_messageSending a message can be billed after the free allowance.Reads text others writeCan send data outNo findings

    Why it is in this group

    • The name "send_message" says "send": a word for sending, and what is sent cannot be taken back.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe name "send_message" says "send": it sends or publishes something to other people.
    Description, as the server wrote it
    Sending a message can be billed after the free allowance. The chat writer is not wired to MCP, so no message is stored. This tool is not yet supported. Nothing is read or changed.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • send_support_ticketThere is no support-desk API in this app.Reads text others writeCan send data outNo findings

    Why it is in this group

    • The name "send_support_ticket" says "send": a word for sending, and what is sent cannot be taken back.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe name "send_support_ticket" says "send": it sends or publishes something to other people.
    Description, as the server wrote it
    There is no support-desk API in this app. MCP will not pretend a ticket was filed. This tool is not yet supported. Nothing is read or changed.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • set_auto_rechargeMONEY-MOVING.Reads text others writeNo findings

    Why it is in this group

    • The name "set_auto_recharge" says "set": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    MONEY-MOVING. Turns on the wallet auto-recharge the billing page already uses. Without confirm=true this only previews. To enable it, pass confirm=true and acknowledgedAmountUsd equal to the recharge amount. The card on file may be charged later when the balance drops under the threshold.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: true
  • set_do_not_disturbThe call router does not read a do-not-disturb window.Reads text others writeNo findings

    Why it is in this group

    • The name "set_do_not_disturb" says "set": a word for a change.
    • The input addresses people (input.to): what it sends cannot be taken back.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    The call router does not read a do-not-disturb window. Setting one here would not change who can reach you. This tool is not yet supported. Nothing is read or changed.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • start_callMONEY-MOVING.Reads text others write1 finding

    Why it is in this group

    • The name "start_call" says "start": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Info

      The description mentions "credentials".

      Matched text

      description: "...not when this invite is written. Media credentials are not returned. acknowledgedAmountUsd..."

      What this check looks for
    Description, as the server wrote it
    MONEY-MOVING. Creates the same incoming call invite the call screen creates, so the expert is rung. Billing starts when the call connects in the app, not when this invite is written. Media credentials are not returned. acknowledgedAmountUsd must equal ratePerMinuteUsd. Requires an idempotency key.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • start_chatConsumer chat billing, including the first 10 free messages, is tied to the chat product session and is not wired to MCP.Reads text others writeNo findings

    Why it is in this group

    • The name "start_chat" says "start": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Consumer chat billing, including the first 10 free messages, is tied to the chat product session and is not wired to MCP. This tool is not yet supported. Nothing is read or changed.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • submit_applicationExpert applications go through the signup flow, including document upload and review email.Reads text others writeNo findings

    Why it is in this group

    • The name "submit_application" says "submit": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Expert applications go through the signup flow, including document upload and review email. MCP will not mark an application submitted. This tool is not yet supported. Nothing is read or changed.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • toggle_recordingRecording is controlled by the meeting room service.Reads text others writeNo findings

    Why it is in this group

    • The name "toggle_recording" says "toggle": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Recording is controlled by the meeting room service. MCP does not start or stop a recording. This tool is not yet supported. Nothing is read or changed.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • unfavorite_expertRemoves an expert from your favorites.1 finding

    Why it is in this group

    • The description's first verb is "remove": a word for removing or ending something.
    • The server marks it not destructive (destructiveHint: false), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "unfavorite_expert" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "remove": a word for removing or ending something.

      What this check looks for
    Description, as the server wrote it
    Removes an expert from your favorites.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • update_rateSets your public USD per-minute rate, capped by country.No findings

    Why it is in this group

    • The name "update_rate" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Sets your public USD per-minute rate, capped by country. Without confirm=true this only previews the cap. To save it, pass confirm=true and acknowledgedAmountUsd equal to perMinute.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
Can't be undone 1Claude Code: ask
  • convert_currencyNo foreign-exchange rate source is configured.Can send data out1 finding

    Why it is in this group

    • The name "convert_currency" says "convert": a word for a change.
    • The input addresses people (input.to): what it sends cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • outboundThe input takes a destination (input.to): what the tool writes goes there.

    Findings

    • Warn

      The server marks "convert_currency" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "convert_currency" says "convert": a word for a change.

      What this check looks for
    Description, as the server wrote it
    No foreign-exchange rate source is configured. Wallet charges are USD, and this tool will not invent a rate. This tool is not yet supported. Nothing is read or changed.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Changes things 5Claude Code: ask
  • estimate_call_costUSD estimate from the expert public per-minute rate.1 finding

    Why it is in this group

    • The name "estimate_call_cost" says "call": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "estimate_call_cost" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "estimate_call_cost" says "call": a word for a change.

      What this check looks for
    Description, as the server wrote it
    USD estimate from the expert public per-minute rate. This does not book or charge.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • favorite_expertSaves an approved expert on your account.No findings

    Why it is in this group

    • The description's first verb is "save": a word for a change.
    Description, as the server wrote it
    Saves an approved expert on your account.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_expert_availabilityOpen booking slots for an expert on a calendar date (YYYY-MM-DD).Reads private data1 finding

    Why it is in this group

    • The name "get_expert_availability" says "get": a word for reading.
    • The description's first verb is "open": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • private-dataThe description's first sentence says "calendar": it reads calendars.

    Findings

    • Warn

      The server marks "get_expert_availability" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_expert_availability" says "get": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Open booking slots for an expert on a calendar date (YYYY-MM-DD).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • set_availabilitySets the directory availability flag other people see: online, offline, or busy.No findings

    Why it is in this group

    • The name "set_availability" says "set": a word for a change.
    Description, as the server wrote it
    Sets the directory availability flag other people see: online, offline, or busy.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • update_profileUpdates your own public profile fields.No findings

    Why it is in this group

    • The name "update_profile" says "update": a word for a change.
    Description, as the server wrote it
    Updates your own public profile fields. Email, role, balance, and payout data cannot be changed here.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 34Show 34 read-only tools
  • check_expert_onlineReads the directory availability flag.Reads private dataNo findings

    Why it is in this group

    • The description's first verb is "read": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "read" and "directory": it reads files.
    Description, as the server wrote it
    Reads the directory availability flag. It can be up to a minute old and is not a live media presence check.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_application_statusYour expert application status.No findings

    Why it is in this group

    • The name "get_application_status" says "get": a word for reading.
    Description, as the server wrote it
    Your expert application status. Approval is a profile field. Every account can use the consumer tools.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_call_sessionStatus of a call invite where you are the caller or the expert.1 finding

    Why it is in this group

    • The name "get_call_session" says "get": a word for reading.

    Findings

    • Info

      The description mentions "credentials".

      Matched text

      description: "...or the expert. It does not return media credentials or a guessed running cost."

      What this check looks for
    Description, as the server wrote it
    Status of a call invite where you are the caller or the expert. It does not return media credentials or a guessed running cost.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_chat_summaryAI chat recaps are produced by the chat summary service for organization sessions, not as a consumer-thread tool.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "get_chat_summary" says "get": a word for reading.

    What it can reach

    • private-dataThe name "get_chat_summary" says "get" and "chat": it reads messages.
    • private-dataThe description's first sentence says "chat": it reads messages.
    • untrusted-inputThe name "get_chat_summary" says "get" and "chat": it reads messages, which other people can write.
    • untrusted-inputThe description's first sentence says "chat": it reads messages, which other people can write.
    Description, as the server wrote it
    AI chat recaps are produced by the chat summary service for organization sessions, not as a consumer-thread tool. This tool is not yet supported. Nothing is read or changed.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • get_country_rate_capsMaximum USD per minute an expert in this country may charge.No findings

    Why it is in this group

    • The name "get_country_rate_caps" says "get": a word for reading.
    Description, as the server wrote it
    Maximum USD per minute an expert in this country may charge. High-income countries and Europe use the higher cap.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_earnings_summaryCurrent pending, releasable, and paid expert earnings.No findings

    Why it is in this group

    • The name "get_earnings_summary" says "get": a word for reading.
    Description, as the server wrote it
    Current pending, releasable, and paid expert earnings. A custom period is not applied; figures are the live totals, not an estimate for that window.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_expertPublic profile, per-minute rate, and scheduling rules for one approved expert.No findings

    Why it is in this group

    • The name "get_expert" says "get": a word for reading.
    Description, as the server wrote it
    Public profile, per-minute rate, and scheduling rules for one approved expert. Does not include email or phone.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_my_profileThe signed-in user's own profile fields.No findings

    Why it is in this group

    • The name "get_my_profile" says "get": a word for reading.
    Description, as the server wrote it
    The signed-in user's own profile fields.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_payment_methodsMasked card brand and last four digits saved on the wallet, if any.No findings

    Why it is in this group

    • The name "get_payment_methods" says "get": a word for reading.
    Description, as the server wrote it
    Masked card brand and last four digits saved on the wallet, if any. Full card numbers and vault ids are never returned.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_payout_methodsSaved payout destinations: id, provider, country, and last four digits.No findings

    Why it is in this group

    • The name "get_payout_methods" says "get": a word for reading.
    Description, as the server wrote it
    Saved payout destinations: id, provider, country, and last four digits. Full account numbers are not returned.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_platform_statsCount of approved experts currently listed in the directory.Reads private dataNo findings

    Why it is in this group

    • The name "get_platform_stats" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "count" and "directory": it reads files.
    Description, as the server wrote it
    Count of approved experts currently listed in the directory. Other totals are omitted rather than estimated.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_rate_coach_suggestionCompares your rate with your country cap and the median public rate of up to 20 listed experts in your industry.No findings

    Why it is in this group

    • The name "get_rate_coach_suggestion" says "get": a word for reading.
    Description, as the server wrote it
    Compares your rate with your country cap and the median public rate of up to 20 listed experts in your industry. It is a hint, not a required price.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_receiptReceipt for one of your calls.No findings

    Why it is in this group

    • The name "get_receipt" says "get": a word for reading.
    Description, as the server wrote it
    Receipt for one of your calls. Other people's calls are not found. Recording URLs are not included.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_referral_codeYour own referral code, if one has been issued.No findings

    Why it is in this group

    • The name "get_referral_code" says "get": a word for reading.
    Description, as the server wrote it
    Your own referral code, if one has been issued. Commission is 5% for 12 months from the first paid payout of a referred expert. Referred people are on get_referral_stats.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_referral_statsPeople who used your code, as a name or initials, the date they joined, and whether the referral is still active.No findings

    Why it is in this group

    • The name "get_referral_stats" says "get": a word for reading.
    Description, as the server wrote it
    People who used your code, as a name or initials, the date they joined, and whether the referral is still active. Emails and account ids are not included.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_releasable_balanceExpert earnings past the 7-day hold that are available to withdraw.No findings

    Why it is in this group

    • The name "get_releasable_balance" says "get": a word for reading.
    Description, as the server wrote it
    Expert earnings past the 7-day hold that are available to withdraw. This does not request a payout.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_reviewsPublic reviews for an approved expert.Reads text others writeNo findings

    Why it is in this group

    • The name "get_reviews" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe name "get_reviews" says "get" and "review": it reads comments, which other people can write.
    • untrusted-inputThe description's first sentence says "review": it reads comments, which other people can write.
    Description, as the server wrote it
    Public reviews for an approved expert. Reviewer emails are not included.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_support_ticketThere is no support-desk API in this app.Reads text others writeNo findings

    Why it is in this group

    • The name "get_support_ticket" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe name "get_support_ticket" says "get" and "ticket": it reads issues, which other people can write.
    Description, as the server wrote it
    There is no support-desk API in this app. This tool is not yet supported. Nothing is read or changed.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • get_supported_currenciesCurrencies the Callpaymin wallet charges in.No findings

    Why it is in this group

    • The name "get_supported_currencies" says "get": a word for reading.
    Description, as the server wrote it
    Currencies the Callpaymin wallet charges in. This is not a foreign-exchange table.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_supported_payout_countriesCountries shown on the payout settings page, with the rail that page uses (Stripe or Wise).No findings

    Why it is in this group

    • The name "get_supported_payout_countries" says "get": a word for reading.
    Description, as the server wrote it
    Countries shown on the payout settings page, with the rail that page uses (Stripe or Wise). This does not check a live provider, and it does not return bank details.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_tax_docsTax documents are not generated by an API this server can read.Reads private dataNo findings

    Why it is in this group

    • The name "get_tax_docs" says "get": a word for reading.

    What it can reach

    • private-dataThe name "get_tax_docs" says "get" and "doc": it reads documents.
    • private-dataThe description's first sentence says "document": it reads documents.
    Description, as the server wrote it
    Tax documents are not generated by an API this server can read. Nothing is returned in their place. This tool is not yet supported. Nothing is read or changed.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • get_wallet_balanceWallet balance used to pay for calls.No findings

    Why it is in this group

    • The name "get_wallet_balance" says "get": a word for reading.
    Description, as the server wrote it
    Wallet balance used to pay for calls. Experts also get withdrawable, pending, and paid earnings. No payout account numbers.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_categoriesIndustries and topics used by the expert directory.Reads private dataNo findings

    Why it is in this group

    • The name "list_categories" says "list": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "directory": it reads files.
    Description, as the server wrote it
    Industries and topics used by the expert directory.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_favoritesExperts you have favorited.No findings

    Why it is in this group

    • The name "list_favorites" says "list": a word for reading.
    Description, as the server wrote it
    Experts you have favorited.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_jobsActive jobs on the public board.No findings

    Why it is in this group

    • The name "list_jobs" says "list": a word for reading.
    Description, as the server wrote it
    Active jobs on the public board. Poster emails, invite codes, and draft or pending jobs are omitted.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_my_bookingsBookings where the signed-in user is the quester or the expert.No findings

    Why it is in this group

    • The name "list_my_bookings" says "list": a word for reading.
    Description, as the server wrote it
    Bookings where the signed-in user is the quester or the expert. Defaults to upcoming bookings.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_my_callsRecent calls where the signed-in user is the caller or the expert.No findings

    Why it is in this group

    • The name "list_my_calls" says "list": a word for reading.
    Description, as the server wrote it
    Recent calls where the signed-in user is the caller or the expert. Amounts are that user's cost or earnings. Recordings are not included. At most 40 recent calls are scanned.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_my_chatsConsumer chat threads are not exposed through a user-scoped query that is safe to return from MCP yet.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "list_my_chats" says "list": a word for reading.

    What it can reach

    • private-dataThe name "list_my_chats" says "list" and "chat": it reads messages.
    • private-dataThe description's first sentence says "chat": it reads messages.
    • untrusted-inputThe name "list_my_chats" says "list" and "chat": it reads messages, which other people can write.
    • untrusted-inputThe description's first sentence says "chat": it reads messages, which other people can write.
    Description, as the server wrote it
    Consumer chat threads are not exposed through a user-scoped query that is safe to return from MCP yet. This tool is not yet supported. Nothing is read or changed.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • list_my_jobsJobs posted by the signed-in user, including ones still waiting for review.Reads text others writeNo findings

    Why it is in this group

    • The name "list_my_jobs" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe description's first sentence says "review": it reads comments, which other people can write.
    Description, as the server wrote it
    Jobs posted by the signed-in user, including ones still waiting for review. Invite links are omitted. Applied jobs are not listed, because applications are stored on the poster account.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_my_meeting_roomsMeeting rooms hosted by the signed-in expert.Reads private dataNo findings

    Why it is in this group

    • The name "list_my_meeting_rooms" says "list": a word for reading.

    What it can reach

    • private-dataThe name "list_my_meeting_rooms" says "list" and "meeting": it reads calendars.
    • private-dataThe description's first sentence says "meeting": it reads calendars.
    Description, as the server wrote it
    Meeting rooms hosted by the signed-in expert. Participant emails are not included.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_participantsDisplay names of people in a meeting room you host.Reads private dataNo findings

    Why it is in this group

    • The name "list_participants" says "list": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "display" and "meeting": it reads calendars.
    Description, as the server wrote it
    Display names of people in a meeting room you host. Emails and media tokens are not included.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_payoutsYour payout requests: id, amount, status, and provider.No findings

    Why it is in this group

    • The name "list_payouts" says "list": a word for reading.
    Description, as the server wrote it
    Your payout requests: id, amount, status, and provider. Bank account numbers are not included.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • search_expertsSearch approved Callpaymin experts.No findings

    Why it is in this group

    • The name "search_experts" says "search": a word for reading.
    Description, as the server wrote it
    Search approved Callpaymin experts. Categories (industries): Technology, Consulting & Strategy, Marketing & Sales, Wellness & Coaching, Healthcare, Education, Finance & Real Estate, Legal, Entertainment, Retail & E-commerce, Design & Creative, HR & Recruiting, Cybersecurity, Non-Profit, Other. Topics: Building Product, Building with AI, Business & Money, Career Advancement, Founder Advice, Fundraising, Hiring & Team Building, Idea to Launch, Marketing & GTM, Mental Health, Sales & Growth, VC & Angel Advice. Bios are user-written. Availability can be up to a minute old.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

972 paths in this server alone from private data, through text someone else wrote, to a way out. Denying 4 outbound tools breaks every one.

Reads text others write27
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out4
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
deny to break every path
{
  "permissions": {
    "deny": [
      "mcp__callpaymin__convert_currency",
      "mcp__callpaymin__post_job",
      "mcp__callpaymin__send_message",
      "mcp__callpaymin__send_support_ticket"
    ]
  }
}

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

4 warn2 info
  • The server marks "estimate_call_cost" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "estimate_call_cost" says "call": a word for a change.

    What this check looks for
  • The server marks "unfavorite_expert" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "remove": a word for removing or ending something.

    What this check looks for
  • The server marks "get_expert_availability" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_expert_availability" says "get": a word for reading.

    What this check looks for
  • The server marks "convert_currency" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "convert_currency" says "convert": a word for a change.

    What this check looks for
  • The description mentions "credentials".

    Matched text

    description: "...not when this invite is written. Media credentials are not returned. acknowledgedAmountUsd..."

    What this check looks for
  • The description mentions "credentials".

    Matched text

    description: "...or the expert. It does not return media credentials or a guessed running cost."

    What this check looks for

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 1.0.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http callpaymin https://www.callpaymin.io/api/mcp
claude mcp add --transport http callpaymin https://www.callpaymin.io/api/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__callpaymin__search_experts",
      "mcp__callpaymin__get_expert",
      "mcp__callpaymin__list_categories",
      "mcp__callpaymin__check_expert_online",
      "mcp__callpaymin__get_reviews",
      "mcp__callpaymin__get_platform_stats",
      "mcp__callpaymin__get_country_rate_caps",
      "mcp__callpaymin__get_supported_currencies",
      "mcp__callpaymin__get_supported_payout_countries",
      "mcp__callpaymin__get_wallet_balance",
      "mcp__callpaymin__get_payment_methods",
      "mcp__callpaymin__get_call_session",
      "mcp__callpaymin__list_my_meeting_rooms",
      "mcp__callpaymin__list_participants",
      "mcp__callpaymin__list_my_calls",
      "mcp__callpaymin__get_receipt",
      "mcp__callpaymin__get_my_profile",
      "mcp__callpaymin__get_application_status",
      "mcp__callpaymin__get_earnings_summary",
      "mcp__callpaymin__get_releasable_balance",
      "mcp__callpaymin__list_payouts",
      "mcp__callpaymin__get_payout_methods",
      "mcp__callpaymin__list_favorites",
      "mcp__callpaymin__get_referral_code",
      "mcp__callpaymin__get_referral_stats",
      "mcp__callpaymin__get_rate_coach_suggestion",
      "mcp__callpaymin__get_deep_link",
      "mcp__callpaymin__list_my_bookings",
      "mcp__callpaymin__list_jobs",
      "mcp__callpaymin__list_my_jobs",
      "mcp__callpaymin__get_chat_summary",
      "mcp__callpaymin__list_my_chats",
      "mcp__callpaymin__get_tax_docs",
      "mcp__callpaymin__get_support_ticket"
    ],
    "ask": [
      "mcp__callpaymin__estimate_call_cost",
      "mcp__callpaymin__update_profile",
      "mcp__callpaymin__set_availability",
      "mcp__callpaymin__favorite_expert",
      "mcp__callpaymin__get_expert_availability",
      "mcp__callpaymin__convert_currency"
    ],
    "deny": [
      "mcp__callpaymin__set_auto_recharge",
      "mcp__callpaymin__disable_auto_recharge",
      "mcp__callpaymin__start_call",
      "mcp__callpaymin__end_call",
      "mcp__callpaymin__create_meeting_room",
      "mcp__callpaymin__end_meeting_room",
      "mcp__callpaymin__update_rate",
      "mcp__callpaymin__request_payout",
      "mcp__callpaymin__add_funds",
      "mcp__callpaymin__unfavorite_expert",
      "mcp__callpaymin__apply_referral_code",
      "mcp__callpaymin__create_booking",
      "mcp__callpaymin__cancel_booking",
      "mcp__callpaymin__post_job",
      "mcp__callpaymin__add_payment_method",
      "mcp__callpaymin__start_chat",
      "mcp__callpaymin__send_message",
      "mcp__callpaymin__join_meeting_room",
      "mcp__callpaymin__request_refund",
      "mcp__callpaymin__set_do_not_disturb",
      "mcp__callpaymin__clear_do_not_disturb",
      "mcp__callpaymin__submit_application",
      "mcp__callpaymin__add_payout_method",
      "mcp__callpaymin__rate_call",
      "mcp__callpaymin__mute_participant",
      "mcp__callpaymin__toggle_recording",
      "mcp__callpaymin__respond_to_job",
      "mcp__callpaymin__send_support_ticket"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as callpaymin. Review it before you use it.

Capability tags behind 35 rules
  • mcp__callpaymin__list_categories private-data
  • mcp__callpaymin__check_expert_online private-data
  • mcp__callpaymin__get_reviews untrusted-input
  • mcp__callpaymin__get_platform_stats private-data
  • mcp__callpaymin__set_auto_recharge untrusted-input
  • mcp__callpaymin__start_call untrusted-input
  • mcp__callpaymin__list_my_meeting_rooms private-data
  • mcp__callpaymin__list_participants private-data
  • mcp__callpaymin__request_payout untrusted-input
  • mcp__callpaymin__add_funds untrusted-input
  • mcp__callpaymin__get_deep_link untrusted-input
  • mcp__callpaymin__get_expert_availability private-data
  • mcp__callpaymin__create_booking untrusted-input
  • mcp__callpaymin__cancel_booking untrusted-input
  • mcp__callpaymin__list_my_jobs untrusted-input
  • mcp__callpaymin__post_job untrusted-input, outbound
  • mcp__callpaymin__convert_currency outbound
  • mcp__callpaymin__add_payment_method untrusted-input
  • mcp__callpaymin__start_chat untrusted-input
  • mcp__callpaymin__send_message untrusted-input, outbound
  • mcp__callpaymin__get_chat_summary private-data, untrusted-input
  • mcp__callpaymin__join_meeting_room untrusted-input
  • mcp__callpaymin__request_refund untrusted-input
  • mcp__callpaymin__list_my_chats private-data, untrusted-input
  • mcp__callpaymin__set_do_not_disturb untrusted-input
  • mcp__callpaymin__clear_do_not_disturb untrusted-input
  • mcp__callpaymin__submit_application untrusted-input
  • mcp__callpaymin__add_payout_method untrusted-input
  • mcp__callpaymin__get_tax_docs private-data
  • mcp__callpaymin__rate_call untrusted-input
  • mcp__callpaymin__mute_participant untrusted-input
  • mcp__callpaymin__toggle_recording untrusted-input
  • mcp__callpaymin__respond_to_job untrusted-input
  • mcp__callpaymin__send_support_ticket untrusted-input, outbound
  • mcp__callpaymin__get_support_ticket untrusted-input

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/io.github.callpaymin/callpaymin/verify?hash=90ed3c33e7b24b728fd1cd9fff17e199d4a32e9b6f17a2c9d5b3d7a88a2e7f55" | jq -e '.changed == false'

Pinned hash 90ed3c33e7b2, from Nov 2, 2026, 20:18 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/io.github.callpaymin/callpaymin/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for io.github.callpaymin/callpaymin
[![anlyon.dev](https://anlyon.dev/badge/io.github.callpaymin/callpaymin.svg)](https://anlyon.dev/servers/io.github.callpaymin/callpaymin)

Source: MCP Registry. Synced Nov 2, 2026, 20:17 UTC.