# The Cat MCP

> The Cat MCP Server gives your AI client direct access to a vast database of cat images and breed information. Use it to search for specific breeds, filter millions of photos by attributes like size or coat type, and manage personal collections of favorite images and votes, all through natural conversation with your agent.

## Overview
- **Category:** image-video
- **Price:** Free
- **Tags:** cats, feline, animals, pets, images

## Description

The Cat MCP Server hooks your AI client directly into a massive database of cat pictures and breed profiles. You don't have to sift through millions of photos yourself; your agent handles the heavy lifting. It’s built for people who need specific cat data—whether you’re trying to figure out if an unknown kitty is a Maine Coon or just some fluffy stray, or you just wanna build up a killer collection of pics. This thing lets your agent act on image metadata and breed info right inside your chat.

When you use the **`search_images`** tool, you can narrow down cat photos using multiple filters. You don't just type 'cute'; you specify things like size (is it small or massive?), coat type, or even a specific breed name to find exactly what you’re looking for.

If you need to know more about the types of cats out there, you can use **`list_breeds`** to pull up a full, categorized list of every known cat breed in the database. If you already have an idea of what you want, **`search_breeds`** lets you quickly filter that huge roster down by matching a name or keyword.

Beyond just searching, your agent can get deep into specific details. You can run **`get_image`** using a cat's unique ID to pull up all the detailed information associated with that single photo—it’s not just a picture; it's a data sheet. If you need more context on what a breed actually is, you can use **`get_image`** alongside getting details about the specific image.

Managing your personal taste is simple. When you spot a cat you dig, you run **`create_favourite`**, and it saves that specific image ID to your private list of favorites. Later, if you want to see everything you've bookmarked, you just call **`get_favourites`** to retrieve the full list.

Want to show some support? You can record your vote using **`create_vote`**, letting your account track whether you liked or disliked an image. To check out your voting history—what cats you've supported or downvoted—you run **`get_votes`**. It pulls up every single vote your account has cast.

If you find a cat picture that isn't in the database yet, no sweat. You can feed it to the system using **`upload_image`**. This tool processes the new photo you send via base64 encoding and generates all the necessary metadata for storage. It gets your own content into the mix.

Your agent coordinates these actions automatically. For instance, you tell it: 'Find me small Siamese cats I haven't seen before.' It uses **`search_images`** with size filters and breed criteria. Then, when it finds a winner, you can hit **`create_favourite`**. If the cat is particularly photogenic, you might use **`get_image`** to read about its pedigree before calling **`create_vote`**. The whole thing flows naturally through your chat interface.

## Tools

### create_favourite
Saves a specific image ID to your personal list of saved favorites.

### create_vote
Registers an up or down vote for an image, tracking your account's interaction history.

### get_favourites
Retrieves a list of all the images you have previously marked as favorites.

### get_image
Gets detailed information about a single cat image using its unique ID.

### get_votes
Pulls records showing all the votes you have cast on images through your account.

### list_breeds
Returns a full, categorized list of every known cat breed available in the database.

### search_breeds
Narrows down the available breeds by matching a specific name or keyword.

### search_images
Finds cat images using multiple filters, including size, type, and breed criteria.

### upload_image
Processes a new image you provide by sending it to the API for storage and metadata generation.

## Prompt Examples

**Prompt:** 
```
Search for 3 random cat images in GIF format.
```

**Response:** 
```
I've found 3 cat GIFs for you! [Image 1: ID abc], [Image 2: ID def], [Image 3: ID ghi]. Would you like to see the details for any of these?
```

**Prompt:** 
```
Find information about the 'Maine Coon' breed.
```

**Response:** 
```
The Maine Coon is one of the largest domesticated breeds of cat. They are known for their intelligence and playful personalities. Their breed ID is 'mcoo'.
```

**Prompt:** 
```
Show me my recently favorited cat images.
```

**Response:** 
```
Retrieving your favorites... You have 5 favorited images. The most recent one is a beautiful Siamese cat (ID: xyz123).
```

## Capabilities

### Search Images by Attributes
Find cat photos using filters for size, type, and specific breed names with `search_images`.

### Identify Cat Breeds
List all known breeds or search for a specific one to get detailed characteristics via `list_breeds` or `search_breeds`.

### Manage Image Favorites and Votes
Save images you like using `create_favourite` and record your support with `create_vote`.

