
Featurebase
STDIOMCP server for managing Featurebase posts and comments via API integration.
MCP server for managing Featurebase posts and comments via API integration.
A Model Context Protocol (MCP) server that provides access to the Featurebase API for managing posts and comments.
Posts Management
Comments Management
Once published to Smithery, users can install the server easily:
npx featurebase-mcp
Or install globally:
npm install -g featurebase-mcp
git clone https://github.com/marcinwyszynski/featurebase-mcp.git cd featurebase-mcp npm install npm run build
Add this server to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{ "mcpServers": { "featurebase": { "command": "npx", "args": ["featurebase-mcp"], "env": { "FEATUREBASE_API_KEY": "your-api-key-here", "FEATUREBASE_ORG_URL": "https://your-org.featurebase.app" } } } }
{ "mcpServers": { "featurebase": { "command": "featurebase-mcp", "env": { "FEATUREBASE_API_KEY": "your-api-key-here", "FEATUREBASE_ORG_URL": "https://your-org.featurebase.app" } } } }
{ "mcpServers": { "featurebase": { "command": "node", "args": ["/path/to/featurebase-mcp/build/index.js"], "env": { "FEATUREBASE_API_KEY": "your-api-key-here", "FEATUREBASE_ORG_URL": "https://your-org.featurebase.app" } } } }
The server requires these environment variables:
FEATUREBASE_API_KEY
: Your FeatureBase API keyFEATUREBASE_ORG_URL
: Your organization's FeatureBase URL (e.g., "https://feedback.spacelift.io"). Required only if using resolve_post_slug
tool.FEATUREBASE_BASE_URL
: Custom API base URL (defaults to "https://do.featurebase.app/v2")You can set them:
export FEATUREBASE_API_KEY="your-api-key-here"
FEATUREBASE_API_KEY="your-api-key-here" npx featurebase-mcp
list_posts
List posts with optional filtering.
Parameters:
id
: Find specific post by IDq
: Search posts by title or contentcategory
: Filter by board names (array)status
: Filter by status IDs (array)sortBy
: Sort order (e.g., "date:desc", "upvotes:desc")startDate
: Posts created after this dateendDate
: Posts created before this datelimit
: Results per pagepage
: Page numbercreate_post
Create a new post.
Parameters:
title
(required): Post title (min 2 characters)category
(required): Board/category namecontent
: Post contentemail
: Submitter's emailauthorName
: Name for new userstags
: Array of tag namescommentsAllowed
: Enable/disable commentsstatus
: Post statusdate
: Creation datecustomInputValues
: Custom field valuesupdate_post
Update an existing post.
Parameters:
id
(required): Post ID to updatetitle
: New titlecontent
: New contentstatus
: New statuscommentsAllowed
: Enable/disable commentscategory
: New categorysendStatusUpdateEmail
: Email upvoters about status changetags
: New tagsinReview
: Put post in reviewdate
: Creation datecustomInputValues
: Custom field valuesdelete_post
Permanently delete a post.
Parameters:
id
(required): Post ID to deleteget_post_upvoters
Get list of users who upvoted a post.
Parameters:
submissionId
(required): Post IDpage
: Page number (default: 1)limit
: Results per page (default: 10, max: 100)add_upvoter
Add an upvoter to a post.
Parameters:
id
(required): Post IDemail
(required): Upvoter's emailname
(required): Upvoter's nameresolve_post_slug
Convert a post slug to post ID and get complete post details.
Parameters:
slug
(required): Post slug from URL (e.g., "spacectl-stack-local-preview-target")Returns the complete post data including ID, title, content, and metadata.
get_similar_submissions
Find posts similar to the given query text.
Parameters:
query
(required): Search query text to find similar submissionslocale
: Locale for search (default: "en")Returns a list of similar posts based on content similarity.
get_comments
Get comments for a post or changelog.
Parameters:
submissionId
: Post ID or slug (required if no changelogId)changelogId
: Changelog ID or slug (required if no submissionId)privacy
: Filter by privacy ("public", "private", "all")inReview
: Filter for comments in reviewcommentThreadId
: Get all comments in a threadlimit
: Results per page (default: 10)page
: Page number (default: 1)sortBy
: Sort order ("best", "top", "new", "old")create_comment
Create a new comment or reply.
Parameters:
content
(required): Comment contentsubmissionId
: Post ID or slug (required if no changelogId)changelogId
: Changelog ID or slug (required if no submissionId)parentCommentId
: Parent comment ID for repliesisPrivate
: Make comment private (admins only)sendNotification
: Notify voters (default: true)createdAt
: Set creation dateauthor
: Post as specific user (object with name, email, profilePicture)update_comment
Update an existing comment.
Parameters:
id
(required): Comment IDcontent
: New contentisPrivate
: Make private (admins only)pinned
: Pin comment to topinReview
: Put comment in reviewcreatedAt
: Update creation datedelete_comment
Delete a comment (soft delete if it has replies).
Parameters:
id
(required): Comment ID to delete# Install dependencies npm install # Build TypeScript npm run build # Run in development mode npm run dev
FEATUREBASE_API_KEY
environment variableThis server is available on:
For publishing instructions, see PUBLISHING.md.
Contributions are welcome! Please feel free to submit a Pull Request.
MIT