@b2b-saas-inc/olli-mcp-server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@b2b-saas-inc/olli-mcp-server show me analytics for last week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@b2b-saas-inc/olli-mcp-server
MCP server for olli.social — lets LLMs manage your social presence via API key.
Installation
Add to your Claude Desktop (or other MCP client) config:
{
"mcpServers": {
"olli": {
"command": "npx",
"args": ["-y", "@b2b-saas-inc/olli-mcp-server"],
"env": {
"OLLI_API_KEY": "olli_sk_your_key_here"
}
}
}
}Generate an API key in your olli.social profile settings under API Keys.
Related MCP server: @posteahora/mcp
Configuration
Variable | Required | Default |
| Yes | — |
| No |
|
Tools (68)
Category | Tools |
Workspaces |
|
Campaigns |
|
Drafts |
|
Calendar |
|
Assets |
|
ICPs |
|
Industries |
|
Products |
|
Teams |
|
AI |
|
Analytics |
|
Amplification |
|
Leaderboard |
|
Integrations |
|
Notifications |
|
Support |
|
Billing |
|
All workspace-scoped tools require a workspace_id (slug or UUID, e.g. "olli-demo").
Development
npm install
OLLI_API_KEY=olli_sk_... npm run dev
npm run buildLicense
MIT
Schema Sync
Avatar tool schemas are sourced from olli-social-app's AvatarToolRegistry — the single source of truth for all 34 avatar AI tool definitions. Instead of maintaining duplicate schemas in TypeScript, this MCP server imports them as JSON.
How it works
The Rails app exposes
GET /api/v1/ai/avatar_schemas(protected by shared secret)Running
npm run sync-schemasfetches the schemas and writes them tosrc/generated/avatar-schemas.jsonAt startup, the MCP server reads this JSON file and dynamically registers avatar tools
Each avatar tool proxies execution back to the Rails avatar endpoint
Setup
Add these variables to your .env file:
MCP_RAILS_URL=https://api.olli.social
MCP_SHARED_SECRET=your_shared_secret_hereMCP_RAILS_URL is the base URL of your olli-social-app Rails server.MCP_SHARED_SECRET must match the MCP_SHARED_SECRET environment variable on the Rails side.
Syncing schemas
# Pull latest avatar tool schemas from Rails
npm run sync-schemasThe output file src/generated/avatar-schemas.json is committed to the repo for reproducible builds. Re-run the sync whenever avatar tool definitions change in the Rails app (i.e., when AvatarToolRegistry::SCHEMA_VERSION is bumped).
Adding new avatar tools
New avatar tools should be added to AvatarToolRegistry in olli-social-app — never directly in this MCP server. After adding tools in Rails:
Bump
SCHEMA_VERSIONinavatar_tool_registry.rbRun
npm run sync-schemasin this repoCommit the updated
avatar-schemas.json
Available Tools
138 toolsadd_team_memberB
Add a user to a team
Inputs: workspace_id (required), team_id (required), user_id (required).
analyze_contentC
Analyze post content for quality, tone, and suggestions
Inputs: workspace_id (required), content (required), platform.
approve_point_redemptionA
Approve a pending point redemption request (admin action)
Inputs: workspace_id (required), id (required).
avatar_chatC
Chat with the AI brand avatar
Inputs: workspace_id (required), message (required), conversation_id.
campaign_generateC
Generate campaign content (posts, messaging) using AI
Inputs: workspace_id (required), campaign_id (required), platform, count.
check_feature_usageA
Check remaining usage allowance for a feature (e.g., AI generations, posts)
Inputs: workspace_id (required), feature (required).
create_amplification_postB
Add a post to the amplification queue for team sharing
Inputs: workspace_id (required), original_post_id (required), platform (required), content_preview (required), +2 more.
create_api_keyA
Generate a new API key. The full key value is only shown once in the response.
Inputs: name (required).
create_assetC
Add an asset to the workspace library
Inputs: workspace_id (required), name (required), asset_type (required), url (required), +2 more.
create_calendar_eventC
Create a calendar event
Inputs: workspace_id (required), title (required), scheduled_for (required), content, +4 more.
create_campaignC
Create a new campaign
Inputs: workspace_id (required), title (required), description, purpose, +13 more.
create_compose_promptC
Create a reusable compose prompt template
Inputs: workspace_id (required), title (required), prompt_text (required), platform, +2 more.
create_domain_verificationA
Start domain verification for a workspace (generates DNS/meta tag verification record)
Inputs: workspace_id (required), domain (required).
create_draftC
Create a new draft
Inputs: workspace_id (required), content (required), title, platform, +4 more.
create_icpC
Create an ICP
Inputs: workspace_id (required), name (required), description, criteria.
create_incentive_rewardB
Create a new incentive reward that team members can redeem with points
Inputs: workspace_id (required), name (required), points_cost (required), description, +1 more.
create_industryC
Create a target industry
Inputs: workspace_id (required), name (required), description, criteria.
create_invitationC
Invite a user to the workspace by email
Inputs: workspace_id (required), email (required), role.
create_pixel_configA
Create a new pixel tracking configuration for a website domain
Inputs: workspace_id (required), domain (required), name.
create_productD
Create a product
Inputs: workspace_id (required), name (required), description, metadata.
create_rss_feedB
Add a new RSS feed for content curation
Inputs: workspace_id (required), url (required), name, category.
create_support_ticketC
Create a support ticket
Inputs: workspace_id (required), subject (required), description (required), priority, +1 more.
create_teamB
Create a new team in a workspace
Inputs: workspace_id (required), name (required), description, metadata.
create_tracked_profileC
Add a LinkedIn profile to tracking for prospecting and monitoring
Inputs: workspace_id (required), linkedin_url (required), name, company, +2 more.
create_variationsC
Generate multiple variations of a post
Inputs: workspace_id (required), content (required), count, platform.
create_writing_sampleB
Add a writing sample to train the AI on your brand voice
Inputs: workspace_id (required), title (required), content (required), platform.
delete_amplification_postB
Remove a post from the amplification queue
Inputs: workspace_id (required), id (required).
delete_api_keyB
Revoke and delete an API key
Inputs: id (required).
delete_assetC
Delete an asset from the library
Inputs: workspace_id (required), id (required).
delete_calendar_eventC
Delete a calendar event
Inputs: workspace_id (required), id (required).
delete_campaignC
Delete a campaign
Inputs: workspace_id (required), id (required).
delete_compose_promptC
Delete a compose prompt template
Inputs: workspace_id (required), id (required).
delete_draftC
Delete a draft
Inputs: workspace_id (required), id (required).
delete_icpC
Delete an ICP
Inputs: workspace_id (required), id (required).
delete_incentive_rewardC
Delete an incentive reward
Inputs: workspace_id (required), id (required).
delete_industryC
Delete a target industry
Inputs: workspace_id (required), id (required).
delete_invitationB
Revoke a pending invitation
Inputs: workspace_id (required), id (required).
delete_notificationB
Delete a notification
Inputs: workspace_id (required), id (required).
delete_pixel_configB
Delete a pixel tracking configuration
Inputs: workspace_id (required), id (required).
delete_productB
Delete a product
Inputs: workspace_id (required), id (required).
delete_rss_feedB
Remove an RSS feed from the workspace
Inputs: workspace_id (required), id (required).
delete_teamB
Delete a team
Inputs: workspace_id (required), id (required).
delete_tracked_profileC
Remove a profile from tracking
Inputs: workspace_id (required), id (required).
delete_writing_sampleC
Remove a writing sample
Inputs: workspace_id (required), id (required).
disconnect_integrationC
Disconnect a social platform integration
Inputs: workspace_id (required), platform (required).
fulfill_point_redemptionA
Mark a point redemption as fulfilled (reward delivered)
Inputs: workspace_id (required), id (required).
generate_extension_tokenB
Generate a new Chrome extension connection token for a workspace
Inputs: workspace_id (required).
generate_postC
Generate a social media post using AI
Inputs: workspace_id (required), platform (required), topic (required), tone, +1 more.
get_ai_usageB
Get AI quota usage for the workspace
Inputs: workspace_id (required).
get_amplification_postC
Get details of an amplification post
Inputs: workspace_id (required), id (required).
get_analyticsA
Get workspace analytics (impressions, engagement, follower growth)
Inputs: workspace_id (required), period.
get_assetB
Get a single asset
Inputs: workspace_id (required), id (required).
get_avatar_conversationB
Get a single avatar chat conversation with messages
Inputs: workspace_id (required), id (required).
get_billingB
Get billing info and current subscription for a workspace
Inputs: workspace_id (required).
get_calendar_eventB
Get a single calendar event
Inputs: workspace_id (required), id (required).
get_campaignB
Get a single campaign
Inputs: workspace_id (required), id (required).
get_checklistB
Get the onboarding checklist with completion status for each item
Inputs: workspace_id (required).
get_domain_verificationB
Check domain verification status
Inputs: workspace_id (required).
get_draftB
Get a single draft
Inputs: workspace_id (required), id (required).
get_extension_tokenA
Show the current Chrome extension token for a workspace
Inputs: workspace_id (required).
get_feature_flagsB
Get enabled feature flags for a workspace
Inputs: workspace_id (required).
get_incentive_rewardA
Get details of a specific incentive reward
Inputs: workspace_id (required), id (required).
get_leaderboardB
Get the workspace member leaderboard ranked by content performance
Inputs: workspace_id (required), period, team_id.
get_linkedin_analyticsC
Get LinkedIn integration analytics
Inputs: workspace_id (required).
get_linkedin_organizationsA
List LinkedIn organizations available for a workspace integration
Inputs: workspace_id (required).
get_onboarding_statusB
View onboarding progress and completion status for a workspace
Inputs: workspace_id (required).
get_pixel_snippetB
Get the JavaScript embed snippet for a pixel config (for website installation)
Inputs: workspace_id (required), id (required).
get_plan_featuresB
Get features available on the workspace current plan
Inputs: workspace_id (required).
get_profileA
Get the current user profile (display name, email, timezone, etc.)
Inputs: no named parameters.
get_rss_feedA
Get details of a specific RSS feed including sync status
Inputs: workspace_id (required), id (required).
get_support_ticketC
Get details of a support ticket
Inputs: workspace_id (required), id (required).
get_teamA
Get a single team and its members
Inputs: workspace_id (required), id (required).
get_tracked_profileA
Get details of a tracked LinkedIn profile including activity history
Inputs: workspace_id (required), id (required).
get_twitter_analyticsB
Get Twitter/X integration analytics
Inputs: workspace_id (required).
get_visitor_sessionA
Get detailed info about a specific visitor session including page views and identified company
Inputs: workspace_id (required), id (required).
get_visitor_statsA
Get aggregated visitor session statistics for a workspace
Inputs: workspace_id (required), since.
get_workspaceB
Get details of a workspace including subscription and settings
Inputs: workspace_id (required).
improve_contentB
Improve existing post content using AI
Inputs: workspace_id (required), content (required), instruction (required), platform.
list_amplification_postsA
List amplification posts (posts queued for team amplification). Supports pagination.
Inputs: workspace_id (required), platform, user_id, page, +1 more.
list_api_keysB
List API keys for the current user
Inputs: no named parameters.
list_assetsB
List assets in the workspace library. Supports pagination.
Inputs: workspace_id (required), type, tag, q, +2 more.
list_avatar_conversationsC
List avatar chat conversations. Supports pagination.
Inputs: workspace_id (required), page, per_page.
list_calendar_eventsC
List calendar events in a workspace. Supports pagination.
Inputs: workspace_id (required), platform, status, start_date, +3 more.
list_campaignsB
List all campaigns in a workspace. Supports pagination.
Inputs: workspace_id (required), q, status, team_id, +2 more.
list_compose_promptsB
List saved compose prompt templates for content generation
Inputs: workspace_id (required), page, per_page.
list_draftsB
List drafts in a workspace. Supports pagination.
Inputs: workspace_id (required), platform, q, page, +1 more.
list_icpsB
List Ideal Customer Profiles (ICPs) for a workspace. Supports pagination.
Inputs: workspace_id (required), q, page, per_page.
list_incentive_rewardsB
List incentive rewards available for point redemption
Inputs: workspace_id (required), page, per_page.
list_industriesB
List target industries for a workspace. Supports pagination.
Inputs: workspace_id (required), q, page, per_page.
list_integrationsB
List all connected integrations for a workspace
Inputs: workspace_id (required).
list_invitationsB
List pending invitations for a workspace. Supports pagination.
Inputs: workspace_id (required), page, per_page.
list_invoicesB
List billing invoices for a workspace. Supports pagination.
Inputs: workspace_id (required), page, per_page.
list_linkedin_conversationsB
List LinkedIn messaging conversations for a workspace
Inputs: workspace_id (required), page, per_page.
list_membershipsB
List members of a workspace. Supports pagination.
Inputs: workspace_id (required), status, role, page, +1 more.
list_notificationsA
List notifications for the current user in a workspace. Supports pagination.
Inputs: workspace_id (required), page, per_page.
list_pixel_configsB
List pixel tracking configurations for website visitor identification
Inputs: workspace_id (required), page, per_page.
list_point_redemptionsB
List point redemption requests (pending, approved, rejected, fulfilled)
Inputs: workspace_id (required), status, page, per_page.
list_productsA
List products in a workspace. Supports pagination.
Inputs: workspace_id (required), page, per_page.
list_rss_feed_itemsB
List items/articles from RSS feeds. Filter by feed or browse all.
Inputs: workspace_id (required), feed_id, page, per_page.
list_rss_feedsC
List RSS feeds configured for content curation
Inputs: workspace_id (required), page, per_page.
list_support_ticketsB
List support tickets for a workspace. Supports pagination.
Inputs: workspace_id (required), page, per_page.
list_team_membersB
List members of a team. Supports pagination.
Inputs: workspace_id (required), team_id (required), page, per_page.
list_teamsB
List teams in a workspace. Supports pagination.
Inputs: workspace_id (required), page, per_page.
list_ticket_messagesC
List messages on a support ticket. Supports pagination.
Inputs: workspace_id (required), ticket_id (required), page, per_page.
list_tracked_profilesB
List tracked LinkedIn profiles for prospecting and monitoring
Inputs: workspace_id (required), q, page, per_page.
list_visitor_sessionsB
List recent visitor sessions captured by the tracking pixel. Returns company identification, page views, and engagement data.
Inputs: workspace_id (required), since, page, per_page.
list_workspacesA
List all workspaces the authenticated user belongs to. Supports pagination.
Inputs: page, per_page.
list_writing_samplesB
List writing samples that define the workspace brand voice
Inputs: workspace_id (required), page, per_page.
mark_all_notifications_readB
Mark all notifications as read
Inputs: workspace_id (required).
mark_notification_readB
Mark a single notification as read
Inputs: workspace_id (required), id (required).
publish_draftA
Publish a draft immediately to a connected social account
Inputs: workspace_id (required), id (required), integration_id (required), author_type.
reject_point_redemptionA
Reject a pending point redemption request (admin action)
Inputs: workspace_id (required), id (required).
remove_membershipB
Remove a member from a workspace
Inputs: workspace_id (required), id (required).
remove_team_memberC
Remove a user from a team
Inputs: workspace_id (required), team_id (required), id (required).
reply_to_linkedin_conversationA
Send a reply in a LinkedIn messaging conversation
Inputs: workspace_id (required), conversation_id (required), message (required).
reply_to_ticketB
Send a message on a support ticket
Inputs: workspace_id (required), ticket_id (required), body (required).
request_point_redemptionA
Request to redeem points for an incentive reward
Inputs: workspace_id (required), incentive_reward_id (required).
revoke_extension_tokenB
Revoke the Chrome extension token for a workspace
Inputs: workspace_id (required).
schedule_draftC
Schedule a draft for future publishing
Inputs: workspace_id (required), id (required), integration_id (required), scheduled_for (required), +1 more.
select_linkedin_organizationB
Select which LinkedIn company page to post on behalf of
Inputs: workspace_id (required), organization_id (required), organization_name (required), organization_logo_url.
suggest_hashtagsC
Suggest relevant hashtags for a post
Inputs: workspace_id (required), content (required), platform.
sync_linkedinB
Trigger a LinkedIn data sync for a workspace
Inputs: workspace_id (required).
sync_rss_feedB
Manually trigger a sync for an RSS feed to fetch latest items
Inputs: workspace_id (required), id (required).
sync_twitterB
Trigger a Twitter/X data sync for a workspace
Inputs: workspace_id (required).
track_feature_usageB
Record usage of a feature for quota tracking
Inputs: workspace_id (required), feature (required), quantity.
update_calendar_eventC
Update a calendar event
Inputs: workspace_id (required), id (required), title, content, +5 more.
update_campaignC
Update an existing campaign
Inputs: workspace_id (required), id (required), title, description, +14 more.
update_draftC
Update a draft
Inputs: workspace_id (required), id (required), title, content, +5 more.
update_icpC
Update an ICP
Inputs: workspace_id (required), id (required), name, description, +1 more.
update_incentive_rewardC
Update an incentive reward
Inputs: workspace_id (required), id (required), name, description, +2 more.
update_industryC
Update a target industry
Inputs: workspace_id (required), id (required), name, description, +1 more.
update_membershipB
Update a workspace membership role or status
Inputs: workspace_id (required), id (required), role, status.
update_productC
Update a product
Inputs: workspace_id (required), id (required), name, description, +1 more.
update_profileC
Update the current user profile settings
Inputs: display_name, bio, timezone, avatar_url.
update_rss_feedC
Update an RSS feed configuration
Inputs: workspace_id (required), id (required), name, category, +1 more.
update_teamB
Update an existing team
Inputs: workspace_id (required), id (required), name, description, +1 more.
update_workspaceB
Update workspace settings (name, description, brand voice, etc.)
Inputs: workspace_id (required), name, description, website_url, +2 more.
verify_domainA
Trigger domain verification check (after DNS/meta tag has been set up)
Inputs: workspace_id (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 138 tools
Tools are mostly distinct by resource, but potential overlap between 'create_draft' and 'generate_post' could cause confusion. The large quantity makes subtle distinctions harder.
All tools follow a strict verb_noun snake_case pattern, highly consistent and predictable.
138 tools is far beyond typical scope for a single server. This extreme count suggests lack of focus and may overwhelm agents.
Covers many resources but missing update operations for assets, tracked profiles, pixel configs, etc. Some CRUD gaps exist, but core workflows are generally supported.
Maintenance
Related MCP Connectors
Draft, schedule and publish social media posts from any AI agent.
Social media API for AI agents: publish, DMs, comments, Meta ads and leads.
Draft, schedule and publish social posts to nine platforms from any AI agent.
Schedule and publish social posts across 9 platforms (Instagram, LinkedIn, X, TikTok, Facebook, Threads, Pinterest, Bluesky, Mastodon) straight from Claude, ChatGPT, Cursor, or any MCP client. Create, edit, and reschedule posts, upload media, and pull account and post analytics, follower demographics, and best-time windows. 20 tools, free on every plan.
Related MCP Servers
- AlicenseAqualityCmaintenanceSchedule, manage, generate, and analyze social posts across 11 networks (Instagram, TikTok, X, LinkedIn, YouTube, Facebook, Pinterest, Threads, Bluesky, Mastodon, Telegram) from any AI agent — 13 tools covering scheduling, media upload, AI caption generation, best-times, analytics, listening, and comments.1354 npmMIT

@posteahora/mcpofficial
AlicenseAqualityCmaintenanceEnables AI agents to create, schedule, and publish social media posts across Instagram, X/Twitter, LinkedIn, Threads, Facebook, and other platforms via the PosteAhora API.1520 npmMIT- AlicenseAqualityBmaintenanceEnables AI agents to manage social media posts across multiple platforms by scoring virality, generating threads, converting formats, optimizing hooks, scheduling campaigns, and validating platform limits.12MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to draft, schedule, and publish social media posts across multiple platforms through an authorized Socialync account, with human-in-the-loop approval, quota checks, media uploads, analytics, and content generation.MIT