mcp-audiense-insights
Categories
Language:
TypeScript
Stars:
1
Forks:
1
π Audiense Insights MCP Server
This server, based on the Model Context Protocol (MCP), allows Claude or any other MCP-compatible client to interact with your Audiense Insights account. It extracts marketing insights and audience analysis from Audiense reports, covering demographic, cultural, influencer, and content engagement analysis.
π Prerequisites
Before using this server, ensure you have:
- Node.js (v18 or higher)
- Claude Desktop App
- Audiense Insights Account with API credentials
- X/Twitter API Bearer Token (optional, for enriched influencer data)
Installing via Smithery
To install Audiense Insights Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli@latest install @AudienseCo/mcp-audiense-insights --client claude
βοΈ Configuring Claude Desktop
-
Open the configuration file for Claude Desktop:
- MacOS:
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
- Windows:
code %AppData%\Claude\claude_desktop_config.json
- MacOS:
-
Add or update the following configuration:
"mcpServers": { "audiense-insights": { "command": "/opt/homebrew/bin/node", "args": [ "/ABSOLUTE/PATH/TO/YOUR/build/index.js" ], "env": { "AUDIENSE_CLIENT_ID": "your_client_id_here", "AUDIENSE_CLIENT_SECRET": "your_client_secret_here", "TWITTER_BEARER_TOKEN": "your_token_here" } } } 3. Save the file and restart Claude Desktop.
π οΈ Available Tools
π get-reports
Description: Retrieves the list of Audiense insights reports owned by the authenticated user.
- Parameters: None
- Response:
- List of reports in JSON format.
π get-report-info
Description: Fetches detailed information about a specific intelligence report, including:
-
Status
-
Segmentation type
-
Audience size
-
Segments
-
Access links
-
Parameters:
report_id
(string): The ID of the intelligence report.
-
Response:
- Full report details in JSON format.
- If the report is still processing, returns a message indicating the pending status.
π get-audience-insights
Description: Retrieves aggregated insights for a given audience, including:
-
Demographics: Gender, age, country.
-
Behavioral traits: Active hours, platform usage.
-
Psychographics: Personality traits, interests.
-
Socioeconomic factors: Income, education status.
-
Parameters:
audience_insights_id
(string): The ID of the audience insights.insights
(array of strings, optional): List of specific insight names to filter.
-
Response:
- Insights formatted as a structured text list.
π get-baselines
Description: Retrieves available baseline audiences, optionally filtered by country.
-
Parameters:
country
(string, optional): ISO country code to filter by.
-
Response:
- List of baseline audiences in JSON format.
π get-categories
Description: Retrieves the list of available affinity categories that can be used in influencer comparisons.
- Parameters: None
- Response:
- List of categories in JSON format.
π compare-audience-influencers
Description: Compares influencers of a given audience with a baseline audience. The baseline is determined as follows:
- If a **single country** represents more than 50% of the audience, that country is used as the baseline.
- Otherwise, the global baseline is used.
- If a specific segment is selected, the full audience is used as the baseline.
Each influencer comparison includes:
-
Affinity (%) β How well the influencer aligns with the audience.
-
Baseline Affinity (%) β The influencerβs affinity within the baseline audience.
-
Uniqueness Score β How distinct the influencer is compared to the baseline.
-
Parameters:
audience_influencers_id
(string): ID of the audience influencers.baseline_audience_influencers_id
(string): ID of the baseline audience influencers.cursor
(number, optional): Pagination cursor.count
(number, optional): Number of items per page (default: 200).bio_keyword
(string, optional): Filter influencers by bio keyword.entity_type
(enum:person
|brand
, optional): Filter by entity type.followers_min
(number, optional): Minimum number of followers.followers_max
(number, optional): Maximum number of followers.categories
(array of strings, optional): Filter influencers by categories.countries
(array of strings, optional): Filter influencers by country ISO codes.
-
Response:
- List of influencers with affinity scores, baseline comparison, and uniqueness scores in JSON format.
π get-audience-content
Description: Retrieves audience content engagement details, including:
- Liked Content: Most popular posts, domains, emojis, hashtags, links, media, and a word cloud.
- Shared Content: Most shared content categorized similarly.
- Influential Content: Content from influential accounts.
Each category contains:
-
popularPost
: Most engaged posts. -
topDomains
: Most mentioned domains. -
topEmojis
: Most used emojis. -
topHashtags
: Most used hashtags.- `topLinks`: Most shared links.
-
topMedia
: Shared media. -
wordcloud
: Most frequently used words. -
Parameters:
audience_content_id
(string): The ID of the audience content.
-
Response:
- Content engagement data in JSON format.
π report-summary
Description: Generates a comprehensive summary of an Audiense report, including:
-
Report metadata (title, segmentation type)
-
Full audience size
-
Detailed segment information
-
Top insights for each segment (bio keywords, demographics, interests)
-
Top influencers for each segment with comparison metrics
-
Parameters:
report_id
(string): The ID of the intelligence report to summarize.
-
Response:
- Complete report summary in JSON format with structured data for each segment
- For pending reports: Status message indicating the report is still processing
- For reports without segments: Message indicating there are no segments to analyze
π‘ Predefined Prompts
This server includes a preconfigured prompts
audiense-demo
: Helps analyze Audiense reports interactively.segment-matching
: A prompt to match and compare audience segments across Audiense reports, identifying similarities, unique traits, and key insights based on demographics, interests, influencers, and engagement patterns.
Usage:
- Accepts a reportName argument to find the most relevant report.
- If an ID is provided, it searches by report ID instead.
Use case: Structured guidance for audience analysis.
π οΈ Troubleshooting
Tools Not Appearing in Claude
- Check Claude Desktop logs:
tail -f ~/Library/Logs/Claude/mcp*.log
- Verify environment variables are set correctly.
- Ensure the absolute path to index.js is correct.
Authentication Issues
- Double-check OAuth credentials.
- Ensure the refresh token is still valid.
- Verify that the required API scopes are enabled.
π 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.
Publisher info
Audiense
Audiense is a social marketing platform with advanced insight, segmentation, listening and campaign functionality.