Medusa.js Documentation MCP Server
by Alexcs24
README.md
# š Medusa.js Documentation MCP Server
A powerful **Model Context Protocol (MCP) server** that gives your AI assistants instant access to **comprehensive Medusa.js v2 documentation** with smart search capabilities and real-time assistance for enhanced development workflow.
> š
**Latest Documentation**: September 2025 | š **Coverage**: 2,105+ sections | š¦ **Size**: 4.7MB
## ⨠Key Features
| šÆ Feature | š Description | š Benefits |
|------------|----------------|-------------|
| **š Smart Search** | Fuzzy search through 2,105+ documentation sections | Find answers even with partial or inexact queries |
| **š Precise Retrieval** | Get exact sections by title or path | Access specific documentation instantly |
| **š Complete Browsing** | List all available sections with filtering | Discover new features and capabilities |
| **ā” Lightning Fast** | TypeScript-powered with optimized performance | Instant responses, no delays |
| **š¦ Zero Setup** | Documentation included, no external dependencies | Works out-of-the-box |
| **š Real-time** | Always up-to-date Medusa v2 documentation | Latest features and best practices |
## š Prerequisites
- **Node.js** 18+
- **npm** or **yarn**
- **AI Assistant** with MCP support:
- [Claude Code (CLI)](https://claude.ai/code) ā
**Tested & Working**
- [Kilo Code](https://kilocode.ai/) ā
**Tested & Working**
- [Cursor](https://cursor.sh/)
- [Windsurf](https://codeium.com/windsurf)
- Or any MCP-compatible client
## š Installation
### 1. Clone and Setup
```bash
# Clone the repository
git clone https://github.com/Alexcs24/Medusa.js-Documentation-MCP-Server
cd Medusa.js-Documentation-MCP-Server
# Install dependencies
npm install
# Build the TypeScript code
npm run build
```
### 2. Documentation Ready!
ā
**No additional setup needed!** The repository includes comprehensive Medusa.js v2 documentation (4.7MB, September 2025) located at `./docs/medusa-docs.txt`.
**Optional**: Use your own documentation file:
```bash
# Replace with your own documentation if needed
export MEDUSA_DOCS_PATH="/absolute/path/to/your/custom-docs.txt"
```
### 3. Configure Your AI Assistant
#### š¢ Claude Code CLI ā
**Tested & Working**
**Global Configuration** (recommended):
```bash
# Create or edit global config
nano ~/.claude/claude_code_config.json
```
Add this configuration:
```json
{
"mcpServers": {
"medusa-docs": {
"command": "node",
"args": ["/absolute/path/to/Medusa.js-Documentation-MCP-Server/dist/index.js"],
"env": {
"MEDUSA_DOCS_PATH": "/absolute/path/to/Medusa.js-Documentation-MCP-Server/docs/medusa-docs.txt"
}
}
}
}
```
**Project-specific Configuration**:
```bash
# In your Medusa project root
mkdir -p .claude
cp claude_code_config.json .claude/mcp.json
# Edit paths to be relative to your project
```
#### Cursor IDE
Add to your Cursor settings (`settings.json`):
```json
{
"mcp": {
"mcpServers": {
"medusa-docs": {
"command": "node",
"args": ["/absolute/path/to/Medusa.js-Documentation-MCP-Server/dist/index.js"],
"env": {
"MEDUSA_DOCS_PATH": "/absolute/path/to/docs/medusa-docs.txt"
}
}
}
}
}
```
#### Windsurf
Create or edit `windsurf-mcp-config.json`:
```json
{
"mcpServers": {
"medusa-docs": {
"command": "node",
"args": ["/absolute/path/to/Medusa.js-Documentation-MCP-Server/dist/index.js"],
"env": {
"MEDUSA_DOCS_PATH": "/absolute/path/to/docs/medusa-docs.txt"
}
}
}
}
```
## šÆ Usage & Natural Language Examples
After configuration, restart your AI assistant and interact using **natural language**:
### š **Smart Search Examples**
```bash
š¬ "Search Medusa docs for payment providers"
š¬ "Find information about workflows in Medusa"
š¬ "Look up cart module documentation"
š¬ "How do I implement custom shipping methods?"
š¬ "Show me authentication examples"
```
### š **Specific Section Retrieval**
```bash
š¬ "Get the section about API routes"
š¬ "Show me the modules documentation"
š¬ "Retrieve workflow examples"
š¬ "I need the admin customization guide"
š¬ "Display the product catalog setup"
```
### š **Browse Available Content**
```bash
š¬ "List all available documentation sections"
š¬ "Show me categories in the docs"
š¬ "What documentation sections are available?"
š¬ "Browse workflow-related documentation"
š¬ "What payment integrations are documented?"
```
### š **Advanced Usage Patterns**
```bash
š¬ "Compare different payment providers in Medusa"
š¬ "Walk me through setting up a complete e-commerce store"
š¬ "What's the difference between modules and plugins?"
š¬ "Show me step-by-step workflow implementation"
```
## š§ Available MCP Tools
The MCP server provides **3 powerful tools** to access Medusa.js documentation:
### š **1. `search_docs`** - Smart Documentation Search
**What it does**: Intelligently searches through 2,105+ documentation sections using fuzzy matching
**Perfect for**: Finding relevant information when you don't know the exact section name
**Parameters:**
- `query` (string, **required**): Your search query
- `limit` (number, optional): Maximum results to return (default: 5)
**⨠Example Usage:**
```json
{
"name": "search_docs",
"arguments": {
"query": "workflow payment providers",
"limit": 3
}
}
```
**Returns**: Workflow Engine Module, timeout configurations, and In-Memory workflow setup
---
### š **2. `get_section`** - Precise Section Retrieval
**What it does**: Fetches exact documentation sections by title or path
**Perfect for**: Getting detailed information about a specific topic you know exists
**Parameters:**
- `identifier` (string, **required**): Exact section title or path
**⨠Example Usage:**
```json
{
"name": "get_section",
"arguments": {
"identifier": "Debug Workflows"
}
}
```
**Returns**: Complete section content with debugging approaches and techniques
---
### š **3. `list_sections`** - Browse All Available Content
**What it does**: Lists all 2,105+ available documentation sections
**Perfect for**: Discovering what documentation is available or browsing by category
**Parameters:**
- `category` (string, optional): Filter sections by specific category
**⨠Example Usage:**
```json
{
"name": "list_sections",
"arguments": {
"category": "workflows"
}
}
```
**Returns**: Complete list of workflow-related documentation sections
---
### š **Real-World Usage Examples**
**Scenario 1**: *"How do I set up payments in Medusa?"*
1. Use `search_docs` with query `"payment setup"`
2. Get relevant sections about payment modules and providers
3. Use `get_section` to dive deep into specific payment provider setup
**Scenario 2**: *"What workflow features are available?"*
1. Use `list_sections` with category `"workflows"`
2. Browse available workflow documentation
3. Use `get_section` to read specific workflow implementation guides
**Scenario 3**: *"I need help with cart functionality"*
1. Use `search_docs` with query `"cart module"`
2. Find cart-related sections and APIs
3. Access detailed cart implementation examples
## š§ Development
### Scripts
```bash
# Development server with hot reload
npm run dev
# Watch mode (auto-restart on changes)
npm run watch
# Build TypeScript
npm run build
# Start production server
npm run start
```
### Testing
Test the MCP server manually:
```bash
# Start the server
node dist/index.js
# In another terminal, send MCP requests
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | node dist/index.js
```
### Debug Mode
```bash
# Enable debug logging
DEBUG=1 node dist/index.js
# Or with environment variables
MEDUSA_DOCS_PATH="/path/to/docs.txt" DEBUG=1 node dist/index.js
```
## š Project Structure
```
Medusa.js-Documentation-MCP-Server/
āāā src/
ā āāā index.ts # Main MCP server implementation
āāā dist/ # Compiled JavaScript (auto-generated)
āāā docs/
ā āāā medusa-docs.txt # Complete Medusa v2 docs (4.7MB, Sep 2025)
āāā config.json # Server configuration settings
āāā example-docs.txt # Example documentation format
āāā claude_code_config.json # Example Claude Code config
āāā package.json # Node.js dependencies
āāā tsconfig.json # TypeScript configuration
āāā .gitignore # Git ignore rules
āāā LICENSE # MIT License
āāā README.md # This file
```
## āļø Configuration
All server settings can be customized in `config.json`:
```json
{
"searchDefaults": {
"maxResults": 5, // Default number of search results
"threshold": 0.4, // Search sensitivity (0-1, lower = more strict)
"minMatchCharLength": 3 // Minimum characters for search matching
},
"listDefaults": {
"maxSections": 50 // Maximum sections shown in list_sections
},
"server": {
"name": "medusa-docs-mcp",
"version": "1.0.0"
},
"documentation": {
"previewLength": 500, // Length of content preview in search results
"fallbackPaths": [ // Paths to search for documentation file
"docs/medusa-docs.txt",
"llms-full.txt",
"../llms-full.txt",
"../../llms-full.txt",
"/home/claude/llms-full.txt"
]
}
}
```
### š§ **Customize Your Settings**
- **More search results**: Increase `searchDefaults.maxResults`
- **Stricter search**: Lower `searchDefaults.threshold` (0.2 = very strict, 0.8 = very loose)
- **Longer previews**: Increase `documentation.previewLength`
- **More list items**: Increase `listDefaults.maxSections`
## š Environment Variables
- `MEDUSA_DOCS_PATH`: Absolute path to your documentation file
- `DEBUG`: Enable debug logging (set to `1` or `true`)
## š Troubleshooting
### Server not found
1. Restart your AI assistant after configuration changes
2. Check that file paths are absolute, not relative
3. Verify the `dist/index.js` file exists (run `npm run build`)
### Documentation not loading
1. Verify `MEDUSA_DOCS_PATH` points to the correct file
2. Check file permissions (should be readable)
3. Ensure the file exists and is not empty
### Permission errors
```bash
# Fix file permissions
chmod 644 /path/to/docs/medusa-docs.txt
chmod +x /path/to/Medusa.js-Documentation-MCP-Server/dist/index.js
```
### Debug connection issues
```bash
# Test MCP server manually
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | MEDUSA_DOCS_PATH="/path/to/docs.txt" node dist/index.js
```
Check your AI assistant's MCP logs:
- **Claude Code CLI**: View ā Output ā MCP logs
- **Cursor IDE**: Developer Tools ā Console
- **Windsurf**: Check extension logs in developer tools
## š¤ Contributing
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Make your changes
4. Update configuration in `config.json` if needed
5. Build and test (`npm run build`)
6. Commit your changes (`git commit -m 'Add amazing feature'`)
7. Push to the branch (`git push origin feature/amazing-feature`)
8. Open a Pull Request
## š License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## š Acknowledgments
- [Model Context Protocol](https://modelcontextprotocol.io/) by Anthropic
- [Medusa.js](https://medusajs.com/) commerce platform
- [Fuse.js](https://fusejs.io/) for fuzzy search functionality
## š Support
- š **Issues**: [GitHub Issues](https://github.com/Alexcs24/Medusa.js-Documentation-MCP-Server/issues)
- š¬ **Discussions**: [GitHub Discussions](https://github.com/Alexcs24/Medusa.js-Documentation-MCP-Server/discussions)
- š§ **Email**: Contact through GitHub
---
**ā Star this repo if it helps your Medusa development workflow!**TDQS
A3.7/5.0
Scored across 3 tools
Disambiguation5/5
Each tool has a clearly distinct purpose: listing sections, retrieving a specific section, and searching content. No overlap exists.
Naming Consistency5/5
All tools follow a consistent verb_noun snake_case pattern (get_section, list_sections, search_docs), making naming predictable.
Tool Count5/5
3 tools is well-scoped for a documentation server, covering essential operations without being too few or excessive.
Completeness4/5
The set covers listing, retrieving, and searching documentation, leaving minor gaps like filtering or navigation structure.
Maintenance
ActivityInactive
ResponsivenessNo issues