Skip to main content
Glama

proofable_agent_create

Create or import an agent on your profile. Default: signed-in account. Optional separate account and controls. Generate and retain any dedicated key outside Proofable, then pass only its public address. Keep the same agentId on retries.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
chainNoCAIP-2 chain identifier. Auto-detected from wallet format if omitted.
presetNoPermission preset: "assistant" (default: read, create receipts, run jobs and commands), "advisor" (read only), "operator" (assistant plus saved secrets and receipt management), or "payments" (x402 payments within maxSpend). delegationAllowedActions replaces the preset list.
skillsNoOptional AgentSkillRef[] for agent-identity (id, label, version, provider, kind, configId, enabled). configId is an optional opaque integration reference (not a secret, not an OAuth token, not credential material).
agentIdYesStable human-readable agent identifier (e.g., "my-ai-assistant"). Required, 1-128 chars.
maxSpendNoOptional spend cap: whole-number string in token base units (1 to 78 digits, no decimal point). For USDC (typical x402 flows), use six decimal places. See SDK toAgentDelegationMaxSpend.
servicesNoOptional services for agent-identity: { name, endpoint (URL), version? }.
agentTypeNoType of agent: "ai", "bot", "service", "automation", or "agent" (default: "ai").
expiresAtNoUnix time in milliseconds when the permissions expire. Use 0 for no expiration.
returnUrlNoOptional callback URL for a browser step. Proofable appends the proof ID (qHash).
agentLabelNoDisplay name for the agent (optional, defaults to agentId).
agentWalletNoAgent account. Omit to use the signed-in profile. For a dedicated account, generate and retain the key outside Proofable and pass only its public address.
descriptionNoAgent description (optional, max 500 chars).
capabilitiesNoCapability flags: "wallet", "signing", "spending", "publishing", "search", "browser", "mcp", "webhooks", "receipts", "proofs", "delegation".
instructionsNoOptional agent instructions stored with the identity proof. Maximum 16,000 characters.
defaultRuntimeNoSuggested provider, model, mode, and runtime origin. These values do not grant permission.
controllerWalletNoAccount that approves spend and limits. Omit to use the signed-in profile.
delegationSkillsNoOptional AgentSkillRef[] for agent-delegation. configId is an optional opaque integration reference (not a secret, not an OAuth token, not credential material).
allowedPaymentTypesNoPayment rails the agent may use when it can make payments (for example ["x402"]). Required with make_payment unless the payments preset supplies it.
delegationInstructionsNoOptional permission instructions signed by the approving account. Maximum 16,000 characters.
delegationDeniedActionsNoAction names the agent may not perform. Denied actions take precedence.
delegationRuntimePolicyNoProvider, model, and approval limits for this agent. Overrides the suggested runtime values.
delegationAllowedActionsNoCanonical actions the agent may perform. Replaces the preset list; nothing else is granted.
delegationApprovalPolicyNoHuman approval requirements for the agent.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNo
qHashNo
statusNo
agentIdNo
messageNo
successNo
agentWalletNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare write, non-idempotent, non-destructive behavior, so the safety profile is covered structurally. The description adds genuinely non-obvious context the annotations cannot: the key must be created externally and only the public address submitted, and retries should reuse the same agentId. It omits what happens on an agentId collision and any authorization requirements beyond 'signed-in profile'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Five short, front-loaded sentences with the purpose first and no filler. The telegraphic 'Default: signed-in account. Optional separate account and controls.' is compact but slightly clipped, and 'import an agent' is never explained, which costs a point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be explained, and 100% schema coverage handles the 23 parameters. The description supplies the missing operational framing (external key custody, reuse of agentId) for what is clearly a multi-step provisioning call. Only conflict/error behavior on an existing agentId is left unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% across 23 parameters, so the schema already documents chain, preset, wallet, delegation, and spend fields in detail. The description largely restates the agentWallet semantics ('omit to use the signed-in profile') and the key-handling rule that the schema also states, adding little semantics beyond it. Baseline 3 applies when the schema carries the load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — 'Create or import an agent on your profile' — so an agent immediately knows this is provisioning, not linking or mounting. It does not name or contrast with siblings like proofable_agent_link or proofable_agent_mount, so the boundary between 'create' and 'link/mount' must be inferred.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete operative guidance: default to the signed-in account, optionally use a separate account and controls, generate/retain the key outside Proofable and pass only the public address, and reuse the same agentId on retries. It stops short of explicit when-to-use-this-instead-of-a-sibling routing or any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.