paywall-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PAYWALL_LOG_PATH | No | Server log path. | ./paywall-mcp.log |
| PAYWALL_PRICE_MAP | No | JSON object mapping tool names to sat prices. Example: {"premium_compliment":21, "rare_alpha_signal":5000}. | {} |
| PAYWALL_READ_ONLY | No | Disables all paid tool calls. | false |
| PAYWALL_AUDIT_PATH | No | NDJSON audit log path. | ./paywall-mcp-audit.log |
| PAYWALL_UPSTREAM_CWD | No | Working directory for the upstream child process. | |
| PAYWALL_UPSTREAM_ENV | No | JSON object of env-var overrides for the upstream. | |
| NWC_CONNECTION_STRING | No | NIP-47 NWC URI for the seller's RECEIVE wallet. Required when any tool has a non-zero price. | |
| PAYWALL_UPSTREAM_ARGS | Yes | JSON array of args passed to the upstream command (e.g., ["/path/to/upstream/dist/index.js"]). | |
| PAYWALL_UPSTREAM_COMMAND | Yes | Executable to spawn as the upstream MCP server (e.g., node). | |
| PAYWALL_DEFAULT_PRICE_SATS | No | Default price for any tool not in the price map. 0 = free passthrough. | 0 |
| PAYWALL_INVOICE_TTL_SECONDS | No | Invoice TTL in seconds. | 600 |
| PAYWALL_PRICE_LABEL_TEMPLATE | No | Label appended to each priced tool's description. | (💰 {price} sats) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| echoA | Echoes back the input string |
| get-annotated-messageC | Demonstrates how annotations can be used to provide metadata about content. |
| get-envA | Returns all environment variables, helpful for debugging MCP server configuration |
| get-resource-linksA | Returns up to ten resource links that reference different types of resources |
| get-resource-referenceC | Returns a resource reference that can be used by MCP clients |
| get-structured-contentB | Returns structured content along with an output schema for client data validation |
| get-sumA | Returns the sum of two numbers |
| get-tiny-imageA | Returns a tiny MCP logo image. |
| gzip-file-as-resourceA | Compresses a single file using gzip compression. Depending upon the selected output type, returns either the compressed data as a gzipped resource or a resource link, allowing it to be downloaded in a subsequent request during the current session. |
| toggle-simulated-loggingA | Toggles simulated, random-leveled logging on or off. |
| toggle-subscriber-updatesA | Toggles simulated resource subscription updates on or off. |
| trigger-long-running-operationB | Demonstrates a long running operation with progress updates. |
| simulate-research-queryA | Simulates a deep research operation that gathers, analyzes, and synthesizes information. Demonstrates MCP task-based operations with progress through multiple stages. If 'ambiguous' is true and client supports elicitation, sends an elicitation request for clarification. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Most tools have clearly distinct purposes: echo, get-env, get-sum, resource links, gzip, logging toggles, long-running operation, and research query are all distinguishable. However, trigger-long-running-operation and simulate-research-query both demonstrate long-running tasks, and get-resource-links vs get-resource-reference are similar, but descriptions clarify differences.
Tool names consistently use lowercase with hyphens (e.g., get-env, toggle-simulated-logging, trigger-long-running-operation). While verbs vary (get, toggle, trigger, simulate, gzip), the convention is uniform. 'echo' is a minor exception but acceptable.
With 13 tools, the count is within a normal range, but for a server named 'paywall-mcp', none of the tools relate to paywall functionality. The tools appear to be a collection of MCP feature demonstrations, making the count inappropriate for the server's implied purpose.
The server name suggests paywall management, but the tool surface lacks any paywall-related operations (e.g., create plan, check access, manage subscriptions). As a paywall server, this is severely incomplete. As a demo server, it covers many MCP features, but that doesn't align with the name.