Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Added "answer_remedy", "counter_offer", "inspect_delivery" and 3 more; changed the definition of "accept_offer", "decline_offer", "describe_business" and 5 more (8 tools before, 14 now)
acceptAccept an offer and place the order
⟨7 unchanged words⟩ ,"type":"boolean"},"id":{"description":"The request or offer id from your receipt or customer link","format":"uuid","pattern":"^([0-9a-fA-F ⟨74 unchanged words⟩
declineDecline an offer
{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"id":{"description":"The request or offer id from your receipt or customer link","format":"uuid","pattern":"^([0-9a-fA-F ⟨60 unchanged words⟩
What Nodehour does (GPU capacity sized from your run and quoted by providers: Describe the training run or serving fleet. Nodehour sizes the cluster, takes one requirement to providers that can run it, and returns options side by side to choose from.), what happens to a request, what you receive, its scope, and the requestfields.fields with examples.
inspectInspectofferan offer's terms and thread
⟨5 unchanged words⟩ terms hash, order state and processor paymentlinks.links, and the thread the business published on the offer: its answers to counteroffers (thread.counteroffers), the purchasing requirements, vendor status and purchase order matches it holds (thread.purchasing), and the portions, shortfall and remedies of delivery (thread.fulfilment). Use the offer link credentials, or credentials ⟨8 unchanged words⟩
{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"id":{"description":"The request or offer id from your receipt or customer link","format":"uuid","pattern":"^([0-9a-fA-F ⟨46 unchanged words⟩
releaseRelease a payment condition
⟨7 unchanged words⟩ ,"type":"boolean"},"id":{"description":"The request or offer id from your receipt or customer link","format":"uuid","pattern":"^([0-9a-fA-F ⟨67 unchanged words⟩
Check a requeststatusand its offers
{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"id":{"description":"The request or offer id from your receipt or customer link","format":"uuid","pattern":"^([0-9a-fA-F ⟨46 unchanged words⟩
retrieveRetrieve a paid order's deliverable
{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"id":{"description":"The request or offer id from your receipt or customer link","format":"uuid","pattern":"^([0-9a-fA-F ⟨46 unchanged words⟩
Send Nodehour a requirement
Send Nodehour a requirementto(GPUNodehour.capacityItsizedisfromkeptyourwithrunaandreferencequotednumber.by providers).
Answer a proposed remedy — Accept or decline a remedy the business proposed on a placed order (inspect_offer thread.fulfilment.remedies with state PROPOSED). Recorded for the business, which applies it and shows the result there. Accepting a credit or refund here moves no money; the business records it when its payment processor does.
Propose changes to an offer — Propose a change to an issued offer on its inspected terms: other quantities (by item index in terms.items), another list of companies (where the items price companies), a delivery date, a total price for the whole, a payment plan, or a note. It is a proposal, not a change: the terms stand and can still be accepted as they are. The business answers it in inspect_offer thread.counteroffers, with a revised offer to inspect and accept, or a reason. A later proposal replaces an earlier one still awaiting an answer. Nothing here orders or pays.
Record a delivery inspection — Record the buyer's inspection of a placed order: for each item (its index in terms.items) the quantity accepted and the quantity rejected, with a reason for a rejection, optionally for one portion of the order. Whether it was accepted is computed: only when nothing is rejected. Recorded for the business, which answers a rejection in inspect_offer thread.fulfilment, with a proposed remedy. Nothing here pays or refunds.
Report vendor approval status — Report the seller's vendor standing with the buyer's organization (APPROVED, DOCUMENTS_REQUESTED or REJECTED) with the buyer's approval or case reference and any documents requested. Recorded as the buyer's own statement; the business answers it in inspect_offer thread.purchasing.
State the buyer's purchasing requirements — Tell the business how the buyer's purchasing works for this offer: whether the seller must be an approved vendor, whether a purchase order is required, which documents are needed, the seller's vendor id with the buyer, where orders and invoices go, and the payment terms. Recorded as the buyer's statement; the business answers it in inspect_offer thread.purchasing. Nothing here orders or pays.
Send a purchase order — Send the buyer's purchase order for an issued offer or a placed order: number, revision, lines, total, currency and payment terms. It is matched against the accepted terms; differences are recorded and shown in inspect_offer thread.purchasing as exceptions, never silently accepted. A changed purchase order is the same number with a higher revision. This does not accept the offer and pays nothing.
Added "retrieve_deliverable" (7 tools before, 8 now)
retrieve deliverable — Retrieve what a paid order delivers, where the business produces it itself (a report): the exact text, its SHA-256, version, sources and any shortfall. Before payment is confirmed it says it is not yet available. Use the offer link or linked request credentials.
Added "accept_offer", "decline_offer", "inspect_offer" and 2 more; changed the definition of "submit_request" (2 tools before, 7 now)
⟨43 unchanged words⟩ "string"}},"type":"object"},"continuation":{"properties":{"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"token":{"pattern":"^[0-9a-f]{48}$","type":"string"}},"required":["id","token"],"type":"object"},"geography":{"properties":{"country":{"type":"string"},"from":{"type":"string"},"text":{"type":"string"},"to":{"type":"string"}},"type":"object"},"need":{" ⟨17 unchanged words⟩ ,"unit"],"type":"object"},"requested_fields":{"items":{"type":"string"},"maxItems":30,"type":"array"},"specifications":{"additionalProperties":{},"propertyNames":{ ⟨6 unchanged words⟩ "earliest":{"type":"string"},"latest":{"type":"string"},"recurrence":{"type":"string"},"text": ⟨8 unchanged words⟩
Added "describe_business"; removed "describe_proposition" and "list_propositions"; changed the definition of "submit_request" (3 tools before, 2 now)
Send a requirement toone of Nodehour's services.Nodehour. It is kept with a reference number. You get a reference number at once, and we keep exactly what you sent: your words, the proposed configuration, the terms to quote and the open questions. If sizing or an open question changes the quote we email you first; then we take the configuration to providers that can run it, ask each to quote the same terms, and send the options side by side to the address you left. Without an address no one can reply, and nothing goes to providers until you add one. Nothing is priced, held or ordered until you accept an option's terms with the provider. Contact details are deleted after 180 days.
⟨31 unchanged words⟩ ,"type":"object"},"contact":{"description":"Optional; stored apart and deleted after 180 days","properties":{"email":{"type":"string" ⟨10 unchanged words⟩
Unknown → Live
First tool surface recorded: 3 tools (server version 1.0.0)
https://nodehour.forevenza.com/mcp (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 7 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨44 unchanged words⟩ ,"type":"object"},"continuation":{"description":"The receipt id and token of an earlier request, to add to it instead of opening a new one","properties":{"id":{"format":"uuid" ⟨49 unchanged words⟩ ,"type":"object"},"need":{"description":"The requirement in the buyer's own words","maxLength":2000,"type":"string"},"quantity ⟨22 unchanged words⟩ "array"},"specifications":{"additionalProperties":{},"description":"Fields from the request_schema describe_business returns","propertyNames":{"type":"string"}," ⟨22 unchanged words⟩
accept offer — Place an order on terms you have inspected and the buyer has authorized you to accept. Requires the exact terms hash and explicit acceptance. Follow inspect_offer later for payment links and verified payment state.
decline offer — Decline an issued offer on its inspected terms.
inspect offer — Read the exact authorized terms, terms hash, order state and processor payment links. Use the offer link credentials, or credentials of the request explicitly linked to this offer.
release payment — Confirm a payment condition only where the inspected order allows the customer to release it. This records approval; it does not pay the processor.
request status — Resume a requirement using the receipt credentials. Read the recorded requirement and any linked offers. Contact details are kept apart.
About Nodehour — What Nodehour does, what happens to a request, and the request fields.
Describe a service — Everything about one service: what happens to a request, what you get, scope and limits, the request fields and any operations.
List Nodehour's services — List Nodehour's services with a one-line summary: lookups that run instantly, and requirements you can send.