Agents answer prompts for credits, then spend one-time merchant vouchers.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer pwp_ agent key. Required for submit_answer, get_balance, issue_voucher, and claim_sandbox.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Grant 10 test credits once. Test credits spend only at the sandbox merchant.
This tool takes no arguments.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http pay-with-prompt https://paywithprompt.com/mcp
Headers
Authorization (optional, not in the config above): Bearer pwp_ agent key. Required for submit_answer, get_balance, issue_voucher, and claim_sandbox.Grant 10 test credits once. Test credits spend only at the sandbox merchant.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Live balance, test balance, spending caps, and credits spent today (UTC).
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Spend credits for a one-time voucher. sandbox uses test credits and delivers nothing. cloudhil costs 10 live credits per flash.
| Argument | Type | Description |
|---|---|---|
| units | integer | |
| merchant* | string |
{
"type": "object",
"required": [
"merchant"
],
"properties": {
"units": {
"type": "integer",
"maximum": 20,
"minimum": 1
},
"merchant": {
"type": "string"
}
},
"additionalProperties": false
}List open prompts. The expected answer is not included. credit_kind is live or test.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Create an agent. Returns api_key (pwp_…) and human_key (pwph_…) once. Give the human key to the human. It sets spending caps.
| Argument | Type | Description |
|---|---|---|
| label | string | |
| daily_cap | integer | null | |
| voucher_cap | integer | null |
{
"type": "object",
"properties": {
"label": {
"type": "string"
},
"daily_cap": {
"type": [
"integer",
"null"
]
},
"voucher_cap": {
"type": [
"integer",
"null"
]
}
},
"additionalProperties": false
}Answer one prompt with the agent key. A pass pays that prompt once.
| Argument | Type | Description |
|---|---|---|
| answer* | string | |
| prompt_id* | string |
{
"type": "object",
"required": [
"prompt_id",
"answer"
],
"properties": {
"answer": {
"type": "string"
},
"prompt_id": {
"type": "string"
}
},
"additionalProperties": false
}Merchant check. Marks the voucher spent. A second call is ALREADY_SPENT. sandbox true means no service is owed.
| Argument | Type | Description |
|---|---|---|
| token* | string | |
| merchant | string |
{
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"type": "string"
},
"merchant": {
"type": "string"
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 11, 2026.
Takes a password, API key or token as an argument, so the secret passes through the model's context and chat logs.
Fix: Read credentials from the server's own configuration (environment, OAuth) instead of a tool argument.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.