@voxburst/mcp-server
v0.1.1
Published
MCP Server for VoxBurst - Enable AI agents to manage social media posts
Maintainers
Readme
@voxburst/mcp-server
Model Context Protocol (MCP) server for VoxBurst — enables AI agents to manage social media posts.
Features
- 🚀 Post Management — Create, schedule, list, and delete social media posts
- 👥 Account Access — List and inspect connected social media accounts
- 📊 Analytics — Retrieve engagement metrics for posts and accounts
- 🔍 Content Validation — Validate content against platform-specific rules before posting
- 🤖 AI-Native — Designed for Claude, GPT, and other LLM agents
Installation
npm install @voxburst/mcp-serverOr run directly with npx:
npx @voxburst/mcp-serverConfiguration
Environment Variables
| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| VOXBURST_API_KEY | Yes | — | Your VoxBurst API key |
| VOXBURST_API_URL | No | https://api.voxburst.io | API base URL |
Get your API key from VoxBurst Settings.
Claude Desktop
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"voxburst": {
"command": "npx",
"args": ["@voxburst/mcp-server"],
"env": {
"VOXBURST_API_KEY": "sk_your_api_key_here"
}
}
}
}Cursor
Add to your Cursor MCP settings:
{
"mcpServers": {
"voxburst": {
"command": "npx",
"args": ["@voxburst/mcp-server"],
"env": {
"VOXBURST_API_KEY": "sk_your_api_key_here"
}
}
}
}Windsurf / VS Code with MCP Extension
{
"mcp.servers": {
"voxburst": {
"command": "npx",
"args": ["@voxburst/mcp-server"],
"env": {
"VOXBURST_API_KEY": "sk_your_api_key_here"
}
}
}
}Available Tools
Post Management
create_post
Create a new social media post, optionally scheduled for later.
{
content: string, // Post content (required)
accountIds: string[], // Target account IDs (required)
mediaUrls?: string[], // Optional media attachments
scheduledFor?: string // ISO 8601 datetime for scheduling
}Example:
Create a post saying "Excited to announce our new feature! 🚀"
and schedule it for tomorrow at 9 AM on my Twitter account.list_posts
List posts with optional filtering.
{
status?: 'draft' | 'scheduled' | 'published' | 'failed',
accountId?: string,
limit?: number, // 1-100, default 20
offset?: number // Pagination offset
}get_post
Get details of a specific post.
{
postId: string // Post ID (required)
}delete_post
Delete a draft or scheduled post.
{
postId: string // Post ID (required)
}validate_content
Validate content against platform rules before posting.
{
content: string, // Content to validate
accountIds: string[] // Account IDs for platform-specific rules
}Account Management
list_accounts
List all connected social media accounts.
// No parameters requiredget_account
Get details of a specific account.
{
accountId: string // Account ID (required)
}Analytics
get_post_metrics
Get engagement metrics for a post.
{
postId: string // Post ID (required)
}Returns: impressions, engagements, likes, shares, comments, clicks.
get_account_metrics
Get metrics for an account.
{
accountId: string // Account ID (required)
}Returns: followers, following, total posts, average engagement rate.
Available Resources
Resources provide read-only access to VoxBurst data:
| URI | Description |
|-----|-------------|
| accounts://list | All connected accounts |
| accounts://{id} | Single account details |
| posts://recent | Recent posts (last 20) |
| posts://{id} | Single post details |
Example Conversations
Creating a Post
User: Post "Just shipped a major update! Check out the new dashboard features." to my Twitter and LinkedIn accounts.
Claude: I'll create that post for you. Let me first check your connected accounts...
[Uses list_accounts tool]
I found your Twitter (@yourhandle) and LinkedIn (Your Name) accounts. Creating the post now...
[Uses create_post tool]
Done! Your post has been published to both platforms.
Scheduling Content
User: Schedule a post for next Monday at 10 AM saying "Monday motivation: Every expert was once a beginner."
Claude: I'll schedule that post for Monday at 10 AM...
[Uses create_post with scheduledFor parameter]
Your post is scheduled for Monday, February 24th at 10:00 AM.
Checking Analytics
User: How did my last post perform?
Claude: Let me check the metrics for your most recent post...
[Uses list_posts, then get_post_metrics]
Your post from yesterday received:
- 1,234 impressions
- 89 engagements
- 45 likes
- 12 shares
- 8 comments
That's a 7.2% engagement rate — above your average!
Development
Building from Source
git clone https://github.com/voxburst/voxburst.git
cd voxburst/packages/mcp-server
npm install
npm run buildRunning Locally
VOXBURST_API_KEY=sk_test_xxx npm startTesting
npm testError Handling
The server provides clear error messages:
- Missing API Key:
VOXBURST_API_KEY environment variable is required - Authentication Error:
VoxBurst API Error (401): Invalid API key - Rate Limiting:
VoxBurst API Error (429): Rate limit exceeded - Validation Error:
VoxBurst API Error (400): Content exceeds platform limit
Security
- API keys are passed via environment variables, never logged
- All communication uses HTTPS
- The server has no persistent state
- Runs in stdio mode (no network server)
Support
License
MIT
