# DummyJSON MCP

> DummyJSON MCP gives you instant access to a massive set of simulated data for testing any API flow. Need to mock up an e-commerce checkout, simulate user logins, or test content management? This single connector lets your AI agent interact with structured dummy records—everything from products and shopping carts to posts, comments, and recipes—so you can build and prove your application logic without ever touching a real backend.

## Overview
- **Category:** developer-tools
- **Price:** Free
- **Tags:** dummy-data, api-testing, prototyping, json-placeholder, mock-api

## Description

Building an app shouldn't mean setting up 10 different mock databases just to test the frontend. This MCP lets you simulate real-world data interactions directly through your AI client. You connect it via Vinkius, giving your agent immediate access to everything from product catalogs and user profiles to full content feeds. Want to build a checkout flow? Your agent can list products, add them to a cart, and then simulate the final purchase process. Need to test a social media feed? You can generate posts, comments, and even users, all within the same session. This means you spend zero time wrestling with backend setup and 100% of your time testing how your UI handles data—whether it's an error state, a successful update, or just pulling random content for quick prototyping.

## Tools

### add_cart
Creates a brand new shopping cart record for a user.

### add_comment
Adds a comment to an existing post.

### add_post
Creates entirely new content posts on the platform.

### add_product
Simulates adding a completely new product to the catalog.

### add_recipe
Adds a new recipe record, including ingredients and instructions.

### add_todo
Creates a fresh task or todo item in the user's list.

### add_user
Registers a new dummy user account into the system.

### delete_cart
Removes an entire shopping cart record from the system.

### delete_comment
Deletes a comment that was previously posted on a piece of content.

### delete_post
Permanently removes a published post from the platform.

### delete_product
Simulates removing a product entry from the catalog.

### delete_recipe
Removes an entire recipe from the database.

### delete_todo
Marks or deletes a specific todo item that was previously created.

### delete_user
Deactivates or removes a user account from the system.

### filter_users
Narrows down the list of users by searching against provided key/value pairs.

### get_cart
Retrieves all details for a single shopping cart using its unique ID.

### get_comment
Retrieves the full content of one specific comment by its ID number.

### get_comments_by_post
Pulls all comments that belong to a single, specified post.

### auth_get_me
Checks and returns the profile information of the currently logged-in user.

### get_post_comments
Gets a list of all comments associated with a given post ID.

### get_post
Retrieves the full details of one specific article or post by its ID.

### get_posts_by_user
Finds and lists all posts that were written by a particular user ID.

### get_product
Retrieves the full details for one specific product using its unique identifier.

### get_products_by_category
Lists all products that fall under a specified category, like 'Electronics' or 'Apparel'.

### get_quote
Retrieves the text and author for one random quote by its ID.

### get_random_quote
Pulls a completely random quote from the entire dataset.

### get_random_quotes
Retrieves up to ten unique, randomly selected quotes for filler content.

### get_random_todo
Presents a random task from the user's todo list.

### get_recipe
Gets all details for one recipe by its unique ID.

### get_recipes_by_meal_type
Finds and lists recipes suitable for a specific meal, like 'Dinner' or 'Breakfast'.

### get_recipes_by_tag
Retrieves all recipes that share a common tag, such as 'vegan' or 'quick-prep'.

### get_todo
Gets the details for one specific todo item by its ID.

### get_user_carts
Lists all shopping carts that are associated with a specific user account.

### get_user_posts
Retrieves all posts written by a given user ID.

### get_user_todos
Gets a list of todos that belong to a specific user account.

### get_user
Retrieves a single user's complete profile using their unique ID.

### list_carts
Retrieves a list of every shopping cart available in the system.

### list_categories
Gets a list of all defined product categories by name.

### list_category_list
Retrieves just the names of every available product category.

### list_comments
Gets a list of every comment ever posted on the platform.

### list_post_tags
Retrieves a complete list of all post tags used across content.

### list_posts
Gets a comprehensive list of every single post published on the platform.

### list_products
Retrieves a full listing of all products currently in the catalog.

### list_quotes
Gets every quote record that exists in the database.

### list_recipe_tags
Retrieves a complete list of all tags used to categorize recipes.

### list_recipes
Gets every recipe record available in the system.

### list_todos
Retrieves a complete list of all todo items stored by users.

### list_users
Get all users

### auth_login
Simulates a user logging in and receiving dummy access tokens (JWT).

### auth_refresh_token
Extends an active session by generating new JWT tokens using a refresh token.

### search_posts
Searches the entire post database using keywords or filters.

### search_products
Searches the product catalog for specific items by name or description.

### search_recipes
Searches recipes using keywords, like 'chicken' or 'spicy'.

### search_users
Finds users by searching their name or email address.

### update_cart
Modifies items within a shopping cart, like changing quantity or removing an item.

### update_comment
Edits the text of a comment that was previously posted.

### update_post
Changes the content and details of an existing published post.

### update_product
Updates product information, such as changing pricing or descriptions.

### update_recipe
Edits the ingredients or instructions for an existing recipe.

### update_todo
Changes the status, description, or assignee of a todo item.

### update_user
Modifies details on a user profile, like changing an email or name.

## Prompt Examples

**Prompt:** 
```
Show me all products in the 'smartphones' category.
```

**Response:** 
```
I've retrieved the products for you. In the 'smartphones' category, I found items like the iPhone 9, iPhone X, and Samsung Universe 9. Would you like the details for any of these?
```

