Register a UTCP Manual
register_manualRegister a new tool provider using a manual call template. This enables the provider to be discovered and called through the UTCP-MCP Bridge.
Instructions
Registers a new tool provider by providing its call template.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| manual_call_template | Yes | The call template for the UTCP Manual endpoint. |
Implementation Reference
- index.ts:55-67 (handler)Handler for the register_manual MCP tool. Registers a new tool provider via UTCP client's registerManual method.
mcp.registerTool("register_manual", { title: "Register a UTCP Manual", description: "Registers a new tool provider by providing its call template.", inputSchema: { manual_call_template: CallTemplateSchema.describe("The call template for the UTCP Manual endpoint.") }, }, async (input) => { const client = await initializeUtcpClient(); try { const result = await client.registerManual(input.manual_call_template as any); return { content: [{ type: "text", text: JSON.stringify(result) }] }; } catch (e: any) { return { content: [{ type: "text", text: JSON.stringify({ success: false, error: e.message }) }] }; } }); - utcp-client-mcp.ts:60-72 (handler)Handler for the register_manual MCP tool (alternate TS bridge). Registers a new tool provider via UTCP client's registerManual method.
mcp.registerTool("register_manual", { title: "Register a UTCP Manual", description: "Registers a new tool provider by providing its call template.", inputSchema: { manual_call_template: CallTemplateSchema.describe("The call template for the UTCP Manual endpoint.") }, }, async (input) => { const client = await initializeUtcpClient(); try { const result = await client.registerManual(input.manual_call_template as any); return { content: [{ type: "text", text: JSON.stringify(result) }] }; } catch (e: any) { return { content: [{ type: "text", text: JSON.stringify({ success: false, error: e.message }) }] }; } }); - Python FastMCP handler for register_manual tool. Registers a new tool provider via UTCP client's register_manual method.
@mcp.tool() async def register_manual(manual_call_template: CallTemplate) -> Dict[str, Any]: """Register a new tool provider with the UTCP client. Args: manual_call_template: Call template to the endpoint of a UTCP Manual Returns: Dictionary with success status and list of registered tools """ client = await initialize_utcp_client() try: tools = await client.register_manual(manual_call_template) return { "success": True, "manual_name": manual_call_template.name, "tools_registered": len(tools), "tool_names": [tool.name for tool in tools] } except Exception as e: return { "success": False, "error": str(e) } - index.ts:58-58 (schema)Input schema for register_manual uses CallTemplateSchema for the manual_call_template parameter.
inputSchema: { manual_call_template: CallTemplateSchema.describe("The call template for the UTCP Manual endpoint.") }, - index.ts:55-55 (registration)Registration of the register_manual MCP tool using McpServer.registerTool.
mcp.registerTool("register_manual", {