Medusa MCP Server
[](https://mseep.ai/app/sgfgov-medusa-mcp)
# `medusa-mcp`
## Overview
`medusa-mcp` is a **Model Context Protocol (MCP) server** designed for integration with the Medusa JavaScript SDK. It provides a scalable backend layer for managing and interacting with Medusaβs data models, enabling automation, orchestration, and intelligent service extensions.
---
## π§© What is an MCP Server?
An **MCP server** is a modular, extensible backend that:
- Enables **real-time service orchestration**
- Supports **standardized, high-throughput communication**
- Acts as a **bridge between AI/automation tools and real-world systems**
These servers are used in areas like AI, IoT, and enterprise software to connect various services and automate tasks using standardized protocols like JSON-RPC.
### π Key Features
- **Modular Architecture** β Composable services for flexibility
- **High Efficiency** β Optimized for speed and scale
- **Extensible Design** β Add new capabilities easily
- **Cross-Environment Deployment** β Cloud, on-prem, or hybrid
- **AI-Ready Interfaces** β Integrate LLMs and tools seamlessly
### π§ Role in AI Systems
MCP servers allow AI agents to:
- Access real-time data from APIs, files, or databases
- Automate business processes (e.g., order fulfillment, pricing updates)
- Interact with external services in a secure and controlled way
---
---
## π Medusa JS + MCP
Using `medusa-mcp`, Medusa JS can:
- Automate workflows (e.g., inventory or pricing adjustments)
- Connect with external tools (email, analytics, etc.)
- Use AI agents to analyze trends and trigger actions
- Enable scalable, modular architecture for commerce platforms
---
## β¨ Features
- β
**Model Context Protocol (MCP)** support
- π **Scalable** infrastructure
- π§± **Extensible** plugin architecture
- π **Integrated** with Medusa JS SDK
---
## π οΈ Installation
Clone the repository and install dependencies:
```bash
npm install
```
Build the project:
```bash
npm run build
```
---
## βΆοΈ Usage
Start the server:
```bash
npm start
```
Test using the MCP Inspector:
```bash
npx @modelcontextprotocol/inspector ./dist/index.js
```
> **Note:** Restart the Inspector and your browser after each rebuild.
---
## π οΈ Generating a Claude Skill from this MCP server
You can convert this MCP server into a Claude Skill using the `mcp-to-skill.py` script from the [`mcp-to-skill-converter` project](https://github.com/GBSOSS/-mcp-to-skill-converter/blob/main/mcp_to_skill.py), which is included in this repo as `mcp-to-skill.py`.
1. **Build the MCP server** (so the command in the config works):
```bash
npm run build
```
2. **Ensure Python and the `mcp` package are available**:
```bash
pip install mcp
```
3. **Generate a Skill for this server** using the provided `mcp-to-skill.json` config:
```bash
python mcp-to-skill.py --mcp-config mcp-to-skill.json --output-dir ./skills/medusa-mcp
```
This will create:
- `SKILL.md` β instructions for Claude
- `executor.py` β MCP communication handler
- `mcp-config.json` β MCP server configuration
- `package.json` β minimal dependencies for the skill
4. **Install the Skill for Claude**:
```bash
cd skills/medusa-mcp
pip install mcp
cp -r . ~/.claude/skills/medusa-mcp
```
Claude will automatically discover the new Skill on next startup.
---
## π Environment Variables
| Variable | Description |
|-----------------------|--------------------------------------|
| `MEDUSA_BACKEND_URL` | Your Medusa backend URL |
| `PUBLISHABLE_KEY` | Your Medusa publishable API key |
| `MEDUSA_USERNAME` | Medusa admin username (for admin) |
| `MEDUSA_PASSWORD` | Medusa admin password (for admin) |
Server runs at: [http://localhost:3000](http://localhost:3000)
---
## π§ Architecture Diagram
Here's how the `medusa-mcp` server fits into a typical setup with Medusa JS and external systems:
```
+-------------------------+
| AI Assistant / |
| LLM / Automation |
+-----------+-------------+
|
v
+--------------+--------------+
| MCP Server (medusa-mcp) |
|-----------------------------|
| - JSON-RPC Communication |
| - AI-Ready Interface |
| - Plugin Support |
+------+----------------------+
|
+
|
v
+-------------------+
| Medusa Backend |
| (Products, Orders)|
+-------------------+
|
|
v
+--------------+
| Medusa Store |
| Frontend |
+--------------+
|
|
v
+-------------------------+
| External Services / API |
| (e.g., Payments, Email) |
+-------------------------+
```
## π§ͺ Customization
To tailor the server to your Medusa setup:
> Replace `admin.json` and `store.json` with your own OAS definitions for fine-grained control.
- Replace the OpenAPI schemas in the `oas/` folder:
- `admin.json` β Admin endpoints
- `store.json` β Storefront endpoints
Use the [`@medusajs/medusa-oas-cli`](https://www.npmjs.com/package/@medusajs/medusa-oas-cli) to regenerate these files.
You can also **fork this project** to build your own custom MCP-powered Medusa integration.
---
## π€ Contributing
We welcome contributions! Please see our [CONTRIBUTING.md](CONTRIBUTING.md) guide.
---
## π License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
TDQS
Scored across 48 tools
Every tool has a distinct purpose targeting specific resources and actions, such as GetCartsId for retrieving a cart by ID, PostCarts for creating a cart, and PostCartsIdComplete for completing a cart. The naming and descriptions clearly differentiate between retrieval, creation, update, and other operations, with no overlapping or ambiguous tools.
Tool names follow a highly consistent verb_noun pattern throughout, using 'Get' for retrieval, 'Post' for creation or action, and specific identifiers like 'Id' or 'Code'. Examples include GetProductsId, PostCartsIdLineItems, and PostActor_typeAuth_provider, all adhering to a predictable and readable convention.
With 48 tools, the count is excessive for an MCP server, making it cumbersome for agents to navigate and increasing the risk of misselection. While the server covers a broad e-commerce domain, a more streamlined set of 15-25 tools would be more appropriate for usability and coherence.
The tool set provides comprehensive coverage of the e-commerce domain, including CRUD operations for carts, products, orders, customers, and authentication, as well as specialized actions like payment processing, shipping, and returns. There are no obvious gaps, ensuring agents can handle full workflows without dead ends.