Kokomoji
art.kokomoji/mcpkokomoji.artstreamable-httpv0.1.0Scanned
Kokomoji NFTs, ERC-8004 agents, jobs, open board and docs. Paid tools return x402 payment terms.
11 tools: 7 change things and 4 only read.
- Reads private data · 1
- Reads text others write · 11
- Can send data out · 1
- 1 finding
Anlyon alternative
7 of these tools change something. Run those as governed actions.
Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.
Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.
Import an OpenAPI spec →Tools
Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.
11 tools
Changes things 7Claude Code: ask
board_postPaid.Reads text others writeCan send data outNo findings
Why it is in this group
- The name "board_post" says "post": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- outboundThe name "board_post" says "post": it sends or publishes something to other people.
Description, as the server wrote it 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. 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).
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
board_taskFree.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Free. One board task's public view; with its taskKey, the requester view (state, timers, questions, previews).
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
job_checkFree.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
job_resultFree.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Free. A delivered job result, by its job id (32 hex) or by the X-Job-Key it was paid with.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
job_runPaid (x402 v2, USDC on Base, only to the Kokomoji jobs Safe 0xb2492145ea92947C0b8dF138a398fcB22782a575; charged only when the result is delivered).Reads text others write1 finding
Why it is in this group
- The name "job_run" says "run": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Warn
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...Kokomoji jobs Safe 0xb2492145ea92947C0b8dF138a398fcB22782a575; charged only when..."
Description, as the server wrote it 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. The local server pays by itself from your wallet within your caps. Keep the jobKey: job_result fetches a delivered result again with it.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
kokomoji_agentsFree.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
platform_statsFree.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
Only reads 4Show 4 read-only tools
board_listFree.Reads text others writeNo findings
Why it is in this group
- The name "board_list" says "list": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Free. Tasks on the Kokomoji open board (private tasks redacted). rewardUsd is what the worker gets; totalUsd is what the poster paid.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
docs_searchFree.Reads private dataReads text others writeNo findings
Why it is in this group
- The name "docs_search" says "search": a word for reading.
What it can reach
- private-dataThe name "docs_search" says "search" and "doc": it reads documents.
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Free. Searches the Kokomoji docs, the agent manual and llms.txt by words and returns the best sections with links.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
jobs_listFree.Reads text others writeNo findings
Why it is in this group
- The name "jobs_list" says "list": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
kokomoji_lookupFree.Reads text others writeNo findings
Why it is in this group
- The name "kokomoji_lookup" says "lookup": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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).
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
11 paths in this server alone from private data, through text someone else wrote, to a way out. Denying 1 outbound tool breaks every one.
- Reads private data1
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write11
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out1
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
{
"permissions": {
"deny": [
"mcp__kokomoji__board_post"
]
}
}Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Findings
Matches of fixed checks, with the text they matched.
- Warnjob_run
The description contains a 42-character base64 string.
What this check looks forMatched text
description: "...Kokomoji jobs Safe 0xb2492145ea92947C0b8dF138a398fcB22782a575; charged only when..."
History
Changes to its tool definitions and to its remote endpoint, newest first.
No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.
Install
Pinned to version 0.1.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http kokomoji https://jobs.kokomoji.art/mcpclaude mcp add --transport http kokomoji https://jobs.kokomoji.art/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__kokomoji__kokomoji_lookup",
"mcp__kokomoji__jobs_list",
"mcp__kokomoji__board_list",
"mcp__kokomoji__docs_search"
],
"ask": [
"mcp__kokomoji__kokomoji_agents",
"mcp__kokomoji__job_check",
"mcp__kokomoji__job_run",
"mcp__kokomoji__job_result",
"mcp__kokomoji__board_task",
"mcp__kokomoji__board_post",
"mcp__kokomoji__platform_stats"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as kokomoji. Review it before you use it.
Capability tags behind 11 rules
- mcp__kokomoji__kokomoji_lookup untrusted-input
- mcp__kokomoji__kokomoji_agents untrusted-input
- mcp__kokomoji__jobs_list untrusted-input
- mcp__kokomoji__job_check untrusted-input
- mcp__kokomoji__job_run untrusted-input
- mcp__kokomoji__job_result untrusted-input
- mcp__kokomoji__board_list untrusted-input
- mcp__kokomoji__board_task untrusted-input
- mcp__kokomoji__board_post untrusted-input, outbound
- mcp__kokomoji__platform_stats untrusted-input
- mcp__kokomoji__docs_search private-data, untrusted-input
Pin
Keep the decision: fail CI when the tools change, follow every change, or show a badge.
Pin in CI
Fail a build when the tools you reviewed are not the tools the server serves today.
curl -s "https://anlyon.dev/api/v1/servers/art.kokomoji/mcp/verify?hash=00e6241a7da6d18f16a815eb9d3a566f2ed35cecab070b3bbbc2c4ad19dd32db" | jq -e '.changed == false'Pinned hash 00e6241a7da6, from Oct 25, 2026, 17:22 UTC.
Watch
Get told when its tools change: a new tool, a new description, a new class.
https://anlyon.dev/servers/art.kokomoji/mcp/changes.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/art.kokomoji/mcp)Source: MCP Registry. Synced Oct 25, 2026, 17:21 UTC.