Official Solana MCP Server
OfficialLeverages Databricks Vector Search for semantic retrieval of documentation chunks, with optional cross-encoder reranking via Model Serving, and falls back to SQL queries on Databricks Delta tables.
Provides tools to search and retrieve up-to-date documentation across the Solana ecosystem, including semantic search and program autofixing for Anchor and Pinocchio Rust programs.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Official Solana MCP ServerHow do I create a PDA in Anchor?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Official Solana MCP Server
Try it out at https://mcp.solana.com !
The official Solana Developer MCP. Purpose: serve up-to-date documentation across the Solana ecosystem to AI agents and developer tooling.
Architecture
Ingestion (
ingestion/): Databricks notebook crawls the sources listed iningestion/sources.yaml, chunks markdown, and writes embeddings into a Delta-backed Vector Search index.Retrieval (
lib/services/databricks/): MCP tools query the index via Databricks Vector Search; an optional cross-encoder Model Serving endpoint reranks results.get_documentationfalls back to a SQL read of thedocs_chunksDelta table when a source has no publishedllms.txt.Server (
lib/index.ts,server/cloudrun.ts): Exposes five tools over MCP —Solana_Expert__Ask_For_HelpandSolana_Documentation_Search(semantic RAG),list_sectionsandget_documentation(canonical-spec retrieval modelled after the Svelte AI server), andprogram_autofixerfor Anchor and Pinocchio Solana program Rust checks. Deployed on Cloud Run as a containerised Node service frontingmcp.solana.com; calls the Databricks workspace REST API directly for retrieval.Section catalogue (
ingestion/sources.yaml→lib/sources.generated.ts):pnpm gen:sourcesemits a typed catalogue of every source, its tags from a closed 21-section taxonomy, anduse_caseskeywords used bylist_sectionsto route the agent.Analytics (
lib/services/s3/analytics.ts): Tool calls + initializations are buffered in memory and uploaded as JSONL objects to the S3 prefix configured byANALYTICS_S3_URI.
Local Development
pnpm install
cp .env.example .env # set DATABRICKS_HOST + DATABRICKS_TOKEN + DATABRICKS_VS_INDEX
pnpm dev:local
pnpm inspector # connects MCP Inspector at http://127.0.0.1:6274Deploy
Production runs on Cloud Run (mcp.solana.com → server/cloudrun.ts, built via the root Dockerfile). Push to main triggers .github/workflows/deploy-cloudrun.yml, which submits a Cloud Build and rolls the new revision. Runtime env vars (DATABRICKS_HOST, DATABRICKS_TOKEN, DATABRICKS_VS_INDEX, DATABRICKS_WAREHOUSE_ID, DATABRICKS_RERANKER_ENDPOINT, REDIS_URL, ANALYTICS_S3_*, AWS_*) and deploy config (GCP_*, VPC_CONNECTOR) are loaded from the Doppler prd_github config at deploy time.
The Databricks side (databricks.yml) deploys two resources via just deploy:
the daily ingestion job (
crawl_and_index.pynotebook) — crawls sources, MERGEs into Delta, syncs the Vector Search index;the Lakeview dashboard. Analytics source files land in S3 and require downstream ingestion before dashboard consumption.
Per-environment values (catalog, warehouse, index) live in the gitignored prod.yml (see template inline in databricks.yml).
just deploy # builds, pushes ingestion job + dashboardEvals
Per-environment values (catalog, warehouse, index) live in the gitignored prod.yml; supply each variable listed under variables: in databricks.yml.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/solana-foundation/solana-mcp-official'
If you have feedback or need assistance with the MCP directory API, please join our Discord server