orquestra is a free, open-source platform that instantly converts Solana program IDLs into production-ready APIs & MCP server.
Last updated Jul 1, 2026
15
Stars
1
Forks
0
Issues
+1
Stars/day
Attention Score
48
Language breakdown
No language data available.
▸ Files
click to expand
README
Orquestra
Orquestra turns Solana Anchor and Codama IDLs into hosted API, AI-ready docs, and MCP tools.
Upload an IDL once, then use Orquestra to inspect instructions, derive PDAs, decode account data, and build unsigned Solana transactions from HTTP clients or AI agents.
Quick Start
git clone https://github.com/berkayoztunc/orquestra.git
cd orquestra
bun install
bun run db:migrate:dev
bun run dev
- Frontend:
http://localhost:5173 - API:
http://localhost:8787 - Production API:
https://api.orquestra.dev - MCP endpoint:
https://api.orquestra.dev/mcp
Features
- IDL upload and versioning for Anchor and Codama programs
- Auto-generated REST endpoints for instructions, accounts, program account queries, errors, events, types, and docs
- Unsigned transaction builder with cluster-aware blockhash lookup
- Optional preflight simulation with decoded Anchor errors
- PDA discovery, derivation, single-account decoding, and program-owned account queries with
dataSizeandmemcmpfilters - AI-ready
llms.txtdocumentation for each public project - Public MCP server for agent tools
- Companion Rust CLI for local IDL and API-backed workflows
- GitHub OAuth, project ownership, private projects, and project API keys
- Program lists with MCP scope keys
- Known address notes and external API documentation for richer AI context
- Cloudflare Workers, D1, and KV deployment
MCP Tools
Orquestra exposes these tools over Streamable HTTP MCP:
search_programslist_instructionsbuild_instructionsimulate_instructionlistpdaaccountsderive_pdareadllmstxtgetaianalysisfetchpdadatagetprogramdata
getprogramdata wraps Solana getProgramAccounts for a project program ID. It supports accountType discriminator filters, exact dataSize, raw byte-offset memcmp, fixed-offset IDL fieldFilters, decoded results, and optional raw base64 output. Helius RPC URLs use getProgramAccountsV2 automatically and return paginationKey for large account sets.
Example Claude Code config:
{
"mcpServers": {
"orquestra": {
"type": "http",
"url": "https://api.orquestra.dev/mcp"
}
}
}
Development Commands
bun run dev # frontend + worker
bun run build # build all packages
bun run test # worker tests
bun run type-check # TypeScript checks
bun run lint:fix # lint and fix
bun run db:migrate:dev # local D1 migrations
bun run db:seed # local seed data
bun run deploy # production deploy
Repository
packages/frontend- React dashboardpackages/worker- Hono API and MCP server on Cloudflare Workerspackages/shared- shared TypeScript types and utilitiespackages/cli- on-chain program discovery utilitiesagents- Orquestra agent skill contractsdocs- GitBook documentation
Documentation
Start with docs/README.md. The companion Rust CLI is documented in docs/user-cli.md.
License
🔗 More in this category