Skip to main content
Glama
aldrin-labs

solana-docs-mcp-server

by aldrin-labs

solana-docs-server MCP Server

solana docs context

This is a TypeScript-based MCP server that implements a simple notes system. It demonstrates core MCP concepts by providing:

  • Resources representing text notes with URIs and metadata

  • Tools for creating new notes

  • Prompts for generating summaries of notes

Features

Resources

  • List and access notes via note:// URIs

  • Each note has a title, content and metadata

  • Plain text mime type for simple content access

Tools

  • create_note - Create new text notes

    • Takes title and content as required parameters

    • Stores note in server state

Prompts

  • summarize_notes - Generate a summary of all stored notes

    • Includes all note contents as embedded resources

    • Returns structured prompt for LLM summarization

Related MCP server: MPC Docs Server

Development

Install dependencies:

npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

Installation

Installing via Smithery

To install solana-docs-server MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @aldrin-labs/solana-docs-mcp-server --client claude

To use with Claude Desktop, add the server config:

On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "solana-docs-server": {
      "command": "/path/to/solana-docs-server/build/index.js"
    }
  }
}

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:

npm run inspector

The Inspector will provide a URL to access debugging tools in your browser.

Available Tools

3 tools
get_api_referenceC

Get Solana SDK API reference details

ParametersJSON Schema
NameRequiredDescriptionDefault
itemYesAPI item to look up (e.g., "transaction", "pubkey", "system_instruction")

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'gets' details, implying a read-only operation, but doesn't cover aspects like rate limits, authentication needs, error handling, or what format the details are returned in. This leaves significant gaps for a tool with no annotation support.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero waste—it directly states the tool's function without unnecessary words. It's appropriately sized and front-loaded, making it easy to parse quickly.

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

Completeness2/5

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

Given no annotations and no output schema, the description is incomplete for a tool that fetches API details. It doesn't explain what 'details' include (e.g., methods, properties, examples), how results are structured, or any behavioral traits like caching or errors. This leaves the agent under-informed for effective use.

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 description coverage is 100%, with the parameter 'item' well-documented in the schema as 'API item to look up' with examples. The description adds no additional meaning beyond this, such as clarifying the scope of 'API reference details' or how items are categorized. Baseline 3 is appropriate since the schema does the heavy lifting.

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?

The description clearly states the action ('Get') and resource ('Solana SDK API reference details'), making the purpose understandable. However, it doesn't differentiate this tool from its siblings (get_latest_docs, search_docs), which appear related to documentation but have different functions.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus its siblings (get_latest_docs, search_docs). It implies usage for looking up API details but offers no context on alternatives or exclusions, leaving the agent to guess based on tool names alone.

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

get_latest_docsC

Get latest Solana documentation sections

ParametersJSON Schema
NameRequiredDescriptionDefault
sectionYesDocumentation section to fetch (e.g., "developing", "running-validator", "economics")

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool fetches documentation but doesn't mention whether it's read-only, if it requires authentication, rate limits, or what the output format looks like. This leaves significant gaps for a tool that presumably interacts with external resources.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It's appropriately sized and front-loaded, making it easy to parse quickly.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'latest' means (e.g., timestamp-based, version-specific), how results are returned, or error handling. For a tool with external dependencies, more context is needed to ensure reliable use.

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?

The schema description coverage is 100%, with the parameter 'section' clearly documented in the input schema. The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline for adequate but not enhanced coverage.

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?

The description clearly states the action ('Get') and resource ('latest Solana documentation sections'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_api_reference' or 'search_docs', which would be needed for a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'get_api_reference' or 'search_docs'. It lacks context about use cases, prerequisites, or exclusions, leaving the agent with minimal direction.

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

search_docsC

Search through Solana documentation

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but offers minimal behavioral insight. It doesn't disclose whether this is a read-only operation, how results are returned (e.g., pagination, sorting), performance characteristics, or any limitations (e.g., rate limits, authentication needs). The description only states what it does at a high level without operational details.

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?

The description is a single, efficient sentence with no wasted words. It's appropriately sized for a simple tool, though it could be more front-loaded with key details. The brevity is good, but it borders on under-specification given the lack of additional context.

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

Completeness2/5

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

For a search tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., list of documents, snippets, links), how results are structured, or any error conditions. The agent is left without enough information to understand the full behavior and output of the tool.

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?

The input schema has 100% description coverage, with the single parameter 'query' documented as 'Search query'. The description adds no additional meaning beyond this, such as query syntax examples, supported operators, or character limits. Given high schema coverage, the baseline score of 3 is appropriate as the schema handles the parameter documentation adequately.

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

Purpose3/5

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

The description 'Search through Solana documentation' states a clear action (search) and resource (Solana documentation), but it's vague about scope and doesn't differentiate from sibling tools like 'get_api_reference' or 'get_latest_docs'. It doesn't specify what kind of search this is (full-text, keyword, etc.) or what content it searches.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus the sibling tools 'get_api_reference' or 'get_latest_docs'. The description doesn't indicate whether this is for general documentation search versus more specific reference or latest updates, leaving the agent to guess about appropriate contexts.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv1.0.0
    • First observedget_api_reference
    • First observedget_latest_docs
    • First observedsearch_docs

TDQS

B3.2/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: get_api_reference retrieves SDK API details, get_latest_docs fetches documentation sections, and search_docs performs searches across documentation. There is no overlap in functionality, making tool selection straightforward for an agent.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case (get_api_reference, get_latest_docs, search_docs). The verbs 'get' and 'search' are appropriately used, and there are no deviations in naming conventions.

Tool Count3/5

With only 3 tools, the server feels thin for a documentation domain that might benefit from more granular operations (e.g., filtering, version-specific docs, or content updates). While the tools cover basic needs, the count is borderline minimal for comprehensive documentation access.

Completeness4/5

The tools provide core documentation access: retrieving API references, latest docs, and searching. However, there are minor gaps such as no update or management tools for documentation content, and no filtering or categorization options, which agents might need for advanced workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers