Skip to main content
Glama

Bitcoin SV MCP Server

by b-open-io
getBalance.ts1.68 kB
import { PrivateKey } from "@bsv/sdk"; import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import type { RequestHandlerExtra } from "@modelcontextprotocol/sdk/shared/protocol.js"; import type { ServerNotification, ServerRequest, } from "@modelcontextprotocol/sdk/types.js"; import type { MneeInterface } from "mnee"; import { z } from "zod"; export const getBalanceArgsSchema = z.object({}); export type GetBalanceArgs = z.infer<typeof getBalanceArgsSchema>; export function registerGetBalanceTool( server: McpServer, mnee: MneeInterface, ): void { server.tool( "mnee_getBalance", "Retrieves the current MNEE token balance for the wallet. Returns the balance in MNEE tokens.", { args: getBalanceArgsSchema, }, async ( { args }: { args: GetBalanceArgs }, extra: RequestHandlerExtra<ServerRequest, ServerNotification>, ) => { try { // Get private key from wallet const privateKeyWif = process.env.PRIVATE_KEY_WIF; if (!privateKeyWif) { throw new Error( "Private key WIF not available in environment variables", ); } const privateKey = PrivateKey.fromWif(privateKeyWif); if (!privateKey) { throw new Error("No private key available"); } const address = privateKey.toAddress().toString(); const balance = await mnee.balance(address); return { content: [ { type: "text", text: JSON.stringify({ balance }, null, 2), }, ], }; } catch (error) { return { content: [ { type: "text", text: error instanceof Error ? error.message : String(error), }, ], isError: true, }; } }, ); }

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/b-open-io/bsv-mcp'

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