# NinjaCat MCP

> NinjaCat connects your AI agent directly to your agency account data. Use this server to pull marketing reports, list all advertisers, and check campaign status without logging into the NinjaCat portal. Your agent runs tools like `list_advertisers` or `get_report_download_url` instantly.

## Overview
- **Category:** marketing-automation
- **Price:** Free
- **Tags:** marketing-reporting, call-tracking, data-aggregation, agency-analytics, campaign-monitoring, advertiser-management

## Description

You connect your AI agent straight into your NinjaCat agency account data with this server. Forget logging into the portal just to pull metrics or check statuses; your agent runs these tools instantly through natural conversation.

***

**Agency Overview and User Info:** You can get a high-level look at everything by pulling the general metadata for the entire NinjaCat agency account using `get_agency_info`. If you need to know who's running the show, your agent calls `get_me`, which immediately pulls the current user profile details attached to the server. 

**Client and Advertiser Management:** Need a roster of everyone you manage? Run `list_advertisers` to get a list of every advertiser currently tied to the agency account. From that list, if you know an ID, your agent uses `get_advertiser` to retrieve detailed information for just one specific client. 

**Data Connections and Sources:** You can map out your entire data setup with simple calls. Use `list_data_sources` to see every active marketing platform data source connected to NinjaCat. Then, run `list_data_accounts` to list all the individual accounts linked—you'll see if you've got Google Ads or Meta properly plugged in.

**Campaign Status:** To track where your ad spend is going right now, your agent uses `list_agency_campaigns`. This tool lists every active marketing campaign across the whole agency scope, letting you know exactly what's running.

**Reporting and Metrics:** The server handles all things reporting. First, run `list_reports` to pull a complete listing of every report type available in the NinjaCat system. Want to see if a specific report ran last week? Use `get_report_history`; this fetches the full execution history for any given report, giving you timestamps and success statuses. To get the data right now, your agent calls `get_report_download_url`, generating a direct link that lets you download the latest generated file immediately.

## Tools

### get_advertiser
Retrieves detailed information for one specific advertiser using their unique ID.

### get_agency_info
Pulls high-level metadata and settings for the entire NinjaCat agency account.

### get_me
Retrieves current user profile details connected to the agency server.

### get_report_download_url
Generates a direct download URL for the latest generated report file.

### get_report_history
Fetches the full execution history, including timestamps and success statuses, for any specific agency report.

### list_data_accounts
Lists every connected data account, including specific accounts for platforms like Google Ads.

### list_advertisers
Returns a list of all advertisers currently managed by the agency account.

### list_agency_campaigns
Provides a listing of all active marketing campaigns across the entire agency scope.

### list_data_sources
Shows a list of all active marketing data sources connected to the agency.

### list_reports
Returns a listing of every available report type within the NinjaCat agency system.

## Prompt Examples

**Prompt:** 
```
List all active advertisers in my NinjaCat agency.
```

**Response:** 
```
Retrieving advertisers... I found 8 active clients, including 'Acme Corp', 'Global Retail Ltd', and 'Innovate Tech'. Would you like the detailed contact info for Acme Corp?
```

**Prompt:** 
```
Show me the execution history for the 'Monthly Performance' report.
```

**Response:** 
```
Fetching report history... The 'Monthly Performance' report (ID: rep_123) was last run successfully today at 8:00 AM. It has a history of 12 successful runs over the last year. Shall I get the download URL for the latest run?
```

**Prompt:** 
```
Which marketing data sources are currently connected?
```

**Response:** 
```
Retrieving data sources... Your account is currently connected to 5 platforms: Google Ads, Meta Ads, LinkedIn Ads, GA4, and TikTok Ads. You have a total of 24 data accounts active across these sources. Would you like a list of the specific Google Ads accounts?
```

## Capabilities

### Identify all clients
The tool lists every advertiser managed by the agency, providing a complete roster of accounts.

### Map connected data sources
It shows which marketing platforms (like Google or Meta) are currently linked to the NinjaCat account and how many individual data accounts exist.

### Retrieve performance reports
You can list all available agency reports, check their execution history, and get a direct link to download the most recent file.

### View campaign status
The tool lists active campaigns across the entire agency, letting you track where ad spend is currently focused.

### Get specific account details
By providing a unique ID, you can pull full metadata for any single advertiser or report instance.

