Skip to main content
Glama
RSS3-Network

RSS3 MCP Server

Official
by RSS3-Network

API-getStakerProfit

Retrieve staking profit data for a staker using the RSS3 MCP Server. Query decentralized chain information through natural language to access staking performance metrics.

Instructions

Retrieve staking profit of a staker

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • Core execution handler for the API-getStakerProfit tool. Resolves the tool name to the corresponding OpenAPI operation using openApiLookup and invokes the remote API endpoint via the HttpClient, handling success and error responses.
    // find operation
    const mcpToolWithClient = mcpToolWithClients.find(
    	(t) => t.mcpTools.openApiLookup[name],
    );
    if (!mcpToolWithClient) {
    	throw new Error(`Method ${name} not found`);
    }
    
    const operation = mcpToolWithClient.mcpTools.openApiLookup[name];
    
    // execute
    try {
    	const response = await mcpToolWithClient.client.executeOperation(
    		operation,
    		params,
    	);
    	return {
    		content: [
    			{
    				type: "text", // currently this is the only type that seems to be used by mcp server
    				text: JSON.stringify(response.data), // TODO: pass through the http status code text?
    			},
    		],
    	};
    } catch (error) {
    	console.error("Error in tool call", error);
    	if (error instanceof HttpClientError) {
    		console.error(
    			"HttpClientError encountered, returning structured error",
    			error,
    		);
    		const data = error.data?.response?.data ?? error.data ?? {};
    		return {
    			content: [
    				{
    					type: "text",
    					text: JSON.stringify({
    						status: "error", // TODO: get this from http status code?
    						...(typeof data === "object" ? data : { data: data }),
    					}),
    				},
    			],
    		};
    	}
    	throw error;
    }
  • index.js:108-126 (registration)
    Dynamic registration of API-getStakerProfit (and other tools) in the tool list response. Constructs tool names as `${toolName}-${method.name}` truncated to 64 characters from the OpenAPI definitions.
    for (const mcpToolWithClient of mcpToolWithClients) {
    	for (const [toolName, def] of Object.entries(
    		mcpToolWithClient.mcpTools.tools,
    	)) {
    		for (const method of def.methods) {
    			console.error("method", method);
    			const toolNameWithMethod = `${toolName}-${method.name}`;
    			const truncatedToolName = toolNameWithMethod.slice(0, 64);
    			const trimmedDescription = method.description.split("Error")[0].trim();
    			tools.push({
    				name: truncatedToolName,
    				description: trimmedDescription,
    				inputSchema: {
    					type: "object",
    					properties: {},
    				},
    			});
    		}
    	}
  • Handler for retrieving the input schema of API-getStakerProfit (and other dynamic tools) via the 'API-get-input-schema' meta-tool.
    if (name === "API-get-input-schema") {
    	for (const mcpToolWithClient of mcpToolWithClients) {
    		for (const [toolName, def] of Object.entries(
    			mcpToolWithClient.mcpTools.tools,
    		)) {
    			for (const method of def.methods) {
    				const toolNameWithMethod = `${toolName}-${method.name}`;
    				const truncatedToolName = toolNameWithMethod.slice(0, 64);
    				if (truncatedToolName === params.toolName) {
    					return {
    						content: [
    							{ type: "text", text: JSON.stringify(method.inputSchema) },
    						],
    					};
    				}
    			}
    		}
    	}
    	throw new Error(`Method ${params.toolName} not found`);
    }
  • Converts OpenAPI specifications into MCP tools structures, including the openApiLookup used to resolve tool names like API-getStakerProfit to operations.
    const mcpToolWithClients = converterWithClients.map((cwc) => {
    	const mcpTools = cwc.converter.convertToMCPTools();
    	return {
    		mcpTools,
    		client: cwc.client,
    	};
    });

Latest Blog Posts

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/RSS3-Network/mcp-server-rss3'

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