Skip to main content
Glama
squirrelogic

Feature-Discussion MCP Server

by squirrelogic

provide_feature_input

Submit responses to feature discussion prompts with implementation details and architecture recommendations for software development projects.

Instructions

Provide information for the current feature discussion prompt

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
featureIdYesID of the feature being discussed
responseYesYour response to the current prompt

Implementation Reference

  • Handler for the 'provide_feature_input' tool. Processes user response to current prompt, updates feature discussion data, advances to next prompt or completes discussion, and returns confirmation message.
    case "provide_feature_input": { const { featureId, response } = request.params.arguments as any; const feature = featureDiscussions[featureId]; const context = discussionContexts[featureId]; if (!feature) { throw new Error(`Feature ${featureId} not found`); } // Find current prompt const currentPromptIndex = FEATURE_DISCUSSION_PROMPTS.findIndex(p => p.id === feature.currentPrompt); const currentPrompt = FEATURE_DISCUSSION_PROMPTS[currentPromptIndex]; // Store the response if (currentPrompt.field === 'requirements' || currentPrompt.field === 'targetUsers' || currentPrompt.field === 'successCriteria' || currentPrompt.field === 'risks') { // Handle array fields feature[currentPrompt.field] = response.split('\n').map((r: string) => r.trim()).filter(Boolean); } else { // Handle string fields feature[currentPrompt.field] = response; } // Update conversation history context.conversationHistory.push({ prompt: currentPrompt.message, response, timestamp: new Date().toISOString() }); // Move to next prompt if available const nextPrompt = FEATURE_DISCUSSION_PROMPTS[currentPromptIndex + 1]; let responseMessage = "Response recorded. "; if (nextPrompt) { feature.currentPrompt = nextPrompt.id; responseMessage += `\n\nNext question:\n${nextPrompt.message}`; } else { feature.status = 'proposed'; feature.currentPrompt = undefined; responseMessage += "\n\nThank you! The feature has been fully documented. You can now use the 'analyze_feature' or 'suggest_architecture' prompts to get AI guidance on implementation."; } feature.updatedAt = new Date().toISOString(); return { content: [{ type: "text", text: responseMessage }] }; }
  • src/index.ts:189-207 (registration)
    Tool registration in ListToolsRequestSchema handler, defining name, description, and input schema for 'provide_feature_input'.
    { name: "provide_feature_input", description: "Provide information for the current feature discussion prompt", inputSchema: { type: "object", properties: { featureId: { type: "string", description: "ID of the feature being discussed" }, response: { type: "string", description: "Your response to the current prompt" } }, required: ["featureId", "response"] } } ]
  • Input schema definition for the 'provide_feature_input' tool, specifying required parameters: featureId and response.
    inputSchema: { type: "object", properties: { featureId: { type: "string", description: "ID of the feature being discussed" }, response: { type: "string", description: "Your response to the current prompt" } }, required: ["featureId", "response"] }

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/squirrelogic/mcp-feature-discussion'

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