Penny Press
Server Details
Short essays and fragments. Free for humans; machines pay pennies per read via x402.
- Status
- Healthy
- Uptime
- 99.9% over 35 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 7 tools
Each tool targets a distinct resource (Common Cents collection, individual essay payment, lexicon term, lexicon snapshot, essays list, attestation, verification). The four '*_info' tools all describe payment/metadata but for clearly different resources, so confusion risk is low though the shared framing creates mild overlap.
Conventions are mixed: 'list_essays' and 'witness_verify' use verb_noun, 'lexicon_lookup' is noun_verb, and the rest (common_cents_info, essay_payment_info, lexicon_snapshot_info, witness_attest_info) are noun_noun. Still readable and resource-prefixed, but not a single predictable pattern.
Seven tools is well-scoped for a small curated publishing-and-payment service, with each tool earning its place around a specific collection, payment flow, or notary action.
Core surfaces are covered (listing, free lookup, payment info, verification), but notable gaps exist: witness_attest_info only explains attestation with no tool to actually submit an attestation, and there is no tool to retrieve the paid full text/definitions, forcing agents to external reading URLs.
Available Tools
7 toolscommon_cents_infoBRead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| asset | No | Payment asset, USDC |
| price | Yes | Price in USDC, e.g. $0.01 |
| themes | Yes | |
| network | No | Chain id, e.g. eip155:8453 (Base mainnet) |
| human_url | No | Free page for humans |
| recipient | No | Wallet receiving the payment |
| collection | Yes | |
| machine_url | Yes | Paid machine read via x402 |
| quote_count | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so the safety profile is fully covered by structured data. The description adds that the payload concerns themes, quote count, and payment info for the $0.01 set, which is useful content context but no additional behavioral traits (auth, limits, failure modes).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the resource front-loaded and no filler. It is slightly cramped (packing description of the collection and its return contents into one clause), but every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return format needn't be spelled out, and with no parameters the definition is close to sufficient. The remaining gap is routing: nothing tells the agent how this overview relates to the payment/info siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing to document and no schema gap to compensate for. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource (Common Cents / Penny Press collection) and enumerates what the overview returns (themes, quote count, payment info), so the agent knows this is a metadata/overview read. It doesn't explicitly contrast itself with the sibling essay_payment_info or lexicon_*_info tools, so differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus the siblings, even though essay_payment_info and lexicon_snapshot_info appear to be closely related info tools. The description implies informational usage but offers no conditions, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
essay_payment_infoARead-onlyIdempotentInspect
Get the x402 payment details for one essay (price, network, asset, recipient wallet) so a machine buyer knows how to pay.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Essay slug, e.g. river-of-time |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | Yes | |
| asset | Yes | Payment asset, USDC |
| price | Yes | Price in USDC, e.g. $0.01 |
| title | Yes | |
| network | Yes | Chain id, e.g. eip155:8453 (Base mainnet) |
| recipient | Yes | Wallet receiving the payment |
| machine_url | Yes | Paid machine read via x402 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world behavior, so safety is covered. The description adds that the response is payment instructions aimed at a machine buyer, which is useful, but says nothing about auth requirements, staleness, or whether the values can change.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the verb and resource, with zero filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering the safety profile, the description need not explain return values, and it already names the key fields. It is complete enough for an agent to call correctly; only peripheral behavior (auth, refresh semantics) is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single slug parameter is documented with an example ("river-of-time"), so the schema carries the parameter semantics. The description only implies that slug selects one essay, adding nothing beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Get) and resource (x402 payment details for one essay) and enumerates the returned fields (price, network, asset, recipient wallet). It is unmistakably distinct from the sibling list_essays.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"so a machine buyer knows how to pay" gives clear context for when to reach for this tool (before initiating payment for a single essay). It does not name alternatives or exclusions, but the sibling list_essays is not a plausible substitute for per-essay payment info.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lexicon_lookupARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| term | Yes | The term or its slug, e.g. 'fiat-order' |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | No | |
| term | No | |
| found | Yes | |
| appears_in | No | Essay slugs where the term is used |
| definition_url | No | Paid machine read via x402 |
| part_of_speech | No | |
| definition_price | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower. The description still adds real behavioral context the annotations cannot: it is a freemium call that returns free metadata plus payment info for a $0.01 full definition, which tells the agent the call has a paywall dimension. It stops short of describing failure modes (unknown term handling) or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler. The what-it-does clause comes first and the free-vs-paid return split follows, so the most decision-relevant information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be enumerated in prose, and the description still communicates the crucial free-metadata vs paid-definition split. What is missing is routing guidance against the lexically similar lexicon_snapshot_info sibling; otherwise an agent has enough to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter and schema description coverage is 100% — the schema already explains the term and gives a slug example like 'fiat-order'. The description adds no further parameter detail (e.g., case sensitivity, slug vs label preference), so baseline 3 is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Look up a term in the Penny Press Lexicon") and even glosses what the lexicon is (the author's own definitions of his political-economy vocabulary), which separates it from list_essays and the payment-info siblings. It does not explicitly address the nearby lexicon_snapshot_info tool, so differentiation from that sibling is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The trigger is implied: use this to look up a term and get free metadata before deciding whether to buy the full definition. But there is no explicit when/when-not guidance and no named alternative, even though lexicon_snapshot_info and essay_payment_info plausibly overlap. Usage is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lexicon_snapshot_infoARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| asset | Yes | Payment asset, USDC |
| price | Yes | Price in USDC, e.g. $0.25 |
| network | Yes | Chain id, e.g. eip155:8453 (Base mainnet) |
| version | No | |
| recipient | Yes | Wallet receiving the payment |
| term_count | No | |
| machine_url | Yes | Paid machine read via x402 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful non-schema context: the snapshot costs $0.25 and is returned as versioned JSON, which matters for an agent deciding whether to invoke it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence that front-loads the resource and cost, then lists contents. The enumeration is slightly dense but every clause is informative and none is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, yet the description still summarizes the payload and its versioned format plus the cost. For a zero-param info tool this is essentially complete; only the lack of alternative-tool routing is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies; no parameter behavior is left ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (the Penny Press Lexicon full dataset snapshot) and enumerates exactly what it contains (terms, part of speech, definitions, usage examples, source essays). It implies differentiation from lexicon_lookup by specifying 'full dataset snapshot', though it never names the alternative tool outright.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no routing to alternatives such as lexicon_lookup or essay_payment_info. The only contextual hint is the implied cost ($0.25), which an agent could read as a reason to prefer a cheaper sibling, but this is not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_essaysARead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| essays | Yes | Published essays and fragments. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is low, and the description adds genuinely new behavior: human reads are free at /read/{slug} while machine reads at /essays/{slug} incur x402 payment in USDC on Base. That payment gate is exactly the kind of operational constraint an agent needs before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no waste. The scope and returned fields come first, with the free-versus-paid access model immediately behind it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be re-explained, and the description nonetheless summarizes the payload. For a zero-parameter, read-only listing tool, nothing an agent needs in order to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which sets the baseline at 4. The {slug} references in the description describe returned URL shapes and access paths rather than callable inputs, so no further parameter documentation is applicable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (list published essays and fragments) and enumerates the returned fields (titles, descriptions, prices, reading URLs). It is clearly distinguishable from a payment-info sibling, though it never names essay_payment_info directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context through the free/paid access model, but never states when to call this tool versus essay_payment_info or what preconditions exist. Guidance is inferable rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
witness_attest_infoARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| asset | No | Payment asset, USDC |
| price | Yes | Price in USDC, e.g. $0.05 |
| network | No | Chain id, e.g. eip155:8453 (Base mainnet) |
| returns | Yes | Fields in the witnessed receipt |
| submits | Yes | JSON fields the endpoint accepts |
| recipient | No | Wallet receiving the payment |
| machine_url | Yes | POST the attestation here via x402 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive, closed-world behavior. The description adds genuinely new context beyond them: the $0.05 cost, the x402 payment mechanism, the tamper-evident receipt, and the privacy guarantee that the service sees only the hash, not the work.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with purpose and price, followed by the privacy assurance. No filler and every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. The description adequately signals the scope of the returned guidance and the payment requirement; only the relationship to the verify/payment siblings is left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. Schema coverage is 100% and no parameter semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (a work's fingerprint attestation) and enumerates what the info covers: what to submit, receipt contents, and x402 payment details. It is clearly an information/guidance tool, distinct in kind from the sibling witness_verify, though it never explicitly names that sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: an agent would call this before attesting to learn the submission requirements and cost. However, there is no explicit when-to-use statement, no exclusion, and no routing to the clearly related siblings 'witness_verify' or 'essay_payment_info'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
witness_verifyARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| content_hash | Yes | Hex SHA-256 fingerprint of the work |
Output Schema
| Name | Required | Description |
|---|---|---|
| entries | Yes | |
| witnessed | Yes | |
| verify_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds two useful non-annotation facts — that the call is free and that a non-match yields an empty result rather than an error — but nothing about rate limits, auth, or the scope of the notary's records.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core purpose and the identifying entity, followed by cost and return shape. 'Free.' is a single word doing real work; no sentence is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations are rich, so the description need not explain return values, yet it still summarizes them ('entry id, sequence, timestamp, title') helpfully. It covers purpose, cost, and match/no-match behavior; only ancillary details (e.g., what a hash with no attestation means, or next steps after a hit) are absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter ('Hex SHA-256 fingerprint of the work'), so the schema already carries the semantics. The description only restates that the input is a SHA-256 content hash, adding no format, encoding, or edge-case detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise verb and resource: 'Check whether a SHA-256 content hash has been witnessed by LitWit.' The operation (verify a hash's witness status) is intrinsically distinct from every sibling, all of which are 'info' tools rather than lookups keyed by content hash.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Free' and 'Returns the matching attestation entries ... or an empty result' implicitly convey the use case (confirm witness status before/after attesting), but there is no explicit when-to-use guidance and no routing to related tools such as witness_attest_info or list_essays.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- Added
common_cents_info - Added
lexicon_lookup - Added
lexicon_snapshot_info - Added
witness_attest_info - Added
witness_verify
2 tool updates
- Changed
essay_payment_info1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": false, + "properties": { + "asset": { + "description": "Payment asset, USDC", + "type": "string" + }, + "machine_url": { + "description": "Paid machine read via x402", + "type": "string" + }, + "network": { + "description": "Chain id, e.g. eip155:8453 (Base mainnet)", + "type": "string" + }, + "price": { + "description": "Price in USDC, e.g. $0.01", + "type": "string" + }, + "recipient": { + "description": "Wallet receiving the payment", + "type": "string" + }, + "slug": { + "type": "string" + }, + "title": { + "type": "string" + } + }, + "required": [ + "slug", + "title", + "price", + "asset", + "network", + "recipient", + "machine_url" + ], + "type": "object" +}
- Changed
list_essays1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": false, + "properties": { + "essays": { + "description": "Published essays and fragments.", + "items": { + "additionalProperties": false, + "properties": { + "human_url": { + "description": "Free full text for humans", + "type": "string" + }, + "machine_url": { + "description": "Paid machine read via x402", + "type": "string" + }, + "price": { + "description": "Price in USDC, e.g. $0.01", + "type": "string" + }, + "slug": { + "type": "string" + }, + "title": { + "type": "string" + }, + "type": { + "description": "fragment, ensemble, or prose", + "type": "string" + } + }, + "required": [ + "slug", + "title", + "type", + "price", + "human_url", + "machine_url" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "essays" + ], + "type": "object" +}
2 tool updates
- First observed
essay_payment_info - First observed
list_essays
Related MCP Connectors
Search, read & publish paid essays. Pay-per-read in USDC on Base (x402); wallet-only, no account.
Independent AI consulting — services, dispatches, cairns, and 40-year client history.
Publish and manage articles, series, comments, reactions, newsletters, and analytics — from any AI…
Hand-made human mixtapes with liner notes. Paid tools $0.01 USDC via x402, 80% to the tapemaker.
Related MCP Servers
- AlicenseAqualityDmaintenanceNarrative & signal intelligence for AI agents: crypto/AI/macro convergence & divergence.21MIT
- AlicenseAqualityBmaintenanceSource-aware archive for timeline-shift folklore, Mandela Effect reports and collider myths.1042 npmMIT
- FlicenseNot gradedqualityBmaintenanceAuditable AGI-2027 evidence: eight graded Situational Awareness predictions with pre-registered flip conditions, a 0-100 Thesis Tracker with full score history, and a public market-call ledger where misses stay published. Free, no auth, CC BY 4.0.-
- AlicenseNot gradedqualityDmaintenanceMachine-readable utilities and datasets for AI agents. MCP + HTTP + x402.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.