Skip to main content
Glama

DeSo MCP Server

Official

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 examples

  • deso_js_guide - deso-js SDK setup and usage guides

  • generate_deso_code - Generate code examples for DeSo operations

  • explain_deso_architecture - Architectural explanations and patterns

  • repository_search - Search DeSo repository documentation

  • read_repository_document - Read specific DeSo docs

  • deso_debugging_guide - Real debugging fixes for common issues

  • deso_implementation_patterns - Best practices from production apps

  • deso_ui_components - Complete UI component library guide

  • deso_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

Quick Start

Local Development

# Install dependencies npm install # Start the server npm start # Development with auto-reload npm run dev

The 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-server

HTTP 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-stream header

  • The 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 # Documentation

Debugging

  • 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

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Test with HTTP requests

  5. Submit a pull request

Support

For issues and questions:

Related MCP Servers

  • -
    security
    -
    license
    -
    quality
    A Model Context Protocol server that integrates with Cursor IDE, providing real-time communication, modern web dashboards, and extensible tools via SSE and WebSocket connections.
  • -
    security
    F
    license
    -
    quality
    A 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.
    Last updated -
    21
    • Apple
  • -
    security
    F
    license
    -
    quality
    A Model Context Protocol server that enables Cursor AI assistants to interact with Todoist tasks directly from the coding environment, supporting advanced task filtering and rich formatting.
    Last updated -
    42
    • Linux
    • Apple
  • A
    security
    A
    license
    A
    quality
    An enhanced Model Context Protocol server providing comprehensive integration between Trello and Cursor AI with 40+ tools covering multiple Trello API categories for complete project management.
    Last updated -
    32
    19
    3
    MIT License
    • Apple
    • Linux

View all related MCP servers

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