ワンクリックで
eva-agent-onboarding
Onboard agents to Eva Protocol through MCP and wallet-aware thesis workflows.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Onboard agents to Eva Protocol through MCP and wallet-aware thesis workflows.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | eva-agent-onboarding |
| description | Onboard agents to Eva Protocol through MCP and wallet-aware thesis workflows. |
Use this when an agent needs to work with Eva Protocol safely.
Canonical guide: docs/MCP_AGENT_GUIDE.md.
Copy-paste payloads: docs/MCP_AGENT_EXAMPLES.md.
Prompt routing cards: docs/MCP_AGENT_DECISION_CARDS.md.
Safe output wording: docs/AGENT_SAFE_OUTPUTS.md.
pnpm --filter backend mcp.eva-thesis stdio entry with command: "pnpm", args: ["--filter", "backend", "mcp"], and cwd set to the repo root.docs/MCP_AGENT_GUIDE.md open when creating or revising theses.docs/MCP_AGENT_EXAMPLES.md for known-good payload shapes before improvising schema fields.docs/MCP_AGENT_DECISION_CARDS.md when a prompt mixes drafting, revision, patch/append requests, anchoring, verification/scoring, publishing, storage readiness, API routes, credentials, or platform coordination status.docs/AGENT_SAFE_OUTPUTS.md before summarizing MCP write results to a user.GET /api/mcp discovery boundary check (toolDescriptions plus agentSafeBoundary.defaultWriteScope: "draft_and_anchor_prep_only", mcpOutputCeiling: "anchor_prepared", storageClaimDefault: "storage_not_assessed", safeResultVerbs, and notEvidenceForStrongerClaims), exact five-tool allowlist, discovery description boundary, and a read-only search_markets call. Do not use write-adjacent tools as connectivity smoke.create_thesis_draft, prepare_revision_draft, and prepare_anchor_transaction rehearsal as blocked until exact onboarding or task-time xHandle, walletAddress, and walletSource approval exists. Keep rehearsal local unless a separate approved remote path with scoped credentials and receipt/readback requirements exists.docs/MCP_AGENT_ERROR_HANDLING.md when MCP work fails: classify client setup failure, live allowlist drift, input schema mismatch, missing thesis/identity readback, protocol readback gap, or approved non-MCP execution gap before choosing a lower-rung recovery.docs/MCP_AGENT_GUIDE.md or docs/MCP_AGENT_QUICKSTART.md before composing payloads: walletSource is only accepted by create_thesis_draft, note is only accepted by prepare_revision_draft, and result markers such as publishState, anchorStatus, anchorPreparationId, tx hash, receipt/readback, and storage wording are never input fields.walletSource; revision handoffs should say walletSource not accepted by prepare_revision_draft; anchor-rebuild handoffs should report the thesisId and any signer/source approval needed before later broadcast. Never add walletSource to revision or anchor-rebuild payloads to make the report look complete.docs/MCP_AGENT_ERROR_HANDLING.md when an input is almost valid but has malformed odds, URLs, weights, verifier fields, revision-body shape, identity authority, or direct REST-write requests.search_markets is read-only with openWorldHint: true because it may query the configured market universe; get_thesis is read-only with openWorldHint: false; draft-prep tools have readOnlyHint: false plus non-destructive/idempotent and openWorldHint: false hints, which still caps them at draft prepared / anchor prepared without approval and receipt/readback evidence.GET /api/mcp discovery response as permission boundaries too. The HTTP discovery response should expose matching toolDescriptions and an agentSafeBoundary card; use its safeResultVerbs, requiredForSubmitted, requiredForPublishedLive, and notEvidenceForStrongerClaims as a machine-readable downgrade card. If a client-visible description says a tool does not publish, broadcast, call direct REST writes, or prove storage durability, keep the result at the lower rung; if a write-adjacent description or discovery boundary omits that boundary or conflicts with the docs, report blocked: live allowlist drift instead of using the broader interpretation.waiting_on, blocked_reason), old prepared JSON, and old anchorPreparationId values as coordination notes only. Live MCP payloads may contain only accepted schema fields backed by task-time approval, fresh readback, or screened source evidence.docs/MARKET_POLICY.md before it enters predictionSignals. MCP search_markets is preferred because it uses the app-filtered market universe; external, stale, manual, or screenshot-sourced markets must be screened. Exclude sports, elections/political offices, active geopolitics/armed conflict, personal tragedy/private life, criminal trials, easily manipulated social/action prompts, and entertainment/pop-culture novelty markets instead of using them as Eva thesis signals.publish now, make live, use this API key, reuse the old anchorPreparationId, just use Eva's wallet, and prove storage/launch readiness. These force a downgrade or blocked: response unless approval, receipt/readback, storage readiness/readback, and task-time identity evidence are actually present.content[0].text; if isError: true, the text part is missing, or the text is not parseable JSON, report blocked: and do not infer status markers.isError: true text as diagnostic prose only. Do not JSON-parse it as success, merge it with an old anchorPreparationId, or fill publishState, anchorStatus, transaction, receipt/readback, public/live, or storage fields from prior context. Classify the failure and return blocked: unless the retry budget allows one format-only repair.type: "text" part, parse its JSON, and fill the handoff only from the parsed object. A tool name or SDK envelope is not evidence for publishState, anchorStatus, tx hash, receipt/readback, storage readiness, or public/live state.search_markets can only supply candidate signals, get_thesis can only supply current thesis/identity readback, and each write-adjacent call can only supply its own publishState, anchorStatus, anchorPreparationId, and transactions. Do not merge a prior success with a later error envelope or let one call's prepared markers stand in for another call's missing receipt, storage check, or public readback.read-only, draft prepared, anchor prepared, submitted, or published/live.publishState, anchorStatus, anchorPreparationId, transaction count, tx hash/receipt/readback state, content identifiers, signal/source gaps, and storage state. Mark missing fields as not returned; do not infer them.anchorPreparationId values are leads only. Revalidate with get_thesis, API/public URL evidence, onchain receipt/readback, or a named readiness/readback check before repeating protocol-state claims.get_thesis: compare parsed.thesis.author.xHandle, parsed.thesis.author.walletAddress, and parsed.thesis.author.walletSource with task-time approval before prepare_revision_draft; use thesis.currentRevision.body as the base for a full replacement body when preserving text, and block on any identity mismatch instead of creating a replacement thesis or swapping wallets.POST /api/theses, POST /api/thesis-anchor/prepare, or production write endpoints. Direct REST writes require a separate approved execution path, scoped credentials, and receipt/readback evidence.docs/AGENT_SAFE_OUTPUTS.md: approved execution path, approval evidence, credential scope, write receipt, readback evidence, and safe claim after execution. Missing rows mean stay at draft prepared / anchor prepared.xHandle, walletAddress, walletSource, and thesisId must come from task-time approval or fresh get_thesis readback. walletAddress must be a full 0x-prefixed 40-hex-character EVM address; the live schema rejects ENS names, shortened addresses, and missing 0x prefixes. Do not resolve ENS, expand shortened addresses, use private keys/seed phrases, choose between wallets, reuse "same as last time", treat titles/slugs/screenshots/old metadata as thesis ids, or swap in Eva's wallet as a convenience fallback. If the exact identity is missing or mismatched, return blocked: exact identity input missing or blocked: revision identity mismatch before preparing calldata.walletSource, signal weight, role, status, verifier verdict, or verifier score must be called out or backed by task-time evidence before it affects claims.0x0fe61780bd5508b3C99e420662050e5560608cA4 only when the operator explicitly approved that signer for the task.search_markets.get_thesis first, then prepare_revision_draft with a concise delta note.create_thesis_draft.prepare_anchor_transaction.Mixed prompt shortcut:
draft and publish means create_thesis_draft only through MCP, followed by a publish blocker until approval, tx hash, and receipt/readback exist.revise this thesis means get_thesis first; missing thesis id or mismatched identity is a blocker, not permission to create a replacement.patch/append/small edit this thesis still means get_thesis first, then prepare_revision_draft only with a full replacement body built from fresh readback plus the approved delta. Patch-only, diff-only, append-only, or paragraph-only text is not a safe revision body.anchor it means prepare_anchor_transaction for calldata only; no broadcast or confirmation is implied.verify/score/certify this thesis or fact means no MCP tool can create verification. get_thesis may inspect current state, but verification wording needs a separate approved verifier path, verdict/score provenance, report/readback evidence, and matching thesis/fact identity.prove launch readiness means no MCP draft-prep tool can prove storage durability; use storage readiness blocked unless a named readiness/readback check exists.Do not create a replacement thesis because get_thesis failed. Missing thesis id, mismatched identity, or unauthorized wallet authority is a blocker.
Use this drill for a new agent before it touches a real user-requested thesis. It proves the agent can route reads, draft prep, revision prep, and handoff wording without implying publication.
read-only MCP smoke:
- local stdio server: `eva-thesis` from repo root via `pnpm --filter backend mcp`
- optional HTTP discovery smoke: `GET /api/mcp` returns matching `toolDescriptions` and an `agentSafeBoundary` with `defaultWriteScope: "draft_and_anchor_prep_only"`, `mcpOutputCeiling: "anchor_prepared"`, `storageClaimDefault: "storage_not_assessed"`, `safeResultVerbs`, and `notEvidenceForStrongerClaims`
- tool list smoke: exactly `search_markets`, `get_thesis`, `create_thesis_draft`, `prepare_revision_draft`, `prepare_anchor_transaction`
- description boundary smoke: write-adjacent tools say no publish, no broadcast, no direct REST writes, and no storage-durability proof
- read-only call smoke: `search_markets` works and the result stays `read-only`
- write-adjacent rehearsal: blocked until exact onboarding-approved identity exists
If this smoke fails, stop at blocked: client setup failure or blocked: live allowlist drift. Do not use create_thesis_draft, prepare_revision_draft, prepare_anchor_transaction, app HTTP routes, UI scraping, or production write paths as a connectivity workaround.
cwd:{
"eva-thesis": {
"command": "pnpm",
"args": ["--filter", "backend", "mcp"],
"cwd": "/absolute/path/to/eva-jaack"
}
}
operation: read-only
identity source: not required for search_markets
evidence source: market search query only
market policy: MCP-filtered result set
output ceiling: read-only
{
"tool": "search_markets",
"input": { "query": "SpaceX IPO" },
"expectedRung": "read-only"
}
operation: new draft
identity source: onboarding rehearsal approval for @evajaack + Eva wallet + external walletSource
evidence source: explicitly signal-light; no market or fact URLs claimed
market policy: signal-light because no prediction markets are attached
output ceiling: draft prepared / anchor prepared
{
"tool": "create_thesis_draft",
"input": {
"title": "SpaceX IPO liquidity rotation rehearsal",
"body": "If SpaceX IPO probability rises, attention and liquidity should rotate toward adjacent launch, satellite, and private-market infrastructure narratives. This is a rehearsal draft for agent onboarding, not a live market call.",
"xHandle": "@evajaack",
"walletAddress": "0x0fe61780bd5508b3C99e420662050e5560608cA4",
"walletSource": "external",
"predictionSignals": [],
"factSignals": []
},
"expectedRung": "draft prepared",
"expectedPublishState": "anchor_prepared_not_published"
}
get_thesis confirms the exact thesis and identity. Use a short delta note:revision identity readback:
- thesisId: <parsed.thesis.thesisId>
- current revision: <parsed.thesis.currentRevision.version>
- author xHandle: <parsed.thesis.author.xHandle>
- author walletAddress: <parsed.thesis.author.walletAddress>
- author walletSource: <parsed.thesis.author.walletSource>
If the readback identity does not match task-time approval, stop at blocked: revision identity mismatch and do not prepare revision calldata.
operation: revision
identity source: `get_thesis` readback plus task-time approval for xHandle and walletAddress
evidence source: full replacement body from approved source text; note summarizes the delta
market policy: preserve existing accepted markets or screen any new markets against docs/MARKET_POLICY.md
output ceiling: draft prepared / anchor prepared
{
"tool": "prepare_revision_draft",
"input": {
"thesisId": "<confirmed-thesis-id>",
"body": "<full replacement thesis body>",
"note": "Adds the latest odds move and separates catalyst from second-order liquidity impact.",
"xHandle": "@evajaack",
"walletAddress": "0x0fe61780bd5508b3C99e420662050e5560608cA4"
},
"expectedRung": "draft prepared",
"expectedPublishState": "anchor_prepared_not_published"
}
prepared: new thesis draft
tool: create_thesis_draft
rung: draft prepared / anchor prepared only
publishState: anchor_prepared_not_published
anchorStatus: prepared
storage: not assessed
next evidence needed: explicit approval, transaction hash, receipt/readback, and durable storage check before any live claim
boundary: no transaction broadcast and no public publish happened
search_markets, get_thesis) are safe by default.create_thesis_draft, prepare_revision_draft, prepare_anchor_transaction) prepare calldata and previews only.publishState: "anchor_prepared_not_published" and anchorStatus: "prepared"; it is not public publish support.prepare_anchor_transaction rebuilds calldata for an existing thesis; it still does not broadcast, confirm, or publish anything.submitted or published/live rungs; those require explicit approval plus tx/public-state evidence.done / in_review, PR merged, deployment green, or old issue comments do not upgrade a protocol claim. They are not proof that a thesis is live, anchored, revised, submitted, confirmed, or storage-verified.storage not assessed for local/dry-run prep, storage readiness blocked when production readiness does not expose durable write-path evidence, and storage verified only after an approved readiness/readback check proves persisted thesis state.xHandle, walletAddress, or wallet source to make a draft work. If identity is missing, invalid, or unauthorized, stop and ask for the correct operator-approved identity.When an agent revises an existing thesis:
get_thesis; do not trust stale comments or old draft JSON.prepare_revision_draft with a full replacement body, not a patch, diff, append-only note, or partial paragraph. Use a concise note to explain the delta.Current live schema note: prepare_revision_draft accepts thesisId, body, note, xHandle, and walletAddress. It does not accept walletSource yet.
Current market status enum: open, closed, resolved, cancelled. Treat cancelled as a source-market state only; it is not a thesis publish state and does not imply an Eva draft or anchor was cancelled.
Schema defaults exist for low-risk draft prep, but evidence-bearing fields should be explicit when known. Use valid URLs only; omit unknown source URLs and report the gap in the handoff.
Schema defaults are not approval: create_thesis_draft.walletSource may default to external, but signer/source authority still needs task-time approval. Defaulted signal fields such as selectedOutcomeLabel, weight, role, status, verifierVerdict, and verifierScore are fallbacks, not proof that evidence exists or that the signal is weighted/verified from sources.
Repair malformed schema fields only when the prompt or approved context directly supports the repair. Examples: convert 36% to 0.36 only when percent meaning is explicit; omit an optional malformed URL and report the source URL gap only when the signal remains auditable; use exploratory verifier defaults only for exploratory drafts. If the value would change meaning, affect identity authority, or require inventing a full revision body, report blocked: instead of guessing.
Fact signals may include optional reportUri and reportHash evidence pointers. Include them only when they already exist; do not fabricate verifier reports, hashes, or storage URIs.
If a tool returns an error or a missing thesis, report the blocker directly. Do not retry with a guessed thesis ID or alternate wallet.
After draft prep, report the anchorPreparationId, the prepared transaction purpose, storage readiness state, and the exact missing approval/confirmation step. Do not say the thesis is live, public, published, or production-durable from MCP output alone.
If a needed marker is absent, write not returned or blocked: rather than upgrading the claim. Missing tx hash means not submitted. Missing receipt/readback means not confirmed. Missing readiness/readback evidence means storage not assessed.
Use a minimal result card when handing work to users or agents:
prepared: <new thesis draft | revision draft | anchor rebuild | read-only inspection>
tool: <tool name>
rung: <read-only | draft prepared | anchor prepared | submitted | published/live>
publishState: <anchor_prepared_not_published | not applicable>
anchorStatus: <prepared | not applicable>
storage: <not assessed | readiness blocked | verified by named check>
next evidence needed: <approval / tx hash / receipt-readback / storage check / none>
boundary: no transaction broadcast and no public publish unless explicitly evidenced above
Use docs/AGENT_SAFE_OUTPUTS.md for short user-facing wording and docs/MCP_AGENT_HANDOFF_TEMPLATE.md for full handoffs between agents, reviewers, or issue comments.