TweetBinder MCP Server is a server based on the Model Context Protocol (MCP) that allows Claude and other MCP-compatible clients to interact with your TweetBinder by Audiense account

What is AudienseCo mcp tweetbinder

TweetBinder by Audiense MCP Server

smithery badge

This is a Model Context Protocol (MCP) server for the TweetBinder by Audiense API, allowing Claude and other MCP-compatible AI models to access TweetBinder by Audiense analytics data.

Features

  • Access TweetBinder analytics directly from Claude
  • Analyze hashtags, users, and conversations on Twitter/X
  • Get engagement metrics, sentiment analysis, and more
  • Create Twitter reports with custom search queries
  • Check report generation status
  • Retrieve detailed report statistics
  • Get account balance and quota information
  • Count tweets matching specific queries
  • List and manage your TweetBinder reports
  • Access tweet content and user information from reports

Installation

Installing via Smithery

To install mcp-tweetbinder for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @AudienseCo/mcp-tweetbinder --client claude

Manual Configuration

Prerequisites

  • Node.js (v18 or higher)
  • Claude Desktop App
  • TweetBinder by Audiense account with API credentials
  1. Clone this repository
  2. Install dependencies:
    npm install
    
  3. Build the project:
    npm run build
    

You need a valid TweetBinder API Bearer Token to use this service. Set it in your environment:

export TWEETBINDER_API_TOKEN='your-bearer-token-here'

Usage with Claude Desktop

  1. Edit your Claude Desktop configuration file:

    • MacOS:
      code ~/Library/Application\ Support/Claude/claude_desktop_config.json
      
    • Windows:
      code %AppData%\Claude\claude_desktop_config.json
      
  2. Add this configuration:

"mcpServers": {
  "tweetbinder": {
    "command": "node",
    "args": [
      "/absolute/path/to/build/index.js"
    ],
    "env": {
      "TWEETBINDER_API_TOKEN": "your-bearer-token-here"
    }
  }
}
  1. Restart Claude Desktop

Available Tools

create-twitter-report

Creates a new report that analyzes Twitter/X data based on a search query.

  • Parameters:

    • query (string): The search query for Twitter data. Can include operators like AND, OR, hashtags, mentions, etc.
    • limit (number, optional): Maximum number of tweets to retrieve (up to 50,000).
    • startDate (number, optional): Start date as Unix timestamp (seconds since epoch).
    • endDate (number, optional): End date as Unix timestamp (seconds since epoch).
    • reportType (enum, optional): Type of report to create: "7-day" for last week or "historical" for all time. Default: "7-day".
  • Response:

    • Report ID and status information for the created report.
    • Instructions for checking report status and retrieving statistics.

create-twitter-count

Creates a new report that counts tweets matching a search query.

  • Parameters:

    • query (string): The search query for Twitter data. Can include operators like AND, OR, hashtags, mentions, etc.
    • reportType (enum, optional): Type of report to create: "7-day" for last week or "historical" for all time. Default: "7-day".
  • Response:

    • Raw JSON response containing:
      • status: The status of the report creation
      • resourceId: The ID of the created report
      • error/message: Any error or status messages

list-reports

Retrieves a list of all your TweetBinder reports with sorting capabilities.

  • Parameters:

    • order (string, optional): Sorting parameter in the format 'field|direction'. Example: 'createdAt|-1' for newest first, 'createdAt|1' for oldest first.
  • Response:

    • Raw JSON response containing an array of reports with details for each:
      • id: Report ID
      • name: Report name
      • status: Current status (Generated, Waiting, etc.)
      • createdAt: Creation timestamp
      • updatedAt: Last update timestamp
      • type: Report type
      • source: Report source
      • query: Original search query

get-report-content

Retrieves the actual tweets or users from a generated report with advanced filtering and pagination.

  • Parameters:

    • reportId (string): The ID of the report to retrieve content for.
    • contentType (enum): The type of content to retrieve: 'tweets' for tweet data or 'users' for user data.
    • page (number, optional): Page number for pagination. Starts at 1.
    • perPage (number, optional): Number of items per page.
    • sortBy (string, optional): Field to sort by (e.g., 'createdAt', 'counts.favorites').
    • sortDirection (enum, optional): Sort direction: '1' for ascending, '-1' for descending.
    • filter (string, optional): JSON string with filter criteria. Example: '{"counts.favorites":{"$gt":10}}'
  • Response:

    • Raw JSON response containing:
      • items: Array of tweet or user objects
      • pagination: Information about total items and pages

    When requesting tweets, detailed information is returned, including:

    • Tweet ID, text, creation date, language
    • Author details (name, username, followers, etc.)
    • Engagement metrics (retweets, likes, replies, etc.)
    • Media content (hashtags, images, links)
    • Sentiment analysis

    When requesting users, information includes:

    • User ID, name, username
    • Profile picture URL
    • Follower and following counts
    • Verification status
    • User value and other metrics

Note: Report must be in 'Generated' status to access content. Use the get-report-status tool to check if a report is ready.