### Retrieve Personal History
Check saved favorites or view all votes cast by retrieving data with `get_favourites` or `get_votes`.

### Upload New Media
Send your own cat image to the API using base64 encoding via `upload_image` for processing.

## Use Cases

### Curating a media gallery for a client site.
The developer needs images of only Siamese cats that are also classified as small. Instead of writing complex API calls, they prompt their agent: 'Find me small Siamese cat photos.' The agent executes `search_images`, applying both the breed and size filters, and returns a clean list for immediate use.

### Building a community voting feature.
A site wants users to vote on the best-looking cat of the day. The agent handles this by running `create_vote` when a user clicks 'upvote' or 'downvote,' logging the interaction without needing complex backend logic.

### Researching pet genetics for educational content.
A writer needs to confirm the exact details of the Maine Coon. They use the agent to execute `search_breeds('Maine Coon')` and immediately get back detailed characteristics, which they can then quote directly into their article.

### Adding user-submitted content.
A community manager gets a high-resolution cat picture from a user. They don't have to manually resize it; they just pass the base64 data to the agent, which runs `upload_image` and handles the storage process.

## Benefits

- Filtering is precise. Instead of getting a generic dump of photos, you tell the agent to use `search_images` with filters for size or type. You get targeted results, not noise.
- You build stateful interactions. The ability to run `create_favourite` and `create_vote` means your AI client can manage user behavior directly against the API's backend.
- Breed research is simple. Use `list_breeds` once to see all options, then use `search_breeds` when you need to pinpoint one specific type of cat for a project.
- Media input is supported. Don't just read data—upload it. The `upload_image` tool lets your agent ingest and process new media directly into the system.
- Tracking personal history works right out of the box. You can check what you saved with `get_favourites`, or review your voting activity using `get_votes`.

## How It Works

The bottom line is that you talk to your AI, it talks to The Cat API via this server, and you get clean, actionable JSON back.

1. Subscribe to The Cat MCP Server and provide your unique API key.
2. Your AI client sends a request (e.g., 'Show me Maine Coon images').
3. The server executes the appropriate tool (`search_images`) and returns structured data about cat breeds or photos directly to your agent.

## Frequently Asked Questions

**How do I find out all available cat breeds using The Cat MCP Server?**
You run `list_breeds`. This tool immediately pulls a complete, structured list of every known breed into your agent's context, letting you see what's possible before you start searching.

**What is the difference between using `search_breeds` and `search_images`?**
`list_breeds` gives you all names. Use `search_breeds` when you know a name but need to verify it. Use `search_images` when you want actual photos, allowing you to filter by size and type as well.

**Can I upload my own cat photo using the `upload_image` tool?**
Yes, that's what it does. You pass your base64 encoded image data to `upload_image`, and the API stores it while generating metadata for you.

**If I use `get_favourites`, do I get a simple list of links?**
No, it retrieves structured data. You'll get details about your favorite images, including IDs and associated information, making them ready for further processing by your agent.

**Do I need to run `get_votes` before using the voting tools?**
No, they are separate. You use `create_vote` when you want to cast a vote. You only run `get_votes` later if you actually need to review your own historical activity.

**When using `search_images`, how do I apply specific filters like size or breed?**
You pass parameters directly into the search request. For example, you can narrow results by specifying a minimum image size (e.g., 'large') or filtering by a particular cat breed name.

**What do I need to know before running `get_image`?**
The tool requires the unique ID of the specific cat picture you want details for. You must have this image ID—it cannot guess it or pull it from a general search result.

**If I use `get_favourites`, how do I get full metadata for those saved images?**
The `get_favourites` tool provides basic records. To retrieve the complete, detailed data set—like high-resolution links or specific attributes—you must feed one of the returned IDs into the `get_image` tool.

**How do I find high-quality cat images of a specific breed?**
You can use the `search_images` tool and specify the `size` as 'full' and `has_breeds` as true. To find a specific breed's ID first, use the `search_breeds` tool.

**Can I see all the images I have previously favorited?**
Yes! Use the `get_favourites` tool. It will retrieve a list of all cat images you have saved to your account.

**How do I cast a vote on a cat image?**
Use the `create_vote` tool. You'll need the `image_id` and a `value` (1 for an upvote, 0 for a downvote).