## Use Cases

### Audit required: Check data completeness.
An analyst needs to know if the account is connected to all necessary platforms. They ask their agent, "What sources are active?" The agent calls `list_data_sources`, which immediately confirms the connection status and lists available platforms (e.g., Meta Ads, GA4). This prevents starting an audit with missing data.

### Client onboarding: Listing all managed accounts.
An account manager needs to verify every client in the agency for a compliance check. They use `list_advertisers`. The tool returns a clean list of every advertiser, allowing them to confirm coverage without manually reviewing dozens of dashboards.

### Performance review: Getting historical data.
A manager needs proof of performance for Q1. They ask the agent about the 'Monthly Performance' report. The agent first uses `list_reports` to confirm its name, then calls `get_report_history`, getting a log showing every successful run date and time.

### Quick check: Who is this user?
A team member needs to verify their own permissions or role within the agency. They simply ask, "Who am I?" The agent runs `get_me`, providing immediate access to their current user details and profile information.

## Benefits

- **Stop manual logging in.** Instead of navigating the NinjaCat portal to check report status, use `list_reports` or `get_report_history`. Your agent pulls that info instantly. 

**See all accounts at once.** You can run `list_advertisers` and get a full roster of clients immediately—no need to jump through client-specific dashboards.
- **Know your data connections.** Use `list_data_sources` and `list_data_accounts` together. This confirms every marketing platform (Google Ads, Facebook Ads) is linked up correctly before you start an audit.
- **Get the file instantly.** Need last month's performance report? Don't wait for a download link—call `get_report_download_url` and get the direct link right in your chat window.
- **Audit campaign spread.** Running `list_agency_campaigns` lets you view all active campaigns across the whole agency, so you never miss which client is running what ad set.
- **Deep dive on any entity.** If you have an ID and need specific details—like a client's full profile or report metadata—use `get_advertiser` for that granular lookup.

## How It Works

The bottom line is: you manage your entire marketing agency data directly from your chat window using API tools.

1. Subscribe to the server and enter your NinjaCat Agency Identifier Key, Client ID, and Client Secret.
2. Your AI agent uses a natural language prompt (e.g., "List all advertisers").
3. The agent calls the specific tool endpoint, receiving structured data like advertiser names or report URLs.

## Frequently Asked Questions

**How do I list all active advertisers using NinjaCat MCP Server?**
You run the `list_advertisers` tool. This returns a complete roster of every advertiser managed by your agency, giving you their names and basic IDs to work with.

**Can I check report history with get_report_history?**
Yes. You pass the specific Report ID into `get_report_history`. The tool then returns a log detailing when the report ran previously, if it succeeded, and what the run date was.

**What do I use list_data_accounts for?**
Use `list_data_accounts` to see every specific data account connected across your platforms (like Google Ads). This helps you scope exactly where your performance numbers are coming from.

**Is get_advertiser the right tool for a client profile?**
Yes. If you have an advertiser's unique ID, calling `get_advertiser` provides a detailed, single-source view of that specific company's managed data.

**How do I get the download URL for a report?**
You use the `get_report_download_url` tool. You must first know which report you need, and this function gives you the final direct link to the generated file.

**What is the purpose of `list_data_sources`?**
It lists all active marketing platforms connected to your agency. This lets you verify every data stream, like Google Ads or Facebook Ads, that's feeding into NinjaCat.

**How do I check my account setup using `get_agency_info`?**
This tool retrieves high-level settings for your entire agency. It confirms the overall structure and current permissions tied to your credentials.

**If I want a full overview of ongoing efforts, what does `list_agency_campaigns` do?**
It lists every active marketing campaign managed by your agency. You can monitor performance across all campaigns without needing a specific report ID.

**Where do I find my NinjaCat API credentials?**
Log in to your NinjaCat agency settings and navigate to the 'Apps' tab. There you will find your Agency Identifier Key, Client ID, and Client Secret.

**Can I download a report directly through the agent?**
Yes! The `get_report_download_url` tool provides the direct link to the latest generated file for a specific report, allowing you to access it without opening the portal.

**How do I see which data sources are connected?**
Use the `list_data_sources` tool to see all platforms (e.g., Google Ads, Facebook) integrated with your account, and `list_data_accounts` for specific account connections.