An MCP server for Turnkey's wallet infrastructure with focus on scheduled transaction signing, wallet management, and cryptographic operations
Server has 12 well-named tools with complete input schemas and descriptions. Naming follows verb_noun convention (create_wallet, list_wallets, sign_transaction). All tools have descriptions 50-200 chars, meeting LLM-optimization baseline. Input schemas use proper JSON Schema with types and field descriptions. However, output schemas are not documented, LLMs cannot infer what fields to expect from responses. Error handling is minimal; no recovery guidance or actionable error messages. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications. Missing pagination support for list operations. No idempotency guarantees documented for write operations.
Create a new wallet in Turnkey
Create a new wallet account in an existing wallet
Get the current status of the scheduler
Get the status of a scheduled task
Initialize a Turnkey client with authentication credentials and optional configuration
List all accounts in a wallet
List all wallets for an organization
Output schemas not documented. LLMs cannot infer response structure, forcing them to guess what fields are returned and breaking downstream tool chaining.
List operations (list_wallets, list_wallet_accounts) lack pagination parameters (limit, offset/cursor) and total count in response. Large result sets will blow context window.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk classifications. LLMs cannot distinguish safe reads from destructive writes without explicit hints.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | <=2025-11-25 | v2 |
Remove a scheduled task
Schedule a raw payload signing task to run at a specific time or on a recurring interval
Schedule a transaction signing task to run at a specific time or on a recurring interval
Sign a raw payload using a wallet account
Sign a transaction using a wallet account
Error handling is absent. No recovery guidance, actionable error messages, or error classification (retryable vs fatal). Agents cannot self-correct on failures.
Credentials (api_public_key, api_private_key) exposed as tool parameters in initialize_client. Secrets in parameters leak into logs and traces. Use server-side secret injection via environment variables.