Solana IDL to API Converter - MCP server for discovering Solana programs, checking on-chain IDL availability, and providing AI-generated analyses of Solana program interfaces
Orquestra exposes 13 tools with basic schemas and descriptions, but falls short of production quality. Tool names follow verb_noun convention (search_programs, list_instructions, build_instruction), which is good. However, descriptions are minimal (10-50 chars), parameter descriptions are sparse or missing, and output schemas are not documented. Most tools lack error handling guidance, and several parameters are under-specified (e.g., 'accounts' and 'args' in build_instruction are generic objects with minimal guidance). The server mixes read-only discovery tools with write operations (system_transfer, external_http) without clear permission boundaries or confirmation patterns. No tool annotations (readOnlyHint, destructiveHint) are visible. Schemas exist but are incomplete, many parameters lack type constraints, enums, or validation rules.
Assert a condition in a flow, fail if false
Build a Solana instruction for a specific program and instruction type
Compose a Solana transaction from multiple instructions
Derive a Program Derived Account (PDA) address from seeds and program ID
Make external HTTP requests from within a flow
Find elements in an array based on a condition
Get AI-generated analysis and documentation for a Solana program
List all instructions available for a given Solana program
Parameter descriptions are minimal or missing. 'accounts' in build_instruction is described as 'Array of account objects with pubkey and isSigner/isWritable flags' but lacks guidance on format, required fields, or validation rules. LLMs cannot infer the exact structure needed.
Output schemas are not documented. Tools like search_programs, list_instructions, and get_ai_analysis return data but the response structure is not specified. LLMs cannot plan downstream tool calls or extract required fields without knowing the output shape.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) are present. system_transfer and external_http are write operations but lack explicit destructiveHint markers. Agents cannot distinguish safe from risky tools without reading descriptions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
List all Program Derived Accounts (PDAs) for a given program
Read the llms.txt file for a project containing AI-generated documentation
Search for Solana programs by name, category, or other criteria
Simulate a Solana instruction execution without submitting it on-chain
Create a system transfer instruction for SOL transfers
Generic object parameters lack type constraints. 'args' in build_instruction and 'condition' in find_in_array are typed as 'object' with minimal guidance. LLMs will guess at structure, causing failures. Use enums, patterns, or detailed nested schemas.
No error handling guidance. Tools do not document what errors can occur, whether they are retryable, or what the LLM should do next. A failed PDA derivation or instruction simulation returns nothing actionable to the agent.