mcp-server-fakestore
v1.0.0
Published
MCP server for Fake Store API - A beginner-friendly e-commerce data integration
Maintainers
Readme
Fake Store API MCP Server
A Model Context Protocol (MCP) server that provides seamless access to the Fake Store API for AI assistants. Perfect for e-commerce demos, testing, and learning MCP development.
Features
- 🛍️ Complete E-commerce Data Access: Products, carts, and users
- 🔧 18 MCP Tools: Full CRUD operations for all resources
- 📦 Easy Integration: Works with Claude Desktop, Plugged.in, and other MCP clients
- 🚀 Zero Configuration: Works out of the box with Fake Store API
- 📝 TypeScript: Fully typed for better development experience
- ✅ Input Validation: Comprehensive parameter validation
Installation
NPX (Recommended)
npx -y mcp-server-fakestoreFrom Source
git clone https://github.com/yourusername/mcp-server-fakestore.git
cd mcp-server-fakestore
npm install
npm run buildConfiguration
Claude Desktop
Add this to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"fakestore": {
"command": "npx",
"args": ["-y", "mcp-server-fakestore"]
}
}
}Plugged.in
Add this server configuration in Plugged.in MCP settings:
{
"name": "fakestore",
"command": "npx",
"args": ["-y", "mcp-server-fakestore"]
}Available Tools
Products (7 tools)
fakestore_get_products- Get all products with optional limit and sortingfakestore_get_product- Get a single product by IDfakestore_get_categories- Get all product categoriesfakestore_get_products_by_category- Get products in a specific categoryfakestore_add_product- Add a new product (simulation)fakestore_update_product- Update an existing product (simulation)fakestore_delete_product- Delete a product (simulation)
Carts (6 tools)
fakestore_get_carts- Get all carts with optional limit and sortingfakestore_get_cart- Get a single cart by IDfakestore_get_user_carts- Get all carts for a specific userfakestore_add_cart- Add a new cart (simulation)fakestore_update_cart- Update an existing cart (simulation)fakestore_delete_cart- Delete a cart (simulation)
Users (5 tools)
fakestore_get_users- Get all users with optional limit and sortingfakestore_get_user- Get a single user by IDfakestore_add_user- Add a new user (simulation)fakestore_update_user- Update an existing user (simulation)fakestore_delete_user- Delete a user (simulation)
Usage Examples
With Claude Desktop
Get all products:
Show me all products from the fake storeSearch by category:
Show me electronics from the fake storeGet user's cart:
What's in user ID 1's shopping cart?Product analysis:
Find the 5 most expensive products in the storeProgrammatic Usage
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
// The server runs on stdio transport
// Connect your MCP client to interact with the toolsData Structure
Product
{
id: number;
title: string;
price: number;
description: string;
category: string;
image: string;
rating: {
rate: number;
count: number;
};
}Cart
{
id: number;
userId: number;
date: string;
products: Array<{
productId: number;
quantity: number;
}>;
}User
{
id: number;
email: string;
username: string;
password: string;
name: {
firstname: string;
lastname: string;
};
address: {
city: string;
street: string;
number: number;
zipcode: string;
geolocation: {
lat: string;
long: string;
};
};
phone: string;
}Development
# Install dependencies
npm install
# Build the project
npm run build
# Watch mode for development
npm run watch
# Run tests
npm testImportant Notes
- Simulation: The Fake Store API is read-only. POST, PUT, and DELETE operations return simulated responses but don't persist data.
- Rate Limits: The public API has no strict rate limits, but please be respectful.
- Data: All data is fake and for testing purposes only.
Troubleshooting
Server not appearing in Claude Desktop
- Ensure the configuration file is valid JSON
- Restart Claude Desktop completely
- Check the Claude Desktop logs for errors
Tools not working
- Verify you have an active internet connection (API requires connectivity)
- Check if fakestoreapi.com is accessible
- Review error messages in Claude Desktop logs
Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
MIT License - see LICENSE file for details.
Resources
Support
- 🐛 Report Issues
- 💬 Discussions
- 📧 Email: [email protected]
Built with ❤️ for the MCP community
