DeSo MCP Server
OfficialThe DeSo MCP Server transforms Cursor IDE's AI assistant into a comprehensive DeSo development expert, offering tools for:
Explore DeSo APIs: Access detailed documentation and code examples for all DeSo API categories (social, financial, NFT, identity)
Generate Production Code: Create ready-to-use code snippets for DeSo operations in JavaScript, TypeScript, React, or cURL
Guide deso-js SDK Usage: Learn setup, authentication, transactions, and best practices
Understand DeSo Architecture: Get explanations of systems, transaction flows, and integration patterns
Search DeSo Repositories: Find documentation and resources across repositories
Debug Common Issues: Solve integration problems with real solutions
Implement Best Practices: Learn proven patterns for messaging flows, error handling, and state management
Access UI Components: Explore 40+ professional React components for building DeSo applications
Query Blockchain Data: Convert natural language to optimized GraphQL queries
Develop Complete Apps: Build scalable, production-ready DeSo applications with framework-specific examples
Generates curl commands for interacting with DeSo blockchain APIs, allowing for testing and debugging of DeSo operations directly from the command line.
Provides DeSo GraphQL schema and integration guidance for querying the DeSo blockchain through GraphQL.
Provides comprehensive code generation for DeSo blockchain operations using JavaScript, with detailed guidance on implementing DeSo features.
Provides Next.js-specific implementation patterns for DeSo blockchain integration, including server-side integration and API routes.
Supports Node.js implementation patterns for server-side DeSo blockchain integration with detailed SDK setup guidance.
Offers React component patterns and implementation guidance for DeSo blockchain integration, including authentication flows and state management.
Includes modern UI examples with Tailwind CSS for DeSo applications, demonstrated in the complete messaging application example.
Generates TypeScript code examples for DeSo blockchain integration with type safety, supporting professional-grade DeSo application development.
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., "@DeSo MCP Serverhow do I submit a post to the DeSo blockchain?"
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.
DeSo MCP Server v3.0 (HTTP)
A comprehensive Model Context Protocol (MCP) server for DeSo blockchain development, now with HTTP transport support.
Features
π οΈ 10 Comprehensive Tools:
deso_api_explorer- Complete DeSo API documentation and examplesdeso_js_guide- deso-js SDK setup and usage guidesgenerate_deso_code- Generate code examples for DeSo operationsexplain_deso_architecture- Architectural explanations and patternsrepository_search- Search DeSo repository documentationread_repository_document- Read specific DeSo docsdeso_debugging_guide- Real debugging fixes for common issuesdeso_implementation_patterns- Best practices from production appsdeso_ui_components- Complete UI component library guidedeso_graphql_helper- GraphQL query builder and examples
π HTTP Transport:
RESTful HTTP API instead of stdio
CORS support for web integration
Health check endpoint
Easy deployment and scaling
Related MCP server: AMOCA Solana MCP Server
Quick Start
Local Development
# Install dependencies
npm install
# Start the server
npm start
# Development with auto-reload
npm run devThe server will run on http://localhost:3000 by default.
Environment Variables
PORT=3000 # Server port (default: 3000)
HOST=localhost # Server host (default: localhost)Docker Deployment
# Build the image
npm run docker:build
# Run the container
npm run docker:run
# Or manually:
docker build -t deso-mcp-server .
docker run -p 3000:3000 -e HOST=0.0.0.0 deso-mcp-serverHTTP Endpoints
Health Check
curl http://localhost:3000/MCP Tool Requests
Send JSON-RPC requests to the root endpoint.
Important:
MCP requires initialization first, then you can call tools
Always include the
Accept: application/json, text/event-streamheaderThe server runs in stateless mode (no session management required)
# 1. Initialize the MCP session
curl -X POST http://localhost:3000/ \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"capabilities": {},
"protocolVersion": "2024-11-05",
"clientInfo": {"name": "my-client", "version": "1.0.0"}
}
}'
# 2. List available tools
curl -X POST http://localhost:3000/ \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/list"
}'
# 3. Call a specific tool
curl -X POST http://localhost:3000/ \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "deso_api_explorer",
"arguments": {
"category": "social",
"includeCode": true
}
}
}'Example Usage
JavaScript Client Example
class DesoMCPClient {
constructor(baseUrl = 'http://localhost:3000') {
this.baseUrl = baseUrl;
this.initialized = false;
}
async request(method, params = {}) {
const response = await fetch(this.baseUrl, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json, text/event-stream'
},
body: JSON.stringify({
jsonrpc: '2.0',
id: Date.now(),
method,
params
})
});
const data = await response.json();
if (data.error) throw new Error(data.error.message);
return data.result;
}
async initialize() {
await this.request('initialize', {
capabilities: {},
protocolVersion: '2024-11-05',
clientInfo: { name: 'deso-client', version: '1.0.0' }
});
this.initialized = true;
}
async callTool(name, args) {
if (!this.initialized) await this.initialize();
return this.request('tools/call', { name, arguments: args });
}
}
// Usage examples:
const client = new DesoMCPClient();
// Get DeSo API Information
const apiInfo = await client.callTool('deso_api_explorer', {
category: 'social',
endpoint: 'submit-post',
includeCode: true
});// Debug DeSo Integration Issues const debugInfo = await client.callTool('deso_debugging_guide', { issue: 'message-decryption', includeCode: true });
// Generate GraphQL Queries const query = await client.callTool('deso_graphql_helper', { action: 'build', question: 'How many followers does nader have?', username: 'nader' });
## Integration with MCP Clients
### Claude Desktop Configuration
Add to your Claude Desktop configuration:
```json
{
"mcpServers": {
"deso": {
"command": "npx",
"args": ["deso-mcp-server"],
"transport": "http",
"url": "http://localhost:3000"
}
}
}VS Code Integration
Use with MCP-compatible VS Code extensions by configuring the HTTP endpoint:
{
"mcp.servers": [
{
"name": "deso",
"transport": "http",
"url": "http://localhost:3000"
}
]
}Architecture
The server uses:
HTTP Transport: RESTful API with JSON-RPC over HTTP
CORS Support: Cross-origin requests enabled
Graceful Shutdown: Proper cleanup on SIGINT/SIGTERM
Error Handling: Comprehensive error responses
Health Checks: Built-in monitoring endpoint
Development
Project Structure
deso-mcp/
βββ deso-mcp.js # Main MCP server
βββ package.json # Dependencies and scripts
βββ Dockerfile # Container configuration
βββ README.md # DocumentationDebugging
Enable debug logging with
DEBUG=mcp:*Check server health at
http://localhost:3000/Monitor logs for request/response details
License
MIT License - see LICENSE file for details.
Contributing
Fork the repository
Create a feature branch
Make your changes
Test with HTTP requests
Submit a pull request
Support
For issues and questions:
GitHub Issues: deso-protocol/mcp-server
DeSo Documentation: docs.deso.org
Developer Discord: DeSo Developers
Available Tools
8 toolsdeso_api_explorerC
Comprehensive DeSo API explorer with backend implementation details and deso-js SDK integration
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | API category to explore | |
| endpoint | No | Specific endpoint name (optional) | |
| includeCode | No | Include code examples |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'backend implementation details' and 'deso-js SDK integration' which suggests it might provide implementation insights, but doesn't clarify what 'explorer' actually does - is it read-only documentation browsing, interactive testing, or something else? It doesn't address permissions, rate limits, side effects, or response format, which are critical for a tool with 'API' in its name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that packs multiple concepts. It's appropriately sized for a tool with three parameters and establishes the core purpose upfront. However, it could be more front-loaded by starting with the primary action ('Explore DeSo APIs') before mentioning implementation details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an API exploration tool with three parameters and no output schema, the description is insufficient. It doesn't explain what the tool returns (documentation, interactive interface, code snippets?), how results are structured, or what 'comprehensive' means in practice. With no annotations and siblings that might overlap, more context about the exploration mechanism and output format is needed for the agent to use this effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters thoroughly with descriptions and an enum for 'category'. The description adds no parameter-specific information beyond what's in the schema - it doesn't explain relationships between parameters, provide examples of endpoint names, or clarify what 'includeCode' examples might look like. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states this is a 'Comprehensive DeSo API explorer' which indicates it explores APIs, but it's vague about what 'explore' means - does it list endpoints, test them, or provide documentation? It mentions 'backend implementation details and deso-js SDK integration' which adds some specificity but doesn't clearly distinguish it from siblings like 'deso_js_guide' or 'explain_deso_architecture'. The verb 'explore' is imprecise compared to more specific alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus the seven sibling tools. The description doesn't mention alternatives, prerequisites, or typical use cases. With siblings like 'deso_js_guide', 'explain_deso_architecture', and 'generate_deso_code' that might overlap in API-related functionality, the absence of differentiation leaves the agent guessing about appropriate selection contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deso_debugging_guideC
Comprehensive debugging guide for common DeSo integration issues with solutions
| Name | Required | Description | Default |
|---|---|---|---|
| includeCode | No | Include code examples and fixes | |
| issue | Yes | Specific issue to debug or 'all' for complete guide |
TDQS
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 mentions 'solutions' but doesn't specify what the tool actually does behaviorallyβe.g., whether it returns step-by-step instructions, references documentation, or provides interactive debugging. This leaves significant gaps in understanding how the tool operates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the key information ('Comprehensive debugging guide') without any wasted words. It's appropriately sized for the tool's purpose and structured to convey the essence immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of debugging tools and the lack of annotations and output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., text guide, structured data, links) or how it handles different issues, leaving the agent with insufficient context to use it effectively beyond basic parameter input.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters ('issue' and 'includeCode') with descriptions and enums. The description doesn't add any meaningful semantic context beyond what the schema provides, such as explaining the relationship between parameters or typical use cases, resulting in a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as a 'debugging guide for common DeSo integration issues with solutions', which specifies the verb ('debugging guide') and resource ('DeSo integration issues'). However, it doesn't explicitly differentiate from sibling tools like 'deso_js_guide' or 'explain_deso_architecture' which might also address debugging or integration topics, keeping it from 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.
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. It doesn't mention sibling tools or contexts where other tools might be more appropriate, such as using 'deso_api_explorer' for API exploration or 'generate_deso_code' for code generation instead of debugging guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deso_implementation_patternsC
Best practices and implementation patterns learned from deso-chat and real debugging
| Name | Required | Description | Default |
|---|---|---|---|
| framework | No | Framework context | |
| pattern | Yes | Implementation pattern to explore |
TDQS
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 mentions 'best practices and implementation patterns learned from deso-chat and real debugging', which hints at educational or informational output but doesn't specify whether this tool retrieves, explains, or generates content, nor does it describe any constraints like rate limits, permissions, or output format. This leaves significant gaps in understanding how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 unnecessary words. It is front-loaded with the core idea, making it easy to parse. However, it could be slightly more structured by explicitly mentioning the tool's action (e.g., 'Retrieve best practices...'), but overall, it earns its place without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no annotations and no output schema, the description is incomplete for understanding its full context. It lacks details on what the tool returns (e.g., text explanations, code examples, links), how it handles parameters like 'all', and how it differs from siblings. For a tool with two parameters and educational intent, more completeness is needed to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage with clear enums for both parameters, so the schema does the heavy lifting. The description adds no additional meaning beyond what the schema provides, such as explaining how 'framework' and 'pattern' interact or what 'all' means for the pattern parameter. With high schema coverage, the baseline score is 3, as the description doesn't compensate but also doesn't detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool provides 'best practices and implementation patterns learned from deso-chat and real debugging', which gives a general purpose but lacks specificity. It doesn't clearly distinguish this tool from siblings like 'deso_debugging_guide' or 'deso_js_guide', making the differentiation vague. The description is better than a tautology but doesn't specify what action the tool performs (e.g., retrieves, explains, or generates patterns).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It doesn't mention any context, prerequisites, or exclusions, and fails to differentiate from sibling tools like 'deso_debugging_guide' or 'generate_deso_code'. Without explicit or implied usage instructions, users must infer when this tool is appropriate based on the vague purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deso_js_guideC
Complete guide to using the deso-js SDK with setup, authentication, and transactions
| Name | Required | Description | Default |
|---|---|---|---|
| framework | No | Framework context (optional) | |
| topic | Yes | Topic to get guidance on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states this is a 'guide' which implies informational/read-only behavior, but doesn't disclose whether it generates code, provides step-by-step instructions, or returns documentation. No mention of rate limits, authentication needs, or output format. Significant behavioral gaps remain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the main purpose ('complete guide to using the deso-js SDK'). It could be slightly more structured by separating key components, but it wastes no words and clearly communicates scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a guidance tool with 2 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what kind of guidance is provided (e.g., code snippets, explanations, tutorials), how results are formatted, or what depth of information to expect. Users cannot predict the tool's behavior from this description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters thoroughly with enums and descriptions. The description mentions 'setup, authentication, and transactions' which aligns with some enum values in the 'topic' parameter, but adds no additional semantic context beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides a 'complete guide to using the deso-js SDK' covering specific areas like setup, authentication, and transactions. It distinguishes from siblings by focusing on SDK usage guidance rather than API exploration, debugging, or code generation. However, it doesn't explicitly differentiate from 'deso_implementation_patterns' which might overlap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'deso_api_explorer' or 'deso_debugging_guide'. It mentions the scope (setup, authentication, transactions) but doesn't specify use cases, prerequisites, or exclusions. Users must infer usage from the title alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explain_deso_architectureC
Explain DeSo architecture, flows, and integration patterns
| Name | Required | Description | Default |
|---|---|---|---|
| includeCode | No | Include code examples | |
| topic | Yes | Architecture topic to explain |
TDQS
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 explains topics but doesn't describe how it behavesβe.g., whether it generates text, returns structured data, has rate limits, or requires specific permissions. For a tool with no annotations, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded, using a single phrase that directly states the tool's purpose without any wasted words. Every part of the description earns its place by clearly communicating the core function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of explaining architecture and integration patterns, the description is incomplete. It lacks details on output format (no output schema provided), behavioral traits, or usage context. Without annotations or output schema, the agent has insufficient information to understand what the tool returns or how it operates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with clear documentation for both parameters ('includeCode' and 'topic'). The description adds no additional meaning beyond the schema, such as examples of valid topics or how code examples are formatted. Baseline score of 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to explain DeSo architecture, flows, and integration patterns. It uses specific verbs ('explain') and resources ('DeSo architecture'), but it doesn't explicitly distinguish itself from sibling tools like 'deso_implementation_patterns' or 'deso_js_guide', which might cover overlapping topics. This makes it clear but not fully differentiated from alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It doesn't mention sibling tools like 'deso_implementation_patterns' or 'generate_deso_code', nor does it specify contexts or prerequisites for usage. This lack of comparative or contextual advice leaves 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.
generate_deso_codeB
Generate comprehensive code examples for DeSo operations using deso-js SDK
| Name | Required | Description | Default |
|---|---|---|---|
| fullExample | No | Generate complete working example | |
| includeAuth | No | Include authentication setup | |
| language | Yes | Programming language/framework | |
| operation | Yes | DeSo operation (e.g., 'follow', 'post', 'buy-creator-coin', 'send-diamonds') |
TDQS
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 mentions 'comprehensive code examples' but doesn't specify what that entails (e.g., output format, length, whether examples are tested or just snippets). It also doesn't cover potential limitations like rate limits, authentication requirements beyond the 'includeAuth' parameter, or error handling. The description is too vague 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without unnecessary details. Every word earns its place, making it easy for an agent to parse quickly. No fluff or redundancy is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters with full schema coverage but no annotations and no output schema, the description is minimally adequate. It states what the tool does but lacks depth on behavioral aspects and usage context. For a code-generation tool, more detail on output expectations would be helpful, but the schema covers inputs well.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description doesn't add any meaning beyond what's in the schemaβit doesn't explain relationships between parameters (e.g., how 'fullExample' interacts with 'includeAuth') or provide usage examples. 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Generate comprehensive code examples for DeSo operations using deso-js SDK'. It specifies the verb ('generate'), resource ('code examples'), and technology context ('deso-js SDK'). However, it doesn't explicitly differentiate from sibling tools like 'deso_js_guide' or 'deso_implementation_patterns', which might also involve code examples.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It doesn't mention sibling tools or other contexts where code generation might be needed, nor does it specify prerequisites or exclusions. The agent must infer usage based solely on the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_repository_documentB
Read a specific document from the DeSo repository
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Relative path to the document (e.g., 'docs/deso-tutorial-build-apps.md') | |
| repository | No | Repository name |
TDQS
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 reads a document, implying a read-only operation, but doesn't specify what 'read' entails (e.g., returns raw content, metadata, or formatted output), whether there are authentication requirements, rate limits, error handling, or performance characteristics. For a tool with no annotation coverage, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 unnecessary words. It's front-loaded with the core action and resource, making it easy to parse. There's no redundancy or fluff, earning its place as a model of conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, no output schema, no annotations), the description is minimally adequate but incomplete. It covers the basic purpose but lacks details on usage context, behavioral traits, and output format. Without annotations or an output schema, the description should do more to explain what the tool returns and how it behaves, but it meets a bare minimum for a read operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with clear descriptions for both parameters ('path' and 'repository'), including an example for 'path' and an enum for 'repository'. The description adds no additional parameter semantics beyond what the schema provides, such as explaining path conventions or repository purposes. Given the high schema coverage, a baseline score of 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Read') and resource ('a specific document from the DeSo repository'), making the tool's purpose immediately understandable. However, it doesn't differentiate this tool from potential sibling tools like 'repository_search' or 'deso_api_explorer', which might also involve document access. The description is specific but lacks sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It doesn't mention when this tool is appropriate (e.g., for retrieving known documents by path) versus when to use 'repository_search' (for finding documents by content) or other siblings. There's no context about prerequisites, exclusions, or comparative use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repository_searchC
Search for documents in the DeSo repository
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure but offers minimal information. It doesn't describe what type of search is performed (full-text, metadata, etc.), whether results are paginated, what format documents are returned in, or any authentication requirements. The description merely states the basic function 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just 6 words, front-loading the core functionality with zero wasted language. Every word earns its place by communicating the essential purpose without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's purpose (searching a repository), the absence of annotations, and no output schema, the description is insufficiently complete. It doesn't explain what constitutes a 'document' in this context, what search capabilities exist, or what results look like. For a search tool with no structured behavioral information, more context is needed about the search behavior and results format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage with the single 'query' parameter documented as 'Search query'. The description adds no additional parameter semantics beyond what's already in the schema. According to scoring rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Search for documents') and target resource ('in the DeSo repository'), providing a specific verb+resource combination. However, it doesn't distinguish this tool from its sibling 'read_repository_document', which suggests potential overlap in functionality without explicit differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. With a sibling tool named 'read_repository_document' that likely serves a related purpose, there's no indication of when search is appropriate versus direct document reading, nor any mention of prerequisites or constraints for using this search functionality.
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. Dates show when Glama detected each change.
8 tool updates
v1.0.0- First observed
deso_api_explorer - First observed
deso_debugging_guide - First observed
deso_implementation_patterns - First observed
deso_js_guide - First observed
explain_deso_architecture - First observed
generate_deso_code - First observed
read_repository_document - First observed
repository_search
TDQS
The tools have some overlap in purpose, particularly between deso_api_explorer, deso_js_guide, and generate_deso_code, which all involve code/API guidance, but their descriptions help differentiate them. However, tools like deso_debugging_guide and deso_implementation_patterns could be confused as they both address integration issues and best practices, creating ambiguity in selection.
Most tools follow a consistent snake_case pattern with a 'deso_' prefix, such as deso_api_explorer and deso_js_guide, which aids readability. However, there are minor deviations like read_repository_document and repository_search, which use a different naming style without the prefix, slightly breaking the pattern but not severely impacting usability.
With 8 tools, the count is well-scoped for a server focused on DeSo integration, documentation, and code generation. Each tool appears to serve a distinct educational or operational purpose, avoiding bloat while covering key aspects like API exploration, debugging, and repository access, making the set manageable and purposeful.
The tool set covers documentation, guidance, and repository operations well, but there are notable gaps in direct DeSo API interactions, such as creating or updating blockchain transactions or user data. While tools like generate_deso_code and deso_js_guide provide code examples, they lack actual execution capabilities, which limits the server's operational completeness for real-time integration tasks.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yoβ¦
A Model Context Protocol server for Wix AI tools
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Marketo MCP server for AI. 130 tools to operate Marketo from Claude, Cursor, or ChatGPT.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI assistants to explore and interact with Cursor IDE's SQLite databases, providing access to project data, chat history, and composer information.25-
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI models to interact with the Solana blockchain, providing RPC methods, wallet management, DeFi trading capabilities, and Helius API integration for enhanced Solana development.5MIT
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server for creating, updating, and querying semantic relationships (cyberlinks) on Cosmos-based blockchains through integration with Cursor IDE and Claude Desktop.1-

CodeAlive MCPofficial
AlicenseNot gradedqualityAmaintenanceA Model Context Protocol server that enhances AI agents by providing deep semantic understanding of codebases, enabling more intelligent interactions through advanced code search and contextual awareness.89MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/deso-protocol/deso-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server