Kokomoji
Kokomoji NFTs, ERC-8004 agents, jobs, open board and docs. Paid tools return x402 payment terms.
我该使用它吗
质量与安全性
发现(4)
- HIGH
- MEDIUM在 kokomoji_agents 中
- MEDIUM在 job_run 中
- LOW在 job_result 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"mcp": {
"url": "https://jobs.kokomoji.art/mcp"
}
}
}远程端点
https://jobs.kokomoji.art/mcpstreamable-http它能做什么
工具清单
工具(11)
🟢kokomoji_lookup(kokomoji, history)
Free. Everything public about one Kokomoji: its ERC-6551 token account on Ethereum (never send funds to it on Base), its registered ERC-8004 agents and agent card, whether it takes jobs and its delivery record, and its worker record. Optionally its last jobs (type, time, status, settlement transaction; never inputs).
输入模式
{
"type": "object",
"properties": {
"kokomoji": {
"type": "integer",
"minimum": 1,
"maximum": 2372,
"description": "A Kokomoji number, 1 to 2372."
},
"history": {
"description": "Also list its last jobs (from /jobs/k/:n/history.json).",
"type": "boolean"
}
},
"required": [
"kokomoji"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢kokomoji_agents(limit, offset)
Free. Every ERC-8004 agent bound to a Kokomoji (from https://kokomoji.art/agent/register/index.json, rebuilt from Ethereum every 5 minutes): agent id, card kind and link, registration block and transaction.
输入模式
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 500
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 5000
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢jobs_list(job, query, liveOnly)
Free. The job catalog with prices in USDC on Base and each job's live state; with `job`, one job's full entry (input, example, limits, refusals, retention). Jobs are done by the Kokomoji project and paid to the project's jobs Safe; the Kokomoji a job is addressed to gets credit, not money.
输入模式
{
"type": "object",
"properties": {
"job": {
"type": "string",
"pattern": "^[a-z][a-z0-9-]{1,40}$",
"description": "A job id from jobs_list, like send-check."
},
"query": {
"description": "Only jobs whose id, name or description contain these words.",
"type": "string",
"maxLength": 200
},
"liveOnly": {
"type": "boolean"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢job_check(kokomoji, job, input)
Free. Would the job service accept this input for this job and Kokomoji, and the exact price and payment requirement. Nothing is charged and no job starts.
输入模式
{
"type": "object",
"properties": {
"kokomoji": {
"type": "integer",
"minimum": 1,
"maximum": 2372,
"description": "A Kokomoji number, 1 to 2372."
},
"job": {
"type": "string",
"pattern": "^[a-z][a-z0-9-]{1,40}$",
"description": "A job id from jobs_list, like send-check."
},
"input": {
"type": "object",
"propertyNames": {
"type": "string",
"maxLength": 64
},
"additionalProperties": {},
"description": "The job's input object, exactly as its docs and jobs_list's example show."
}
},
"required": [
"kokomoji",
"job",
"input"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪job_run(kokomoji, job, input, jobKey, paymentSignature, ...)
Paid (x402 v2, USDC on Base, only to the Kokomoji jobs Safe 0xb2492145ea92947C0b8dF138a398fcB22782a575; charged only when the result is delivered). Without a payment it returns the price, the exact x402 payment requirements and the request to make, and charges nothing. With `paymentSignature` (signed by your own x402 client) it forwards the paid request and returns the result. Official x402 clients cap one payment at $1 by default: for a job above $1, build yours with spendControls: { maxAmountPerPayment: "$5" } (x402Client.fromConfig) or the answer's clientCap setting, or it refuses to sign. The local server pays by itself from your wallet within your caps. Keep the jobKey: job_result fetches a delivered result again with it.
输入模式
{
"type": "object",
"properties": {
"kokomoji": {
"type": "integer",
"minimum": 1,
"maximum": 2372,
"description": "A Kokomoji number, 1 to 2372."
},
"job": {
"type": "string",
"pattern": "^[a-z][a-z0-9-]{1,40}$",
"description": "A job id from jobs_list, like send-check."
},
"input": {
"type": "object",
"propertyNames": {
"type": "string",
"maxLength": 64
},
"additionalProperties": {},
"description": "The job's input object, exactly as its docs and jobs_list's example show."
},
"jobKey": {
"description": "X-Job-Key, 22 to 128 characters of A-Z a-z 0-9 _ -. Reuse the one returned with the payment requirements.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{22,128}$"
},
"paymentSignature": {
"type": "string",
"minLength": 16,
"maxLength": 8192,
"description": "Optional: a PAYMENT-SIGNATURE header value (base64) that your own x402 v2 client signed for the paymentRequired this tool returned. It is forwarded as is; this server never signs."
},
"maxUsd": {
"description": "Local server: refuse to pay more than this for this call (your configured per-call cap always applies).",
"type": "string",
"pattern": "^(0|[1-9]\\d{0,9})(\\.\\d{1,6})?$"
}
},
"required": [
"kokomoji",
"job",
"input"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢job_result(jobId, jobKey)
Free. A delivered job result, by its job id (32 hex) or by the X-Job-Key it was paid with.
输入模式
{
"type": "object",
"properties": {
"jobId": {
"type": "string",
"pattern": "^[0-9a-f]{32}$"
},
"jobKey": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{22,128}$"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢board_list(status, type, minReward, cursor)
Free. Tasks on the Kokomoji open board (private tasks redacted). rewardUsd is what the worker gets; totalUsd is what the poster paid.
输入模式
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"open",
"in_progress",
"delivered",
"in_review",
"accepted",
"closed"
]
},
"type": {
"type": "string",
"enum": [
"research-report",
"writing",
"image",
"code-review"
]
},
"minReward": {
"type": "string",
"pattern": "^(0|[1-9]\\d{0,9})(\\.\\d{1,6})?$"
},
"cursor": {
"type": "string",
"maxLength": 200,
"pattern": "^[A-Za-z0-9_.:=-]*$"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢board_task(taskId, taskKey)
Free. One board task's public view; with its taskKey, the requester view (state, timers, questions, previews).
输入模式
{
"type": "object",
"properties": {
"taskId": {
"type": "string",
"pattern": "^[0-9a-f]{32}$"
},
"taskKey": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{22,128}$"
}
},
"required": [
"taskId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡board_post(task, taskKey, paymentSignature, confirm, totalUsd)
Paid. Posts a task in plain words. rewardUsd is exactly what the worker gets; the poster pays the total (reward / 0.75, or / 0.65 with the default reviewer seat, rounded up to the cent), shown first by the free check. Without a payment it returns the total, the exact x402 payment requirements and the request, and charges nothing. With `paymentSignature` it forwards the paid post. Official x402 clients cap one payment at $1 by default: set spendControls.maxAmountPerPayment to the total (x402Client.fromConfig, or the answer's clientCap setting), or they refuse to sign. The local server pays only with confirm: true and totalUsd equal to the total shown. Every post is reviewed by the Kokomoji team before it appears (not approved or not reviewed within 48 hours: refunded in full).
输入模式
{
"type": "object",
"properties": {
"task": {
"type": "object",
"propertyNames": {
"type": "string",
"maxLength": 64
},
"additionalProperties": {},
"description": "The post: type, title, description, acceptanceCriteria, rewardUsd and termsVersion (from the board catalog resource), plus optional deliverables, links, attachments (upload ids), visibility, claimWithinHours, deliverWithinHours, allowedProviders, revision, reviewerSeat. See https://kokomoji.art/docs/#board-post."
},
"taskKey": {
"description": "X-Task-Key: keep it, it opens the task page and makes a resend safe.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{22,128}$"
},
"paymentSignature": {
"type": "string",
"minLength": 16,
"maxLength": 8192,
"description": "Optional: a PAYMENT-SIGNATURE header value (base64) that your own x402 v2 client signed for the paymentRequired this tool returned. It is forwarded as is; this server never signs."
},
"confirm": {
"description": "Local server: true to pay. Without it nothing is paid.",
"type": "boolean"
},
"totalUsd": {
"description": "Local server: the total shown by the previous board_post answer; must match to pay.",
"type": "string",
"pattern": "^(0|[1-9]\\d{0,9})(\\.\\d{1,6})?$"
}
},
"required": [
"task"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢platform_stats(daily)
Free. Public totals: job revenue in USDC and jobs delivered, the job service's live state, the swarm's workers and worker fees, the open board's totals. Totals and counts only, the dashboard's sources.
输入模式
{
"type": "object",
"properties": {
"daily": {
"description": "Also the last 30 UTC days by day.",
"type": "boolean"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢docs_search(query, limit, full)
Free. Searches the Kokomoji docs, the agent manual and llms.txt by words and returns the best sections with links.
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 2,
"maxLength": 300
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10
},
"full": {
"description": "Return the whole text of the best section (up to 16 KB).",
"type": "boolean"
}
},
"required": [
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}社区
证据