An open API service indexing awesome lists of open source software.

https://github.com/AudienseCo/mcp-audiense-insights

Audiense Insights MCP Server is a server based on the Model Context Protocol (MCP) that allows Claude and other MCP-compatible clients to interact with your Audiense Insights account
https://github.com/AudienseCo/mcp-audiense-insights

mcp modelcontextprotocol

Last synced: about 2 months ago
JSON representation

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

Awesome Lists containing this project

README

        

# πŸ† Audiense Insights MCP Server
[![smithery badge](https://smithery.ai/badge/@AudienseCo/mcp-audiense-insights)](https://smithery.ai/server/@AudienseCo/mcp-audiense-insights)

This server, based on the [Model Context Protocol (MCP)](https://github.com/modelcontextprotocol), allows **Claude** or any other MCP-compatible client to interact with your [Audiense Insights](https://www.audiense.com/) 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](https://smithery.ai/server/@AudienseCo/mcp-audiense-insights):

```bash
npx -y @smithery/cli@latest install @AudienseCo/mcp-audiense-insights --client claude
```

## βš™οΈ Configuring Claude Desktop

1. Open the configuration file for Claude Desktop:

- **MacOS:**
```bash
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
```
- **Windows:**
```bash
code %AppData%\Claude\claude_desktop_config.json
```

2. Add or update the following configuration:

```json
"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
1. Check Claude Desktop logs:

```
tail -f ~/Library/Logs/Claude/mcp*.log
```
2. Verify environment variables are set correctly.
3. 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.