Skip to main content
Glama
IBM

IBM i MCP Server

Official
by IBM
registration.ts2.4 kB
/** * @fileoverview Handles the registration of the `echo` resource with an MCP server instance. * @module src/mcp-server/resources/echoResource/registration.ts **/ import { McpServer, ResourceTemplate, } from "@modelcontextprotocol/sdk/server/mcp.js"; import { JsonRpcErrorCode } from "@/types-global/errors.js"; import { ErrorHandler, RequestContext, requestContextService, } from "@/utils/index.js"; import { logOperationStart, logOperationSuccess, } from "@/utils/internal/logging-helpers.js"; import { createResourceHandler, ResourceResponseFormatter, } from "@/mcp-server/resources/utils/resource-utils.js"; import { echoResourceLogic, EchoResourceResponsePayload } from "./logic.js"; const RESOURCE_NAME = "echo-resource"; const responseFormatter: ResourceResponseFormatter< EchoResourceResponsePayload > = (result, uri) => ({ contents: [ { uri: uri.href, mimeType: "application/json", text: JSON.stringify(result), }, ], }); export const registerEchoResource = async ( server: McpServer, ): Promise<void> => { const registrationContext: RequestContext = requestContextService.createRequestContext({ operation: "RegisterResource", resourceName: RESOURCE_NAME, }); logOperationStart( registrationContext, `Registering resource: '${RESOURCE_NAME}'`, ); await ErrorHandler.tryCatch( async () => { const template = new ResourceTemplate("echo://{message}", { list: async () => ({ resources: [ { uri: "echo://hello", name: "Default Echo Message", description: "A simple echo resource example.", }, ], }), }); server.registerResource( RESOURCE_NAME, template, { description: "A simple echo resource that returns a message.", mimeType: "application/json", }, createResourceHandler( RESOURCE_NAME, echoResourceLogic, responseFormatter, ), ); logOperationSuccess( registrationContext, `Resource '${RESOURCE_NAME}' registered successfully.`, ); }, { operation: `RegisteringResource_${RESOURCE_NAME}`, context: registrationContext, errorCode: JsonRpcErrorCode.InitializationFailed, critical: true, }, ); };

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/IBM/ibmi-mcp-server'

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