**Prompt:** 
```
Search for 'laptop' and limit the results to 3.
```

**Response:** 
```
Searching... I found 3 laptops for you: MacBook Pro, Samsung Galaxy Book, and Microsoft Surface Laptop 4. Which one should we look at first?
```

**Prompt:** 
```
Simulate a login for user 'emilys' with password 'emilyspass'.
```

**Response:** 
```
Login successful! I've authenticated as 'emilys'. I now have the JWT access token and refresh token for this session. What would you like to do next?
```

## Capabilities

### Manage User Accounts
Authenticate users, retrieve profiles, and manage user records like adding or deleting accounts.

### Handle Product Inventory
List, search, update, and delete product details, simulating an entire e-commerce lifecycle.

### Simulate Content Feeds
Create, read, and modify posts, comments, recipes, and todo items to test content platform logic.

### Process Shopping Carts
Manage the entire shopping cart workflow by listing carts, adding items, updating quantities, or deleting them.

### Search and Filter Records
Narrow down large sets of data—like users, posts, or products—using specific criteria to find exactly what you need.

## Use Cases

### Building a Content Management System (CMS)
A developer needs to build an admin panel where content creators can update articles. They use the agent to first call `get_post` to view the current draft, then call `update_post` with new text, and finally run `list_post_tags` to ensure all proper tags are available for selection.

### Testing User Registration Flow
A QA engineer needs to verify that a user's profile picture loads correctly after signup. They use the agent to call `add_user` to create a test account, then immediately call `get_user` with the new ID to confirm all profile fields are populated.

### Simulating an E-commerce Checkout
A frontend developer needs to mock the entire purchasing journey. The agent first calls `list_products`, then uses `add_cart` and `update_product` (to check pricing), simulating adding multiple items before calling `get_user_carts` to confirm the cart is linked.

### Creating a To-Do List App
A researcher wants to test how an agent handles task management. They use the agent to call `add_todo`, then simulate marking it complete by calling `update_todo`, and finally retrieving the whole set using `get_user_todos`.

## Benefits

- You can test e-commerce logic end-to-end. Use the `list_products` tool to pull an inventory, then use `add_cart` and `update_cart` to simulate adding items before verifying checkout status.
- Build reliable social features without worrying about users. Test commenting by calling `get_post_comments` and simulating new input with `add_comment`, ensuring your UI handles multiple authors correctly.
- Rapidly mock user experiences. Need a profile page? Use `auth_login` to simulate authentication, then use `get_user` to pull the necessary details for display, all in one flow.
- Handle complex content types easily. Whether you are writing about food or tech, you can manage recipes using tools like `list_recipes` and create new entries with `add_recipe`, ensuring your UI adapts to different data structures.
- Test database writes safely. You need to verify that a user can delete old content? Use `delete_post` and then check the status via `get_posts_by_user`. It's safe, predictable dummy data every time.

## How It Works

The bottom line is, your AI client treats this MCP like a live API endpoint for testing purposes.

1. Subscribe to the MCP via Vinkius and connect your preferred AI client.
2. (Optional) Provide any necessary credentials if a specific implementation requires a token for simulation.
3. Tell your agent exactly what data you need—like 'Show me three products in the electronics category' or 'Add a new post about remote work.' The MCP executes that request against its dummy database.

## Frequently Asked Questions

**How do I test a full user account lifecycle using DummyJSON MCP?**
Start by calling `auth_login` to get tokens. Then use `add_user` to create a new profile, and finally `get_user` with the ID to confirm all data fields were set up correctly.

**Can I mock product searches in DummyJSON MCP?**
Yes. Use the `search_products` tool. It lets your agent filter products by keywords, simulating how a live e-commerce site finds items for a user.

**What if I want to update an item in my cart? Do I use add_cart?**
No. Use `update_cart`. The `add_cart` tool is only for creating a brand new, empty shopping cart record.

**Does DummyJSON MCP help me write posts and comments at the same time?**
Yes. You can chain these tools: use `add_post` first to create content, and then immediately call `add_comment` using the ID from that new post.

**How do I get a list of all categories for products?**
Use `list_categories`. This tool returns every category object defined in the dummy data, giving you a full list of available labels to test against.

**What happens if I need to extend a session using `auth_refresh_token`?**
Yes, you can refresh your session token. This allows your agent to continue making authenticated calls without needing to re-run the initial login process. It's essential for simulating long user interactions where tokens expire.

**How do I test a complex transaction by combining tools like `add_product` and `update_user`?**
You chain multiple tool calls sequentially in your prompt. The AI agent executes them one after the other, simulating a full data flow. This lets you verify that different mocked records interact correctly within your application logic.

**Can `filter_users` narrow down results based on multiple key-value criteria?**
Yes, it accepts filters by providing multiple key and value pairs in a single request. This makes it easy to test highly specific search scenarios that require filtering across several user attributes simultaneously.

**How can I retrieve a list of all products with a specific limit?**
You can use the `list_products` tool and provide the `limit` parameter to control the number of results returned by the API.

**Is it possible to simulate adding a product to the database?**
Yes! Use the `add_product` tool. Note that this is a simulation; the API will return the new product object with an ID, but it won't be permanently stored.

**How do I check the carts belonging to a specific user?**
Simply use the `get_user_carts` tool and provide the `userId`. The agent will return all shopping carts associated with that specific user ID.