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., "@Emercoin MCP Servershow me the current blockchain height"
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.
Emercoin MCP Server v0.2
A comprehensive Model Context Protocol (MCP) server that provides HTTP/JSON access to all Emercoin CLI functionality with integrated formatting utilities.
Related MCP server: Cryptocurrency Daemon MCP Server
Features
Complete RPC Coverage: All 100+ Emercoin RPC endpoints organized by category
Formatting Integration: Built-in support for
emercoin-format.pyandemercoin-value.pyutilitiesMultiple API Styles: Category-based routes, generic RPC calls, and legacy compatibility
Enhanced Error Handling: Detailed error responses with stderr output and exit codes
Auto-Discovery:
/endpointsroute lists all available methods by categoryHealth Monitoring: Comprehensive health check with endpoint count
CORS Support: Cross-origin requests enabled
High Performance: Uses
spawnfor better process management
Prerequisites
Node.js 14.0.0 or higher
Python 3 (for formatting utilities)
Emercoin daemon (emercoind) running with RPC enabled
emercoin-cli in your PATH or specified via environment variable
Installation
git clone <repository>
cd emercoin-mcp-server
npm installConfiguration
Configure using environment variables:
export PORT=7331 # Server port (default: 7331)
export EMERCOIN_CLI_PATH=emercoin-cli # Path to emercoin-cli
export RPC_USER=your_rpc_username # RPC username
export RPC_PASSWORD=your_rpc_password # RPC password
export RPC_PORT=6662 # RPC port (default: 6662)
export RPC_HOST=127.0.0.1 # RPC host (default: 127.0.0.1)Running the Server
npm start
# or for development with auto-reload:
npm run devAPI Endpoints
Discovery & Health
GET /health- Server health and statisticsGET /endpoints- List all available RPC methods by category
Category-Based Routes
All RPC methods are available via category-based routes:
Blockchain Operations
POST /blockchain/getblockchaininfoPOST /blockchain/getblockcountPOST /blockchain/getbestblockhashPOST /blockchain/getblock- params:["blockhash", verbosity]And 20+ more blockchain endpoints...
Name Operations (Emercoin's unique feature)
POST /names/name_show- params:["name", "valuetype", "filepath"]POST /names/name_new- params:["name", "value", days, "toaddress", "valuetype"]POST /names/name_update- params:["name", "value", days, "toaddress", "valuetype"]POST /names/name_filter- params:["regexp", maxage, from, nb, "stat", "valuetype"]And 10+ more name endpoints...
Wallet Operations
POST /wallet/getbalancePOST /wallet/getnewaddress- params:["label", "address_type"]POST /wallet/sendtoaddress- params:["address", amount, "comment", "comment_to", ...]POST /wallet/listtransactionsAnd 40+ more wallet endpoints...
Other Categories
Control:
getinfo,stop,uptime, etc.Mining:
getmininginfo,getblocktemplate, etc.Network:
getpeerinfo,getnetworkinfo, etc.Raw Transactions:
createrawtransaction,signrawtransaction, etc.Utilities:
validateaddress,estimatesmartfee, etc.Randpay: Emercoin's micropayment system
ZMQ: Notification system
Generic RPC Routes
POST /rpc/:method- Call any RPC method directlyPOST /rpc- Legacy RPC passthrough
Request Format
All endpoints accept JSON with optional formatting:
{
"params": ["param1", "param2"],
"format": true, // Apply emercoin-format.py
"extractValue": true // Apply emercoin-value.py
}Examples
Get blockchain info:
curl -X POST http://localhost:7331/blockchain/getblockchaininfo \
-H "Content-Type: application/json" \
-d '{}'Show name with formatting:
curl -X POST http://localhost:7331/names/name_show \
-H "Content-Type: application/json" \
-d '{"params": ["dns:emercoin.com"], "format": true}'Extract value from name:
curl -X POST http://localhost:7331/names/name_show \
-H "Content-Type: application/json" \
-d '{"params": ["dns:emercoin.com"], "extractValue": true}'Send EMC:
curl -X POST http://localhost:7331/wallet/sendtoaddress \
-H "Content-Type: application/json" \
-d '{"params": ["EMC_ADDRESS", 1.0, "Payment", "To John"]}'Formatting Utilities
The server integrates two Python utilities:
emercoin-format.py
Cleans text output by replacing literal \n with actual line breaks.
emercoin-value.py
Extracts the value field from JSON responses, useful for name operations.
Enable formatting by adding "format": true or "extractValue": true to your request body.
Security Considerations
Network Security: Run behind HTTPS reverse proxy
Access Control: Use firewall rules to limit access
Credentials: Use strong RPC credentials, consider
rpcauthPort Security: Default port 7331 avoids common conflicts
Input Validation: All user input is properly escaped
Error Handling
Detailed error responses include:
Error message
stderr output from emercoin-cli
Exit code
Method name for context
Development
npm run dev # Auto-reload on changesLicense
MIT