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.
- 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".
What this check looks forMatched text
description: "...not when this invite is written. Media credentials are not returned. acknowledgedAmountUsd..."
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".
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "remove": a word for removing or ending something.
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".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "convert_currency" says "convert": a word for a change.
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".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "estimate_call_cost" says "call": a word for a change.
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".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_expert_availability" says "get": a word for reading.
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".
What this check looks forMatched text
description: "...or the expert. It does not return media credentials or a guessed running cost."
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_deep_linkBuilds a Callpaymin URL for a known page.Reads text others writeNo findings
Why it is in this group
- The name "get_deep_link" says "get": a word for reading.
What it can reach
- untrusted-inputThe description's first sentence says "url": it reads web pages, which anyone can write.
Description, as the server wrote it Builds a Callpaymin URL for a known page. It does not sign the link or embed a token.
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 private data9
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- 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.
{
"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.
The server marks "estimate_call_cost" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "estimate_call_cost" says "call": a word for a change.
The server marks "unfavorite_expert" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "remove": a word for removing or ending something.
The server marks "get_expert_availability" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_expert_availability" says "get": a word for reading.
- Warnconvert_currency
The server marks "convert_currency" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "convert_currency" says "convert": a word for a change.
- Infostart_call
The description mentions "credentials".
What this check looks forMatched text
description: "...not when this invite is written. Media credentials are not returned. acknowledgedAmountUsd..."
- Infoget_call_session
The description mentions "credentials".
What this check looks forMatched text
description: "...or the expert. It does not return media credentials or a guessed running cost."
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/mcpclaude mcp add --transport http callpaymin https://www.callpaymin.io/api/mcpRun 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.
{
"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.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/io.github.callpaymin/callpaymin)Source: MCP Registry. Synced Nov 2, 2026, 20:17 UTC.