Query Syntax Examples:

  • #apple: Tweets containing the hashtag #apple
  • apple lang:en: English tweets containing "apple"
  • (#apple OR #iphone) -#android: Tweets with #apple or #iphone but not #android
  • @apple: Tweets mentioning @apple
  • from:apple: Tweets posted by user "apple"

Note: After creating the count report, use the get-report-status tool to check when it's ready, then use get-report-stats to get the actual count.

get-report-status

Checks the current status of a TweetBinder report.

  • Parameters:

    • reportId (string): The ID of the report to check.
  • Response:

    • The current status of the report, which can be one of:
      • Generated: The report is complete and ready to use.
      • Waiting: The report is still being generated or waiting for tweets to be collected.
      • Outdated: The report is being updated with new data and will be available soon.
      • Deleted: The report has been deleted and is no longer available.
      • Archived: The report has been archived and may be deleted soon.
    • An explanation of what the status means and what actions are available.

Note: You must first create a report using the create-twitter-report or create-twitter-count tool to get a report ID.

get-report-stats

Retrieves comprehensive statistics and analytics for a TweetBinder report.

  • Parameters:

    • reportId (string): The ID of the report to retrieve statistics for.
  • Response:

    • A formatted summary of the report statistics including:
      • Overview: Total tweets, date range, contributors, engagement, media, and links.
      • Engagement Metrics: Potential reach, impressions, retweets, and likes.
      • Sentiment Analysis: Overall sentiment score and interpretation.
      • Top Contributors: Most active users and their tweet counts.
      • Popular Content: Most retweeted posts.
      • Frequently Used Hashtags: Common hashtags used in the conversation.

Note: The report must have "Generated" status before statistics can be retrieved. Use the get-report-status tool to check if a report is ready.

get-account-balances

Retrieves information about your account's credit balance, usage, and remaining quota.

  • Parameters:

    • None
  • Returns:

    • Raw JSON response containing:
      • total: Total credits available
      • used: Credits used
      • available: Credits currently available
      • discount: Any applicable discount
      • remainingReports: Number of reports remaining
      • quota: Quota information including:
        • startedAt: Quota period start date
        • finishedAt: Quota period end date
        • remaining: Remaining quota
        • used: Used quota
        • total: Total quota
    • Any error or status messages

Troubleshooting

Tools Not Appearing in Claude

  1. Check Claude Desktop logs:
tail -f ~/Library/Logs/Claude/mcp*.log
  1. Verify environment variables are set correctly.
  2. Ensure the absolute path to index.js is correct.

Authentication Issues

  • Double-check credentials.
  • Ensure the refresh token is still valid.
  • Verify that the required API scopes are enabled and that you have enough credits.

Viewing Logs

To check server logs:

For MacOS/Linux:

tail -n 20 -f ~/Library/Logs/Claude/mcp*.log

For Windows:

Get-Content -Path "$env:AppData\Claude\Logs\mcp*.log" -Wait -Tail 20

Security Considerations

  • Keep API credentials secure – never expose them in public repositories.
  • Use environment variables to manage sensitive data.

📄 License

This project is licensed under the Apache 2.0 License. See the LICENSE file for more details.

Leave a Comment

Frequently Asked Questions

What is MCP?

MCP (Model Context Protocol) is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications, providing a standardized way to connect AI models to different data sources and tools.

What are MCP Servers?

MCP Servers are lightweight programs that expose specific capabilities through the standardized Model Context Protocol. They act as bridges between LLMs like Claude and various data sources or services, allowing secure access to files, databases, APIs, and other resources.

How do MCP Servers work?

MCP Servers follow a client-server architecture where a host application (like Claude Desktop) connects to multiple servers. Each server provides specific functionality through standardized endpoints and protocols, enabling Claude to access data and perform actions through the standardized protocol.

Are MCP Servers secure?

Yes, MCP Servers are designed with security in mind. They run locally with explicit configuration and permissions, require user approval for actions, and include built-in security features to prevent unauthorized access and ensure data privacy.

Related MCP Servers

chrisdoc hevy mcp avatar

chrisdoc hevy mcp

mcp
sylphlab pdf reader mcp avatar

sylphlab pdf reader mcp

An MCP server built with Node.js/TypeScript that allows AI agents to securely read PDF files (local or URL) and extract text, metadata, or page counts. Uses pdf-parse.

pdf-parsetypescriptnodejs
aashari mcp server atlassian bitbucket avatar

aashari mcp server atlassian bitbucket

Node.js/TypeScript MCP server for Atlassian Bitbucket. Enables AI systems (LLMs) to interact with workspaces, repositories, and pull requests via tools (list, get, comment, search). Connects AI directly to version control workflows through the standard MCP interface.

atlassianrepositorymcp
aashari mcp server atlassian confluence avatar

aashari mcp server atlassian confluence

Node.js/TypeScript MCP server for Atlassian Confluence. Provides tools enabling AI systems (LLMs) to list/get spaces & pages (content formatted as Markdown) and search via CQL. Connects AI seamlessly to Confluence knowledge bases using the standard MCP interface.

atlassianmcpconfluence
prisma prisma avatar

prisma prisma

Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB

cockroachdbgomcp
Zzzccs123 mcp sentry avatar

Zzzccs123 mcp sentry

mcp sentry for typescript sdk

mcptypescript
zhuzhoulin dify mcp server avatar

zhuzhoulin dify mcp server

mcp
zhongmingyuan mcp my mac avatar

zhongmingyuan mcp my mac

mcp
zhixiaoqiang desktop image manager mcp avatar

zhixiaoqiang desktop image manager mcp

MCP 服务器,用于管理桌面图片、查看详情、压缩、移动等(完全让Trae实现)

mcp
zhixiaoqiang antd components mcp avatar

zhixiaoqiang antd components mcp

An MCP service for Ant Design components query | 一个减少 Ant Design 组件代码生成幻觉的 MCP 服务,包含系统提示词、组件文档、API 文档、代码示例和更新日志查询

designantdapi

Submit Your MCP Server

Share your MCP server with the community

Submit Now