Skip to main content
Glama
adiletD

Supabase MCP Server

by adiletD

query_feature_suggestions

Retrieve feature suggestions from a Supabase database to help AI tools access and display user feature request data for analysis and implementation planning.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of records to return

Implementation Reference

  • The async handler function for the query_feature_suggestions tool. It queries the feature_suggestions table from Supabase with an optional limit, handles errors, logs activities, and returns the data as formatted JSON text.
    async ({ limit = 100 }) => { const table_name = "feature_suggestions"; try { logger.log(`Querying feature_suggestions table with limit: ${limit}`); const { data, error } = await supabase .from(table_name) .select('*') .limit(limit); if (error) { logger.error(`Error querying feature_suggestions table:`, error); return { content: [{ type: "text", text: `Error querying feature_suggestions table: ${error.message}` }] }; } // Log the raw data for debugging logger.log(`Raw data from feature_suggestions: ${JSON.stringify(data)}`); // Ensure data is properly formatted const formattedData = Array.isArray(data) ? data : []; logger.log(`Successfully retrieved ${formattedData.length} records from feature_suggestions`); return { content: [{ type: "text", text: JSON.stringify(formattedData, null, 2) }] }; } catch (error) { logger.error(`Error in query_feature_suggestions tool for feature_suggestions table:`, error); return { content: [{ type: "text", text: `Error: ${error instanceof Error ? error.message : String(error)}` }] }; } }
  • Input schema defining the optional 'limit' parameter (number) for the number of records to retrieve.
    { limit: z.number().optional().describe("Maximum number of records to return") },
  • mcp-server.ts:61-109 (registration)
    Registration of the query_feature_suggestions tool using server.tool(), including name, input schema, and handler function.
    server.tool( "query_feature_suggestions", { limit: z.number().optional().describe("Maximum number of records to return") }, async ({ limit = 100 }) => { const table_name = "feature_suggestions"; try { logger.log(`Querying feature_suggestions table with limit: ${limit}`); const { data, error } = await supabase .from(table_name) .select('*') .limit(limit); if (error) { logger.error(`Error querying feature_suggestions table:`, error); return { content: [{ type: "text", text: `Error querying feature_suggestions table: ${error.message}` }] }; } // Log the raw data for debugging logger.log(`Raw data from feature_suggestions: ${JSON.stringify(data)}`); // Ensure data is properly formatted const formattedData = Array.isArray(data) ? data : []; logger.log(`Successfully retrieved ${formattedData.length} records from feature_suggestions`); return { content: [{ type: "text", text: JSON.stringify(formattedData, null, 2) }] }; } catch (error) { logger.error(`Error in query_feature_suggestions tool for feature_suggestions table:`, error); return { content: [{ type: "text", text: `Error: ${error instanceof Error ? error.message : String(error)}` }] }; } } );

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/adiletD/feature-request-collection-mcp'

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