Skip to main content
Glama

provide_feature_input

Submit feature discussion responses to AI-driven prompts, enabling informed input for software development planning, implementation, and best practices.

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

  • Main execution logic for 'provide_feature_input' tool: processes user response to current feature prompt, updates feature discussion data and context, advances to next prompt or completes discussion.
    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 }] }; }
  • Input schema defining parameters for the 'provide_feature_input' tool: featureId (string) and response (string), both required.
    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"] }
  • src/index.ts:189-206 (registration)
    Tool registration in ListToolsRequestSchema handler, including name, description, and input schema.
    { 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"] } }

Other Tools

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

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