name: 🚀 Feature Request
description: Suggest a new feature or enhancement for the Netlify MCP Server
title: "[FEATURE] "
labels: ["enhancement", "needs-review"]
assignees: []
body:
- type: markdown
attributes:
value: |
Thank you for suggesting a feature! Please provide detailed specifications to help us understand and implement your request.
**For Copilot Users:** Include specific tool signatures, expected parameters, and integration patterns.
- type: checkboxes
id: prerequisites
attributes:
label: Prerequisites
description: Please confirm before submitting
options:
- label: I have searched existing issues and feature requests
required: true
- label: This feature is not available in the current version
required: true
- label: I have considered if this could be implemented as a third-party extension
required: true
- type: dropdown
id: category
attributes:
label: Feature Category
description: What type of feature is this?
options:
- New Tool
- New Resource
- New Prompt
- Tool Enhancement
- Resource Enhancement
- Authentication/Security
- Performance Improvement
- Developer Experience
- Documentation
- Integration
- Other
validations:
required: true
- type: textarea
id: summary
attributes:
label: Feature Summary
description: A clear and concise description of the feature
placeholder: "Add a tool to manage Netlify Forms submissions..."
validations:
required: true
- type: textarea
id: problem
attributes:
label: Problem Statement
description: What problem does this feature solve?
placeholder: |
**Current Limitation:** Currently, there's no way to...
**Impact:** This makes it difficult to...
**User Story:** As a developer, I want to... so that I can...
validations:
required: true
- type: textarea
id: solution
attributes:
label: Proposed Solution
description: Detailed description of your proposed solution
placeholder: |
**Overview:** Implement a new tool called `manage-forms` that...
**Functionality:** This tool would allow users to...
**Integration:** It would work with existing tools by...
validations:
required: true
- type: textarea
id: technical_specs
attributes:
label: Technical Specifications
description: Detailed technical requirements and specifications
placeholder: |
**Tool Name:** `manage-forms`
**Parameters:**
```json
{
"siteId": "string (required)",
"action": "list | get | delete | export",
"formId": "string (optional)",
"format": "json | csv (optional, default: json)"
}
```
**Expected Output:**
```json
{
"content": [
{
"type": "text",
"text": "Form submissions data..."
}
]
}
```
**Netlify CLI Integration:** Uses `netlify api listFormSubmissions`
**Error Handling:** Should handle cases where...
render: markdown
- type: textarea
id: tool_signature
attributes:
label: Tool/Resource Signature (if applicable)
description: Exact tool signature for new tools/resources
placeholder: |
```typescript
// Tool Definition
{
name: "manage-forms",
description: "Manage Netlify form submissions",
inputSchema: ManageFormsSchema,
}
// Schema
const ManageFormsSchema = z.object({
siteId: z.string().describe("Site ID"),
action: z.enum(["list", "get", "delete", "export"]).describe("Action to perform"),
formId: z.string().optional().describe("Specific form ID"),
format: z.enum(["json", "csv"]).default("json").describe("Output format")
});
```
render: typescript
- type: textarea
id: api_integration
attributes:
label: Netlify API/CLI Integration
description: How this feature integrates with Netlify's APIs or CLI
placeholder: |
**CLI Commands:**
- `netlify api listForms --data='{"site_id":"..."}'`
- `netlify api listFormSubmissions --data='{"form_id":"..."}'`
**API Endpoints:**
- GET /sites/{site_id}/forms
- GET /forms/{form_id}/submissions
**Authentication:** Requires site access permissions
**Rate Limits:** Consider Netlify API rate limits
render: markdown
- type: textarea
id: use_cases
attributes:
label: Use Cases
description: Specific scenarios where this feature would be used
placeholder: |
1. **Contact Form Management:** Developers need to export contact form submissions for CRM integration
2. **Analytics Integration:** Automated analysis of form submission patterns
3. **Compliance:** Regular backup of form data for GDPR requirements
4. **Notification Systems:** Trigger custom notifications based on form submissions
render: markdown
- type: textarea
id: examples
attributes:
label: Usage Examples
description: Concrete examples of how this feature would be used
placeholder: |
```javascript
// Example 1: List all forms for a site
await callTool("manage-forms", {
siteId: "my-site-id",
action: "list"
});
// Example 2: Export contact form submissions as CSV
await callTool("manage-forms", {
siteId: "my-site-id",
action: "export",
formId: "contact-form",
format: "csv"
});
// Example 3: Get specific form details
await callTool("manage-forms", {
siteId: "my-site-id",
action: "get",
formId: "newsletter-signup"
});
```
render: javascript
- type: textarea
id: alternatives
attributes:
label: Alternative Solutions
description: Other ways to achieve the same goal
placeholder: |
**Manual Approach:** Currently users must log into Netlify dashboard and manually export forms
**CLI Workaround:** Users can use `netlify api` commands directly but this requires knowledge of API endpoints
**Third-party Tools:** Some tools exist but require additional setup and authentication
**Why this solution is better:** Integrates seamlessly with existing MCP workflow, provides type safety, handles authentication automatically
- type: dropdown
id: priority
attributes:
label: Priority Level
description: How important is this feature to you?
options:
- Low - Nice to have
- Medium - Would improve workflow
- High - Blocking current work
- Critical - Essential for project success
- type: textarea
id: compatibility
attributes:
label: Compatibility Considerations
description: Any compatibility requirements or concerns
placeholder: |
**Netlify CLI Version:** Should work with v22.1.3+
**MCP SDK Version:** Compatible with current v1.12.3
**Breaking Changes:** This feature should not introduce breaking changes
**Backwards Compatibility:** Should work with existing configurations
- type: textarea
id: implementation_notes
attributes:
label: Implementation Notes
description: Technical notes for implementation (if you have implementation ideas)
placeholder: |
**Dependencies:** May require additional npm packages for CSV export
**Error Handling:** Need to handle rate limiting and permission errors
**Testing:** Should include integration tests with mock Netlify API responses
**Documentation:** Update README.md with new tool documentation
- type: checkboxes
id: contribution
attributes:
label: Contribution
description: Your involvement in this feature
options:
- label: I am willing to help implement this feature
- label: I can provide additional requirements/specifications
- label: I can help with testing once implemented
- label: I can contribute documentation
- label: I have expertise in this area and can provide guidance
- type: textarea
id: context
attributes:
label: Additional Context
description: Any other relevant information
placeholder: "This feature request is part of a larger project to automate our deployment pipeline..."
- type: checkboxes
id: copilot_considerations
attributes:
label: Copilot/AI Considerations
description: Special considerations for AI coding assistants
options:
- label: This feature should have clear parameter validation for AI safety
- label: Include comprehensive examples for AI training
- label: Add detailed JSDoc comments for better AI understanding
- label: Consider rate limiting for automated AI usage