Skip to main content
Glama
adapoet
by adapoet

recommend_tool

Recommends the appropriate Fabric pattern tool based on your task description to enable AI-driven pattern execution within Cline workflows.

Instructions

Recommends the best Fabric pattern tool for a given task

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
inputYesThe user's task description

Implementation Reference

  • The handler logic for executing the 'recommend_tool'. It extracts the task from input, simulates a Perplexity recommendation (currently hardcoded to 'summarize'), and returns the recommended tool name.
     if (request.params.name === "recommend_tool") {
       const task = String(request.params.arguments?.input || '');
    
       // Use Perplexity to recommend a Fabric pattern
       // Call the Perplexity MCP server to search for the best Fabric pattern
       let recommendedTool = "summarize"; // default tool
       try {
         const perplexityResult = await new Promise<any>((resolve, reject) => {
      //server.accessResource({
           //  serverName: "github.com/pashpashpash/perplexity-mcp",
           //  uri: `search?query=Recommend the best Fabric pattern tool for the task: ${task}. Choose from the following patterns: ${patterns.join(', ')}&detail_level=brief`
           //}).then((result: any) => {
           //  console.error('Perplexity recommendation:', result);
           //  if (result && result.content && result.content[0] && result.content[0].text) {
           //    recommendedTool = result.content[0].text;
           //  } else {
           //    console.error("Unexpected result format from perplexity-mcp:", result);
           //  }
           //  resolve(result);
           //}).catch((error: any) => {
           //  console.error("Error calling perplexity-mcp:", error);
           //  reject(error);
           //});
           console.error("Calling perplexity-mcp to recommend a tool");
    recommendedTool = "summarize";
           resolve({content: [{text: "summarize"}]});
         });
    
         return {
           content: [{
             type: "text",
             text: `Recommended tool: ${recommendedTool}`
           }]
         };
       } catch (error) {
         console.error("Error calling perplexity-mcp:", error);
         return {
           content: [{
             type: "text",
             text: `Error calling perplexity-mcp: ${error}`
           }]
         };
       }
     }
  • src/index.ts:68-82 (registration)
    Registers the 'recommend_tool' in the ListTools response by adding it to the tools array, including its description and input schema.
    // Add the recommend_tool
    tools.push({
      name: "recommend_tool",
      description: "Recommends the best Fabric pattern tool for a given task",
       inputSchema: {
         type: "object",
         properties: {
           input: {
             type: "string",
             description: "The user's task description"
           }
         },
         required: ["input"]
       }
    });
Install Server

Other Tools

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/adapoet/fabric-mcp-server'

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