Taste
Expert review for AI agents. On-chain proof of human review.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"taste-mcp": {
"url": "https://api.humantaste.app/mcp/"
}
}
}Remote-Endpunkte
https://api.humantaste.app/mcp/streamable-httpWas es kann
Tool-Inventar
Tools (20)
🟢list_offerings
List all available human expert evaluation offerings with pricing, tool names, and whether each issues an on-chain Taste content certificate. Free.
Eingabe-Schema
{
"type": "object",
"properties": {}
}Ausgabe-Schema
{
"type": "object",
"properties": {
"service": {
"type": "string"
},
"status": {
"type": "string"
},
"operatingHours": {
"type": "string"
},
"nextOpenAt": {
"type": [
"string",
"null"
]
},
"onlineExperts": {
"type": "number"
},
"offerings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"toolName": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"priceUsdc": {
"type": "number"
},
"issuesCertificate": {
"type": "boolean"
}
},
"required": [
"type",
"toolName",
"name",
"description",
"priceUsdc",
"issuesCertificate"
],
"additionalProperties": false
}
},
"usage": {
"type": "string"
}
},
"required": [
"service",
"status",
"operatingHours",
"nextOpenAt",
"onlineExperts",
"offerings",
"usage"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_expert_profiles
Returns currently-available expert taglines (pseudonymous descriptions of the kinds of expertise on hand) plus the real-time count of online expert seats and estimated wait. Use this as a cheap pre-flight check before calling a paid tool. Taglines describe expertise kinds, not individuals: no per-expert PII is exposed. Free.
Eingabe-Schema
{
"type": "object",
"properties": {}
}Ausgabe-Schema
{
"type": "object",
"properties": {
"service": {
"type": "string"
},
"status": {
"type": "string"
},
"onlineExperts": {
"type": "number"
},
"estimatedResponseMins": {
"type": "number"
},
"qualityPolicy": {
"type": "string"
},
"expertTaglines": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"service",
"status",
"onlineExperts",
"estimatedResponseMins",
"qualityPolicy",
"expertTaglines"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_result(sessionId, referenceCode)
Check the status of a previously submitted request. Returns the full structured deliverable once the expert (or order team) completes the work. Accepts a sessionId or an order reference code (think tank or illustration).
Eingabe-Schema
{
"type": "object",
"properties": {
"sessionId": {
"type": "string",
"description": "The session ID returned by a paid tool call."
},
"referenceCode": {
"type": "string",
"description": "An order reference code (TASTE-...) from a think tank or illustration order. Use this instead of sessionId to retrieve the result — it always returns the latest revision."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string"
},
"deliverable": {
"type": "object",
"additionalProperties": {}
},
"reason": {
"type": "string"
},
"estimatedWaitMins": {
"type": "number"
},
"message": {
"type": "string"
},
"tip": {
"type": "string"
}
},
"required": [
"status"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢prepare_consult_domain_expert(question, domain, context, referenceUrls, parentSessionId)
Get a humantaste.app URL where a human can place a consult_domain_expert order from a browser (Connect MetaMask, pay $15 USDC on Base, session created). Use this when your MCP client has no wallet integration (Claude Desktop, generic chat UIs). The URL is pre-filled with the brief you pass in; the user just opens it, reviews, connects a wallet, and pays. Returns the payment URL and the price. Free.
Eingabe-Schema
{
"type": "object",
"properties": {
"question": {
"type": "string",
"minLength": 20,
"maxLength": 3000,
"description": "The specific question to ask the expert."
},
"domain": {
"type": "string",
"minLength": 3,
"maxLength": 200,
"description": "Area of expertise needed (e.g. Farmer, Protestant priest, UX designer, Stockholm local, art curator, museum staff, culture journalist, food critic)."
},
"context": {
"type": "string",
"minLength": 10,
"maxLength": 2000,
"description": "Optional. Why you are asking and what you are working on."
},
"referenceUrls": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"maxItems": 5,
"description": "Optional. Publicly accessible URLs the expert should review."
},
"parentSessionId": {
"type": "string",
"description": "Optional. If present, the URL submits a follow-up to an existing consultation (capped at 3 per parent, same expert)."
}
},
"required": [
"question",
"domain"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"paymentUrl": {
"type": "string",
"format": "uri"
},
"priceUsdc": {
"type": "number"
},
"message": {
"type": "string"
},
"tip": {
"type": "string"
}
},
"required": [
"paymentUrl",
"priceUsdc",
"message",
"tip"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢request_think_tank_revision(referenceCode, adjustments)
Spend a free revision turn on a completed think tank order. Provide the reference code from your original order and describe the adjustments you want — the same team revisits the brief and returns an updated deliverable. Poll get_result with the reference code to retrieve it. Free: no payment required, the turn is included with your order.
Eingabe-Schema
{
"type": "object",
"properties": {
"referenceCode": {
"type": "string",
"minLength": 6,
"description": "The TASTE-... reference code returned when you placed the think tank order."
},
"adjustments": {
"type": "string",
"minLength": 10,
"maxLength": 3000,
"description": "What you want the team to adjust, expand, or rethink."
}
},
"required": [
"referenceCode",
"adjustments"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"referenceCode": {
"type": "string"
},
"status": {
"type": "string"
},
"turnsRemaining": {
"type": "number"
},
"message": {
"type": "string"
},
"tip": {
"type": "string"
}
},
"required": [
"sessionId",
"referenceCode",
"status",
"turnsRemaining",
"message",
"tip"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢request_illustration_revision(referenceCode, adjustments)
Spend a free revision turn on a completed illustration order. Provide the reference code from your original order and describe the adjustments you want — the same illustrator revisits the brief and returns an updated deliverable. Poll get_result with the reference code to retrieve it. Free: no payment required, the turn is included with your order.
Eingabe-Schema
{
"type": "object",
"properties": {
"referenceCode": {
"type": "string",
"minLength": 6,
"description": "The TASTE-... reference code returned when you placed the illustration order."
},
"adjustments": {
"type": "string",
"minLength": 10,
"maxLength": 3000,
"description": "What you want the illustrator to adjust, expand, or rethink."
}
},
"required": [
"referenceCode",
"adjustments"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"referenceCode": {
"type": "string"
},
"status": {
"type": "string"
},
"turnsRemaining": {
"type": "number"
},
"message": {
"type": "string"
},
"tip": {
"type": "string"
}
},
"required": [
"sessionId",
"referenceCode",
"status",
"turnsRemaining",
"message",
"tip"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪verify_external_source(subject, context)
Have a vetted human expert verify whether an external source, project, or claim is trustworthy. Call when your output or planned action depends on an external claim you cannot independently verify (crypto project legitimacy, social media authenticity, source credibility, vendor due diligence). Returns verdict, red flags, positive signals, confidence score.
Eingabe-Schema
{
"type": "object",
"properties": {
"subject": {
"type": "string",
"minLength": 5,
"maxLength": 500,
"description": "The URL, project name, or claim to verify. Be specific (e.g. a URL, a project name + token address, or a verbatim claim)."
},
"context": {
"type": "string",
"minLength": 10,
"maxLength": 2000,
"description": "Optional context. Use to clarify intent, constraints, audience, or anything that helps the expert evaluate."
}
},
"required": [
"subject"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"status": {
"type": "string"
},
"offering": {
"type": "string"
},
"priceUsdc": {
"type": "number"
},
"message": {
"type": "string"
},
"tip": {
"type": "string"
}
},
"required": [
"sessionId",
"status",
"offering",
"priceUsdc",
"message",
"tip"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢review_content(content, context)
Get a vetted human expert to review your AI-generated content — text, images, videos, social posts, audio, or any media — for hallucinations, factual errors, weak parts, and domain mistakes. Call before publishing, before forwarding to another agent, or before acting on the content. Returns verdict, issues found, suggested improvements. Approved outputs receive a Taste content certificate on-chain you can attach as proof of human review.
Eingabe-Schema
{
"type": "object",
"properties": {
"content": {
"type": "string",
"minLength": 1,
"maxLength": 5000,
"description": "The content to review. Text directly, or a publicly accessible URL for non-text media (images, video, audio, posts)."
},
"context": {
"type": "string",
"minLength": 10,
"maxLength": 2000,
"description": "Optional context. Use to clarify intent, constraints, audience, or anything that helps the expert evaluate."
}
},
"required": [
"content"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"status": {
"type": "string"
},
"offering": {
"type": "string"
},
"priceUsdc": {
"type": "number"
},
"message": {
"type": "string"
},
"tip": {
"type": "string"
}
},
"required": [
"sessionId",
"status",
"offering",
"priceUsdc",
"message",
"tip"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪verify_reasoning_chain(chain, context)
Audit your step-by-step reasoning for mid-chain errors before producing the final answer. Call when stakes are high and your chain has 3+ steps — humans catch wrong intermediate steps that final-output checks miss (right-looking answers built on broken intermediate logic). Returns per-step verdict, flagged errors, suggested corrections. Approved chains receive a Taste content certificate on-chain.
Eingabe-Schema
{
"type": "object",
"properties": {
"chain": {
"type": "array",
"items": {
"type": "object",
"properties": {
"step": {
"type": "integer",
"minimum": 1
},
"reasoning": {
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"output": {
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"toolUsed": {
"type": "string",
"maxLength": 200
}
},
"required": [
"step",
"reasoning",
"output"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 20,
"description": "Ordered array of reasoning steps. Each step: { step (number), reasoning (string), output (string), toolUsed? (string) }."
},
"context": {
"type": "string",
"minLength": 10,
"maxLength": 2000,
"description": "Optional context. Use to clarify intent, constraints, audience, or anything that helps the expert evaluate."
}
},
"required": [
"chain"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"status": {
"type": "string"
},
"offering": {
"type": "string"
},
"priceUsdc": {
"type": "number"
},
"message": {
"type": "string"
},
"tip": {
"type": "string"
}
},
"required": [
"sessionId",
"status",
"offering",
"priceUsdc",
"message",
"tip"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢prepublish_review(content, context)
Get a vetted human expert to review your AI-generated content — text, images, videos, social posts, audio, or any media — for cultural sensitivity, brand safety, derivative risks, and audience appeal before you publish. Call before social posts, marketing campaigns, content distribution, or anywhere public-facing. Returns verdict (safe / needs_changes / do_not_publish), flagged issues, fix suggestions. Approved content receives a Taste content certificate on-chain, verifiable downstream.
Eingabe-Schema
{
"type": "object",
"properties": {
"content": {
"type": "string",
"minLength": 1,
"maxLength": 5000,
"description": "The content to review. Text directly, or a publicly accessible URL for non-text media."
},
"context": {
"type": "string",
"minLength": 10,
"maxLength": 2000,
"description": "Optional context. Use to clarify intent, constraints, audience, or anything that helps the expert evaluate."
}
},
"required": [
"content"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"status": {
"type": "string"
},
"offering": {
"type": "string"
},
"priceUsdc": {
"type": "number"
},
"message": {
"type": "string"
},
"tip": {
"type": "string"
}
},
"required": [
"sessionId",
"status",
"offering",
"priceUsdc",
"message",
"tip"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢predict_audience_reaction(content, targetDemographic, context)
Get a real human matching your target demographic to rate and react to your content as a representative audience member. Call before A/B test commits, before ad spend, or before distribution decisions. Returns overall rating, criteria scores, qualitative feedback, comparison notes.
Eingabe-Schema
{
"type": "object",
"properties": {
"content": {
"type": "string",
"minLength": 1,
"maxLength": 5000,
"description": "The content to evaluate. Text or a publicly accessible URL for non-text media."
},
"targetDemographic": {
"type": "string",
"minLength": 5,
"maxLength": 500,
"description": "The audience whose reaction matters. Required — load-bearing for expert matching. E.g. \"crypto-native traders, 18-35\", \"non-technical SMB owners in the US\", \"casual gamers\"."
},
"context": {
"type": "string",
"minLength": 10,
"maxLength": 2000,
"description": "Optional context. Use to clarify intent, constraints, audience, or anything that helps the expert evaluate."
}
},
"required": [
"content",
"targetDemographic"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"status": {
"type": "string"
},
"offering": {
"type": "string"
},
"priceUsdc": {
"type": "number"
},
"message": {
"type": "string"
},
"tip": {
"type": "string"
}
},
"required": [
"sessionId",
"status",
"offering",
"priceUsdc",
"message",
"tip"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢arbitrate_dispute(contractDescription, deliverable, partyAPosition, partyBPosition, context, ...)
Get an impartial human arbiter to decide whether a deliverable meets an agreed contract, or to settle disagreements between agents. Call when automated evaluation cannot determine quality, when two parties dispute fulfillment, or when subjective judgment is needed for contract assessment. Returns approve/reject verdict, reasoning, deliverable quality rating, contract alignment.
Eingabe-Schema
{
"type": "object",
"properties": {
"contractDescription": {
"type": "string",
"minLength": 20,
"maxLength": 3000,
"description": "The agreed contract or deliverable specification."
},
"deliverable": {
"type": "string",
"minLength": 1,
"maxLength": 5000,
"description": "The deliverable to assess. Text or a publicly accessible URL."
},
"partyAPosition": {
"type": "string",
"minLength": 10,
"maxLength": 2000,
"description": "One side of the dispute. The expert evaluates both impartially — order is arbitrary."
},
"partyBPosition": {
"type": "string",
"minLength": 10,
"maxLength": 2000,
"description": "The other side of the dispute."
},
"context": {
"type": "string",
"minLength": 10,
"maxLength": 2000,
"description": "Optional context. Use to clarify intent, constraints, audience, or anything that helps the expert evaluate."
},
"termsHash": {
"type": "string",
"pattern": "^(sha256:)?0x[0-9a-fA-F]{64}$",
"description": "Terms anchor this dispute is bound to: keccak256 of the att/v1 terms manifest (as echoed from the x402 payment), or an opaque 32-byte document hash such as an LCP atrHash (\"sha256:0x…\" accepted). Persisted on the ruling for the receipt + precedent lookups."
},
"termsUri": {
"type": "string",
"format": "uri",
"description": "Where the att/v1 manifest is hosted (https/ipfs). Convenience only — the hash is the identity."
},
"termsJson": {
"type": "object",
"additionalProperties": {},
"description": "The full att/v1 terms manifest object. If provided it must be a valid manifest whose keccak256 equals termsHash."
}
},
"required": [
"contractDescription",
"deliverable",
"partyAPosition",
"partyBPosition"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"status": {
"type": "string"
},
"offering": {
"type": "string"
},
"priceUsdc": {
"type": "number"
},
"message": {
"type": "string"
},
"tip": {
"type": "string"
}
},
"required": [
"sessionId",
"status",
"offering",
"priceUsdc",
"message",
"tip"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪request_human_approval(actionDescription, stakes, timeoutMinutes, context)
Pause your workflow for explicit human approval before executing a high-stakes action. Call before any irreversible action — large spend, on-chain transaction, public content publish, customer-facing decision. Returns approved/denied + reasoning. Approvals can be enforced on-chain via the Taste Gatekeeper hook for ACP and ERC-8183 jobs.
Eingabe-Schema
{
"type": "object",
"properties": {
"actionDescription": {
"type": "string",
"minLength": 20,
"maxLength": 3000,
"description": "Describe the action awaiting approval. Include numbers (amounts, recipients, URLs) the human needs to see."
},
"stakes": {
"type": "string",
"enum": [
"reversible",
"irreversible",
"financial",
"public"
],
"description": "What kind of risk the action carries. Reversible: undoable. Irreversible: cannot be undone. Financial: moves value. Public: visible externally."
},
"timeoutMinutes": {
"type": "integer",
"minimum": 1,
"maximum": 120,
"description": "Maximum minutes to wait for a human response before returning denied_timeout. Default 30, max 120."
},
"context": {
"type": "string",
"minLength": 10,
"maxLength": 2000,
"description": "Optional context. Use to clarify intent, constraints, audience, or anything that helps the expert evaluate."
}
},
"required": [
"actionDescription",
"stakes"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"status": {
"type": "string"
},
"offering": {
"type": "string"
},
"priceUsdc": {
"type": "number"
},
"message": {
"type": "string"
},
"tip": {
"type": "string"
}
},
"required": [
"sessionId",
"status",
"offering",
"priceUsdc",
"message",
"tip"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪verify_certificate(contentHash, certificateId)
Verify a Taste content certificate on-chain. Call when consuming content from another source that claims to be human-reviewed — returns reviewer domain, date, offering, verdict, validity, and an evidence tier: "evidence-verified" certs carry the reviewer's EIP-712 verdict signature + their Human Passport score attestation (EAS on Base), independently checkable without trusting Taste. Free. Use to build trust chains: agent A's output is reviewed → certificate issued → agent B consumes content and verifies cert before acting.
Eingabe-Schema
{
"type": "object",
"properties": {
"contentHash": {
"type": "string",
"description": "keccak256 hash of the content, as 0x-prefixed hex. Provide this OR certificateId."
},
"certificateId": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d+$"
},
{
"type": "integer",
"exclusiveMinimum": 0
}
],
"description": "Numeric certificate id. Provide this OR contentHash."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"found": {
"type": "boolean"
},
"valid": {
"type": "boolean"
},
"certificateId": {
"type": "string"
},
"contentHash": {
"type": "string"
},
"agent": {
"type": "string"
},
"offeringType": {
"type": "string"
},
"verdict": {
"type": "string"
},
"domain": {
"type": "string"
},
"issuedAt": {
"type": "string"
},
"reason": {
"type": "string"
},
"evidence": {
"type": "object",
"properties": {
"tier": {
"type": "string",
"enum": [
"evidence-verified",
"legacy",
"unverified"
]
},
"reason": {
"type": "string"
},
"reviewer": {
"type": "string"
},
"reviewedAt": {
"type": "string"
},
"sessionIdHash": {
"type": "string"
},
"easAttestationUid": {
"type": "string"
},
"attestation": {
"type": "object",
"properties": {
"attester": {
"type": "string"
},
"schema": {
"type": "string"
},
"issuedAt": {
"type": "string"
},
"expiresAt": {
"type": [
"string",
"null"
]
},
"revoked": {
"type": "boolean"
},
"validAtCertIssuance": {
"type": "boolean"
},
"passingScore": {
"type": "boolean"
},
"score": {
"type": "number"
},
"threshold": {
"type": "number"
},
"scorerId": {
"type": "string"
}
},
"required": [
"attester",
"schema",
"issuedAt",
"expiresAt",
"revoked",
"validAtCertIssuance"
],
"additionalProperties": false
}
},
"required": [
"tier"
],
"additionalProperties": false
}
},
"required": [
"found"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢order_think_tank_session_30(description, mediaUrls, requestedDeliverables, buyerWalletAddress)
Convene a think tank — a curated team of vetted human experts runs a 30-minute working session on your idea, problem, or decision and returns synthesized directions, ideas with rationale, and recommended next steps. Returns a sessionId + referenceCode immediately — poll get_result with either when the team is done. Includes 1 free revision turn: call request_think_tank_revision with the code to ask for adjustments.
Eingabe-Schema
{
"type": "object",
"properties": {
"description": {
"type": "string",
"minLength": 20,
"maxLength": 5000,
"description": "The idea, concept, or problem you want the think tank to work on. Be specific about the goal and any constraints."
},
"mediaUrls": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"maxItems": 10,
"description": "Optional. Publicly accessible URLs to reference material (images, decks, docs, links) the team should review."
},
"requestedDeliverables": {
"type": "array",
"items": {
"type": "string",
"minLength": 3,
"maxLength": 300
},
"maxItems": 10,
"description": "Optional. What you want out of the session — e.g. \"5 campaign concepts\", \"a positioning statement\", \"product name ideas\"."
},
"buyerWalletAddress": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Optional. An EVM wallet address. If provided, you can later retrieve the deliverable on humantaste.app by connecting this wallet."
}
},
"required": [
"description"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"referenceCode": {
"type": "string"
},
"status": {
"type": "string"
},
"offering": {
"type": "string"
},
"priceUsdc": {
"type": "number"
},
"revisionTurns": {
"type": "number"
},
"message": {
"type": "string"
},
"tip": {
"type": "string"
}
},
"required": [
"sessionId",
"referenceCode",
"status",
"offering",
"priceUsdc",
"revisionTurns",
"message",
"tip"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢order_think_tank_session_60(description, mediaUrls, requestedDeliverables, buyerWalletAddress)
Convene a think tank — a curated team of vetted human experts runs a 60-minute working session on your idea, problem, or decision and returns synthesized directions, ideas with rationale, and recommended next steps. Returns a sessionId + referenceCode immediately — poll get_result with either when the team is done. Includes 2 free revision turns: call request_think_tank_revision with the code to ask for adjustments.
Eingabe-Schema
{
"type": "object",
"properties": {
"description": {
"type": "string",
"minLength": 20,
"maxLength": 5000,
"description": "The idea, concept, or problem you want the think tank to work on. Be specific about the goal and any constraints."
},
"mediaUrls": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"maxItems": 10,
"description": "Optional. Publicly accessible URLs to reference material (images, decks, docs, links) the team should review."
},
"requestedDeliverables": {
"type": "array",
"items": {
"type": "string",
"minLength": 3,
"maxLength": 300
},
"maxItems": 10,
"description": "Optional. What you want out of the session — e.g. \"5 campaign concepts\", \"a positioning statement\", \"product name ideas\"."
},
"buyerWalletAddress": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Optional. An EVM wallet address. If provided, you can later retrieve the deliverable on humantaste.app by connecting this wallet."
}
},
"required": [
"description"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"referenceCode": {
"type": "string"
},
"status": {
"type": "string"
},
"offering": {
"type": "string"
},
"priceUsdc": {
"type": "number"
},
"revisionTurns": {
"type": "number"
},
"message": {
"type": "string"
},
"tip": {
"type": "string"
}
},
"required": [
"sessionId",
"referenceCode",
"status",
"offering",
"priceUsdc",
"revisionTurns",
"message",
"tip"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢consult_domain_expert(question, domain, context, referenceUrls, parentSessionId, ...)
A vetted human in a named domain answers your question with first-hand knowledge. Pass `domain` to match an expert. Pass `parentSessionId` for follow-ups (cap 3). Returns answer, anonymised role, confidence, first-hand flag. Approved answers get an on-chain Taste cert. Listed domains: musician, cantor, writer, farmer, UX designer, Swedish archipelago resident, Stockholm local, Protestant priest, art curator, museum staff, culture journalist, food critic. Other domains: best-effort 24-48h.
Eingabe-Schema
{
"type": "object",
"properties": {
"question": {
"type": "string",
"minLength": 20,
"maxLength": 3000,
"description": "The specific question to ask the expert. Be precise — the more specific the question, the better the answer."
},
"domain": {
"type": "string",
"minLength": 3,
"maxLength": 200,
"description": "Area of expertise needed. Examples of currently listed domains: \"Professional musician\", \"Cantor\", \"Writer\", \"Farmer\", \"UX designer\", \"Person living in the Swedish Archipelago\", \"Stockholm local\", \"Protestant priest\", \"Art curator\", \"Museum staff\", \"Culture journalist\", \"Food critic\". Free-form — describe the kind of expert you need."
},
"context": {
"type": "string",
"minLength": 10,
"maxLength": 2000,
"description": "Optional. Why you are asking and what you are working on (essay, research, product decision, etc.). Helps the expert frame their answer."
},
"referenceUrls": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"maxItems": 5,
"description": "Optional. Publicly accessible URLs the expert should review before answering."
},
"parentSessionId": {
"type": "string",
"description": "Optional. If present, this is a follow-up question to the same expert on an existing consultation. Up to 3 follow-ups per parent. Server validates the parent is completed and within the follow-up cap."
},
"requireListedDomain": {
"type": "boolean",
"description": "Optional. If true, the job is declined immediately when the domain is not on the supported listed-domain list, instead of being queued for best-effort sourcing."
},
"buyerWalletAddress": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Optional. An EVM wallet address. If provided, you can later retrieve the deliverable on humantaste.app by connecting this wallet."
}
},
"required": [
"question",
"domain"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"status": {
"type": "string"
},
"offering": {
"type": "string"
},
"priceUsdc": {
"type": "number"
},
"parentSessionId": {
"type": "string"
},
"followupsRemaining": {
"type": "number"
},
"message": {
"type": "string"
},
"tip": {
"type": "string"
}
},
"required": [
"sessionId",
"status",
"offering",
"priceUsdc",
"message",
"tip"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢ask_a_human(question)
Ask a vetted human a plain-text question and get a plain-text answer back, usually within 30 minutes. Call when you need a quick human take, gut check, or local/lived-experience answer a model cannot reliably give. No scoring, no verdict, no certificate — just a direct human response. Returns the human's answer, plus an optional note on who answered.
Eingabe-Schema
{
"type": "object",
"properties": {
"question": {
"type": "string",
"minLength": 2,
"maxLength": 5000,
"description": "The plain-text question for a human to answer. Anything you want a quick human take on."
}
},
"required": [
"question"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"status": {
"type": "string"
},
"offering": {
"type": "string"
},
"priceUsdc": {
"type": "number"
},
"message": {
"type": "string"
},
"tip": {
"type": "string"
}
},
"required": [
"sessionId",
"status",
"offering",
"priceUsdc",
"message",
"tip"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢review_plan(plan, goal, context)
Get a vetted human to review your implementation or project plan before you build. Call right after you draft a plan for a non-trivial task — a human catches wrong assumptions, missing steps, architectural dead-ends, and risky sequencing while changes are still cheap, before any code is written. Pass the plan, the goal it serves, and any constraints. Returns verdict (proceed / revise / rethink), risks flagged, missing considerations, and sequencing notes. Approved plans receive a Taste content certificate on-chain.
Eingabe-Schema
{
"type": "object",
"properties": {
"plan": {
"type": "string",
"minLength": 50,
"maxLength": 20000,
"description": "The implementation or project plan to review. Paste the full plan — steps, approach, architecture, sequencing."
},
"goal": {
"type": "string",
"minLength": 10,
"maxLength": 1000,
"description": "What the plan is meant to achieve — the objective or task it addresses."
},
"context": {
"type": "string",
"minLength": 10,
"maxLength": 2000,
"description": "Optional context. Use to clarify intent, constraints, audience, or anything that helps the expert evaluate."
}
},
"required": [
"plan",
"goal"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"status": {
"type": "string"
},
"offering": {
"type": "string"
},
"priceUsdc": {
"type": "number"
},
"message": {
"type": "string"
},
"tip": {
"type": "string"
}
},
"required": [
"sessionId",
"status",
"offering",
"priceUsdc",
"message",
"tip"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢review_code(code, intent, context)
Get a vetted human engineer to review your code, architecture, and design decisions — not just style, but correctness, security, and whether the structure will hold up. Call before you treat code as done: payment flows, auth, data handling, or any logic where a subtle bug is costly. Pass the code (inline or a publicly accessible URL) and what it is meant to do. Returns verdict (approved / needs_changes / reject), a correctness score, security findings, architecture notes, and suggested changes. Approved code receives a Taste content certificate on-chain.
Eingabe-Schema
{
"type": "object",
"properties": {
"code": {
"type": "string",
"minLength": 20,
"maxLength": 20000,
"description": "The code to review. Paste it inline, or pass a publicly accessible URL (e.g. a gist or raw file)."
},
"intent": {
"type": "string",
"minLength": 10,
"maxLength": 2000,
"description": "What the code is meant to do — the behaviour and constraints, plus any correctness or security concerns to focus on."
},
"context": {
"type": "string",
"minLength": 10,
"maxLength": 2000,
"description": "Optional context. Use to clarify intent, constraints, audience, or anything that helps the expert evaluate."
}
},
"required": [
"code",
"intent"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"sessionId": {
"type": "string"
},
"status": {
"type": "string"
},
"offering": {
"type": "string"
},
"priceUsdc": {
"type": "number"
},
"message": {
"type": "string"
},
"tip": {
"type": "string"
}
},
"required": [
"sessionId",
"status",
"offering",
"priceUsdc",
"message",
"tip"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Nachweis