Skip to main content
Glama

MCP Clusters API Server

by ayv8er

MCP Server - Clusters API v1

This is a Model Context Protocol (MCP) server implementation for the Clusters API v1. It provides endpoints for authentication, cluster management, name registration, and community registrations.

Dependencies

{ "@modelcontextprotocol/sdk": "^1.7.0", "dotenv": "^16.4.7", "zod": "^3.24.2" }

Setup

  1. Install dependencies:
npm install
  1. Create a .env file with: CLUSTERS_API_KEY={CLUSTERS_API_KEY} (optional)
  2. Build and start the server:
npm run dev

Testing Endpoints

Since this server uses StdioServerTransport, you'll need to send JSON-RPC messages through stdin. Here are example commands for testing each endpoint:

Authentication Endpoints

Get Message
echo '{"jsonrpc":"2.0","id":1,"method":"get_signing_message"}' | node dist/index.js
Get Token
echo '{"jsonrpc":"2.0","id":1,"method":"get_auth_key","params":{"signature":"0x123","signingDate":"2024-05-07","type":"evm","wallet":"0x123"}}' | node dist/index.js
Validate Token
echo '{"jsonrpc":"2.0","id":1,"method":"validate_auth_token","params":{"authKey":"your-auth-key"}}' | node dist/index.js

Cluster Management Endpoints

Create Cluster
echo '{"jsonrpc":"2.0","id":1,"method":"create_a_cluster","params":{"authKey":"your-auth-key","testnet":false}}' | node dist/index.js
Get Cluster by ID
echo '{"jsonrpc":"2.0","id":1,"method":"get_cluster_by_id","params":{"id":"cluster-id","testnet":false}}' | node dist/index.js
Get Cluster by Name
echo '{"jsonrpc":"2.0","id":1,"method":"get_cluster_by_name","params":{"name":"cluster-name","testnet":false}}' | node dist/index.js
Get Cluster ID by Address
echo '{"jsonrpc":"2.0","id":1,"method":"get_cluster_id_by_address","params":{"address":"0x123","testnet":false}}' | node dist/index.js
Add Wallets
echo '{"jsonrpc":"2.0","id":1,"method":"add_wallets","params":{"wallets":[{"address":"0x123","name":"new-wallet","isPrivate":false}],"authKey":"your-auth-key","testnet":false}}' | node dist/index.js
Generate Wallet
echo '{"jsonrpc":"2.0","id":1,"method":"generate_wallet","params":{"type":"evm","name":"new-wallet","isPrivate":false,"authKey":"your-auth-key","testnet":false}}' | node dist/index.js
Update Wallets
echo '{"jsonrpc":"2.0","id":1,"method":"update_wallets","params":{"wallets":[{"address":"0x123","name":"updated-name"}],"authKey":"your-auth-key","testnet":false}}' | node dist/index.js
Remove Wallets
echo '{"jsonrpc":"2.0","id":1,"method":"remove_wallets","params":{"addresses":["0x123"],"authKey":"your-auth-key","testnet":false}}' | node dist/index.js
Verify Wallet
echo '{"jsonrpc":"2.0","id":1,"method":"verify_wallet","params":{"clusterId":"cluster-id","authKey":"your-auth-key","testnet":false}}' | node dist/index.js

Address ↔ Name Resolution Endpoints

Get Name by Address
echo '{"jsonrpc":"2.0","id":1,"method":"get_name_by_address","params":{"address":"0x123","testnet":false}}' | node dist/index.js
Get All Names by Address
echo '{"jsonrpc":"2.0","id":1,"method":"get_all_names_by_address","params":{"address":"0x123","testnet":false}}' | node dist/index.js
Get Bulk Data by Addresses
echo '{"jsonrpc":"2.0","id":1,"method":"get_bulk_data_by_addresses","params":{"addresses":["0x123","0x456"],"testnet":false}}' | node dist/index.js
Get Bulk Data by Names
echo '{"jsonrpc":"2.0","id":1,"method":"get_bulk_data_by_names","params":{"names":[{"name":"name-1"},{"name":"name-2"}],"testnet":false}}' | node dist/index.js

Registration Endpoints

Check Name Availability
echo '{"jsonrpc":"2.0","id":1,"method":"check_name_availability","params":{"names":["name-1","name-2"],"testnet":false}}' | node dist/index.js
Get Registration Sign Data
  • This endpoint is not operational at the moment.
echo '{"jsonrpc":"2.0","id":1,"method":"get_registration_sign_data","params":{"network":"1","sender":"0x123","names":[{"name":"name1","amountWei":"1000000000000000000"}],"referralClusterId":"optional-id","testnet":false}}' | node dist/index.js
Get Transaction Status
echo '{"jsonrpc":"2.0","id":1,"method":"get_transaction_status","params":{"txHash":"0x123","testnet":false}}' | node dist/index.js

Community Endpoints

Check Community Name Availability
echo '{"jsonrpc":"2.0","id":1,"method":"check_community_name_availability","params":{"communityName":"community-name","name":"some-name","testnet":false}}' | node dist/index.js
Register Community Name
echo '{"jsonrpc":"2.0","id":1,"method":"register_community_name","params":{"authKey":"your-auth-key","communityName":"some_community","name":"some_name","walletAddress":"your-wallet-address","testnet":false}}' | node dist/index.js

Notes

  1. Replace placeholder values (like 0x123, your-auth-key, etc.) with actual values
  2. The testnet parameter is optional for all endpoints
  3. All responses will be JSON-RPC 2.0 formatted
  4. For authenticated endpoints, make sure to obtain and include a valid authKey
  5. The server uses optional environment variables for configuration, ensure your .env file is properly set up to use it
Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

A Model Context Protocol server implementation that provides endpoints for wallet-based authentication, cluster management, and name registration services.

  1. Dependencies
    1. Setup
      1. Testing Endpoints
        1. Authentication Endpoints
        2. Cluster Management Endpoints
        3. Address ↔ Name Resolution Endpoints
        4. Registration Endpoints
        5. Community Endpoints
      2. Notes

        Related MCP Servers

        • -
          security
          F
          license
          -
          quality
          Provides a scalable, containerized infrastructure for deploying and managing Model Context Protocol servers with monitoring, high availability, and secure configurations.
          Last updated -
        • -
          security
          A
          license
          -
          quality
          A Model Context Protocol server that enables seamless execution of commands, Python code, web content fetching, and reusable task management with secure credentials handling.
          Last updated -
          2
          Python
          MIT License
          • Apple
        • -
          security
          A
          license
          -
          quality
          A server that implements the Model Context Protocol, providing a standardized way to connect AI models to different data sources and tools.
          Last updated -
          2
          8
          TypeScript
          MIT License
        • -
          security
          F
          license
          -
          quality
          A server implementation of the Model Context Protocol (MCP) that provides REST API endpoints for managing and interacting with MCP resources.
          Last updated -
          Python

        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/ayv8er/mcp-clusters-api-v1'

        If you have feedback or need assistance with the MCP directory API, please join our Discord server