Penny Press

Short essays and fragments. Free for humans; machines pay pennies per read via x402.

Should I use this

Quality & Safety

B
Description quality
100%
Schema completeness
60%
Naming quality
83%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,679Tokens (tool definitions)
~1.9 KBTypical response size
Moderate attention impact (1.31% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "penny-press": {
      "url": "https://www.pennypress.org/mcp"
    }
  }
}

Remote endpoints

https://www.pennypress.org/mcpstreamable-http

What it can do

Tool inventory

Tools (7)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢list_essays

List all published essays and fragments: titles, descriptions, prices, and reading URLs. Full text is free for humans at /read/{slug}; machine reads at /essays/{slug} are paid via x402 (USDC on Base).

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "essays": {
      "type": "array",
      "description": "Published essays and fragments.",
      "items": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "description": "fragment, ensemble, or prose"
          },
          "price": {
            "type": "string",
            "description": "Price in USDC, e.g. $0.01"
          },
          "human_url": {
            "type": "string",
            "description": "Free full text for humans"
          },
          "machine_url": {
            "type": "string",
            "description": "Paid machine read via x402"
          }
        },
        "required": [
          "slug",
          "title",
          "type",
          "price",
          "human_url",
          "machine_url"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "essays"
  ],
  "additionalProperties": false
}
🟢essay_payment_info(slug)

Get the x402 payment details for one essay (price, network, asset, recipient wallet) so a machine buyer knows how to pay.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Essay slug, e.g. river-of-time"
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "price": {
      "type": "string",
      "description": "Price in USDC, e.g. $0.01"
    },
    "asset": {
      "type": "string",
      "description": "Payment asset, USDC"
    },
    "network": {
      "type": "string",
      "description": "Chain id, e.g. eip155:8453 (Base mainnet)"
    },
    "recipient": {
      "type": "string",
      "description": "Wallet receiving the payment"
    },
    "machine_url": {
      "type": "string",
      "description": "Paid machine read via x402"
    }
  },
  "required": [
    "slug",
    "title",
    "price",
    "asset",
    "network",
    "recipient",
    "machine_url"
  ],
  "additionalProperties": false
}
🟢lexicon_lookup(term)

Look up a term in the Penny Press Lexicon (the author's own definitions of his political-economy vocabulary). Returns free metadata — part of speech and the essays where the term appears — plus payment info for the $0.01 full definition.

Input Schema

{
  "type": "object",
  "properties": {
    "term": {
      "type": "string",
      "description": "The term or its slug, e.g. 'fiat-order'"
    }
  },
  "required": [
    "term"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "found": {
      "type": "boolean"
    },
    "term": {
      "type": "string"
    },
    "slug": {
      "type": "string"
    },
    "part_of_speech": {
      "type": "string"
    },
    "appears_in": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Essay slugs where the term is used"
    },
    "definition_price": {
      "type": "string"
    },
    "definition_url": {
      "type": "string",
      "description": "Paid machine read via x402"
    }
  },
  "required": [
    "found"
  ],
  "additionalProperties": false
}
🟢lexicon_snapshot_info

Payment details for the Penny Press Lexicon full dataset snapshot ($0.25): every author-defined term with part of speech, definition, verbatim usage example, and source essays, as versioned JSON.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "price": {
      "type": "string",
      "description": "Price in USDC, e.g. $0.25"
    },
    "asset": {
      "type": "string",
      "description": "Payment asset, USDC"
    },
    "network": {
      "type": "string",
      "description": "Chain id, e.g. eip155:8453 (Base mainnet)"
    },
    "recipient": {
      "type": "string",
      "description": "Wallet receiving the payment"
    },
    "machine_url": {
      "type": "string",
      "description": "Paid machine read via x402"
    },
    "term_count": {
      "type": "integer"
    },
    "version": {
      "type": "string"
    }
  },
  "required": [
    "price",
    "asset",
    "network",
    "recipient",
    "machine_url"
  ],
  "additionalProperties": false
}
🟢common_cents_info

Overview of Common Cents, the Penny Press collection of 20 author-curated quotations in five themed clusters: the themes, quote count, and payment info for the $0.01 full machine-readable set.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "collection": {
      "type": "string"
    },
    "themes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "quote_count": {
      "type": "integer"
    },
    "price": {
      "type": "string",
      "description": "Price in USDC, e.g. $0.01"
    },
    "asset": {
      "type": "string",
      "description": "Payment asset, USDC"
    },
    "network": {
      "type": "string",
      "description": "Chain id, e.g. eip155:8453 (Base mainnet)"
    },
    "recipient": {
      "type": "string",
      "description": "Wallet receiving the payment"
    },
    "machine_url": {
      "type": "string",
      "description": "Paid machine read via x402"
    },
    "human_url": {
      "type": "string",
      "description": "Free page for humans"
    }
  },
  "required": [
    "collection",
    "themes",
    "quote_count",
    "price",
    "machine_url"
  ],
  "additionalProperties": false
}
🟢witness_verify(content_hash)

Check whether a SHA-256 content hash has been witnessed by LitWit, the Penny Press literary notary. Free. Returns the matching attestation entries (entry id, sequence, timestamp, title) or an empty result.

Input Schema

{
  "type": "object",
  "properties": {
    "content_hash": {
      "type": "string",
      "description": "Hex SHA-256 fingerprint of the work"
    }
  },
  "required": [
    "content_hash"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "witnessed": {
      "type": "boolean"
    },
    "entries": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "entry_id": {
            "type": "string"
          },
          "seq": {
            "type": "integer"
          },
          "witnessed_at": {
            "type": "string"
          },
          "work_title": {
            "type": "string"
          },
          "author_label": {
            "type": "string"
          }
        }
      }
    },
    "verify_url": {
      "type": "string"
    }
  },
  "required": [
    "witnessed",
    "entries"
  ],
  "additionalProperties": false
}
🟢witness_attest_info

How to attest a work's fingerprint with LitWit ($0.05): what to submit, what the tamper-evident receipt contains, and the x402 payment details. The service never sees your work — only its hash.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "price": {
      "type": "string",
      "description": "Price in USDC, e.g. $0.05"
    },
    "asset": {
      "type": "string",
      "description": "Payment asset, USDC"
    },
    "network": {
      "type": "string",
      "description": "Chain id, e.g. eip155:8453 (Base mainnet)"
    },
    "recipient": {
      "type": "string",
      "description": "Wallet receiving the payment"
    },
    "machine_url": {
      "type": "string",
      "description": "POST the attestation here via x402"
    },
    "submits": {
      "type": "object",
      "description": "JSON fields the endpoint accepts"
    },
    "returns": {
      "type": "object",
      "description": "Fields in the witnessed receipt"
    },
    "note": {
      "type": "string"
    }
  },
  "required": [
    "price",
    "machine_url",
    "submits",
    "returns"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools
verifiedversion not recorded2 tools
verifiedversion not recorded2 tools