Medusa.js Documentation MCP Server
Provides access to comprehensive Medusa.js v2 documentation with smart search, precise section retrieval, and content browsing capabilities.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Medusa.js Documentation MCP ServerHow do I implement custom shipping methods?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
š 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 |
Related MCP server: Next.js Docs MCP
š Prerequisites
Node.js 18+
npm or yarn
AI Assistant with MCP support:
Claude Code (CLI) ā Tested & Working
Kilo Code ā Tested & Working
Or any MCP-compatible client
š Installation
1. Clone and Setup
# 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 build2. 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:
# 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):
# Create or edit global config
nano ~/.claude/claude_code_config.jsonAdd this configuration:
{
"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:
# In your Medusa project root
mkdir -p .claude
cp claude_code_config.json .claude/mcp.json
# Edit paths to be relative to your projectCursor IDE
Add to your Cursor settings (settings.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:
{
"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
š¬ "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
š¬ "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
š¬ "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
š¬ "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 querylimit(number, optional): Maximum results to return (default: 5)
⨠Example Usage:
{
"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:
{
"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:
{
"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?"
Use
search_docswith query"payment setup"Get relevant sections about payment modules and providers
Use
get_sectionto dive deep into specific payment provider setup
Scenario 2: "What workflow features are available?"
Use
list_sectionswith category"workflows"Browse available workflow documentation
Use
get_sectionto read specific workflow implementation guides
Scenario 3: "I need help with cart functionality"
Use
search_docswith query"cart module"Find cart-related sections and APIs
Access detailed cart implementation examples
š§ Development
Scripts
# 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 startTesting
Test the MCP server manually:
# 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.jsDebug Mode
# 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:
{
"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.maxResultsStricter search: Lower
searchDefaults.threshold(0.2 = very strict, 0.8 = very loose)Longer previews: Increase
documentation.previewLengthMore list items: Increase
listDefaults.maxSections
š Environment Variables
MEDUSA_DOCS_PATH: Absolute path to your documentation fileDEBUG: Enable debug logging (set to1ortrue)
š Troubleshooting
Server not found
Restart your AI assistant after configuration changes
Check that file paths are absolute, not relative
Verify the
dist/index.jsfile exists (runnpm run build)
Documentation not loading
Verify
MEDUSA_DOCS_PATHpoints to the correct fileCheck file permissions (should be readable)
Ensure the file exists and is not empty
Permission errors
# Fix file permissions
chmod 644 /path/to/docs/medusa-docs.txt
chmod +x /path/to/Medusa.js-Documentation-MCP-Server/dist/index.jsDebug connection issues
# Test MCP server manually
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | MEDUSA_DOCS_PATH="/path/to/docs.txt" node dist/index.jsCheck 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
Fork the repository
Create a feature branch (
git checkout -b feature/amazing-feature)Make your changes
Update configuration in
config.jsonif neededBuild and test (
npm run build)Commit your changes (
git commit -m 'Add amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
š License
This project is licensed under the MIT License - see the LICENSE file for details.
š Acknowledgments
Model Context Protocol by Anthropic
Medusa.js commerce platform
Fuse.js for fuzzy search functionality
š Support
š Issues: GitHub Issues
š¬ Discussions: GitHub Discussions
š§ Email: Contact through GitHub
ā Star this repo if it helps your Medusa development workflow!
Available Tools
3 toolsget_sectionB
Get a specific documentation section by title or path
| Name | Required | Description | Default |
|---|---|---|---|
| identifier | Yes | Section title or path to retrieve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It merely states the action without mentioning whether it's read-only, what is returned, or any prerequisites like authentication.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no wasted words. However, it could be more informative while remaining concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the tool is simple and has one parameter, the lack of an output schema means the description should clarify what is returned. It does not, leaving some ambiguity about the response format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the parameter description already states 'Section title or path to retrieve'. The tool description adds no extra meaning beyond this, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('documentation section') along with the method ('by title or path'). It clearly distinguishes from siblings like 'list_sections' and 'search_docs'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, such as 'list_sections' or 'search_docs'. The description implies use when the identifier is known, but lacks explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sectionsB
List all available documentation sections
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Filter sections by category (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states 'List all...'. It fails to mention that the operation is read-only, any authentication requirements, potential side effects, or whether results are paginated. This is insufficient for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is a single, direct sentence with no wasted words. It is front-loaded and immediately actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the core purpose is covered, the description omits details about the output format, ordering, pagination, or how this listing interacts with sibling tools. For a simple tool this may suffice, but more context would improve reliability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully describes the single parameter 'category' with a clear description. The tool description adds nothing beyond what the schema provides, earning the baseline score for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states 'List all available documentation sections' ā a clear verb+resource combination. The tool name 'list_sections' is distinct from siblings 'get_section' (single section) and 'search_docs' (keyword search), making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like get_section or search_docs. The agent must infer from tool names only; explicit advice on use cases or exclusions is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_docsB
Search Medusa.js documentation for specific topics
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query for finding relevant documentation | |
| limit | No | Maximum number of results to return (default: 5) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully bears the burden of behavioral disclosure. It only states the basic action of searching, but omits traits such as whether the operation is read-only, what format results are returned in (e.g., snippets, links), or any rate limits. The description is insufficient for an agent to understand the tool's behavior beyond the core action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, achieving high conciseness. However, it is slightly underspecified and could incorporate more information without losing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (2 parameters, no output schema, no annotations), the description provides the minimum viable information. It tells the agent what the tool does, but lacks details about the return value format, the scope of documentation searched, or any behavioral expectations. This is adequate but leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters ('query', 'limit') having descriptions. The tool description adds no additional meaning beyond the schema, so baseline 3 is appropriate. No further value is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Search', the resource 'Medusa.js documentation', and the purpose 'for specific topics'. It distinguishes from sibling tools 'get_section' and 'list_sections' which focus on retrieving specific sections or lists, not full-text search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool vs alternatives. It does not mention any exclusions, prerequisites, or context for when searching is appropriate compared to using get_section or list_sections.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v1.0.0- First observed
get_section - First observed
list_sections - First observed
search_docs
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: listing sections, retrieving a specific section, and searching content. No overlap exists.
All tools follow a consistent verb_noun snake_case pattern (get_section, list_sections, search_docs), making naming predictable.
3 tools is well-scoped for a documentation server, covering essential operations without being too few or excessive.
The set covers listing, retrieving, and searching documentation, leaving minor gaps like filtering or navigation structure.
Maintenance
Related MCP Connectors
Retrieve information from the Medusa documentation to assist you with your Medusa development.
The documentation, as a tool your agent can call: 950+ AI-dev guides. Search + fetch tools.
Docs Q&A: search 169 data and AI guides, fetch any page as markdown. Read-only, keyless.
Versioned documentation registry and semantic search for AI tools and coding assistants.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides tools for retrieving and processing documentation through vector search, enabling AI assistants to augment their responses with relevant documentation context.714 npm1MIT
- AlicenseAqualityDmaintenanceProvides AI agents with access to a comprehensive database of 200+ Next.js documentation URLs for intelligent document selection and retrieval. Enables Claude and other AI assistants to analyze user queries and recommend the most relevant Next.js documentation pages.19 npm13MIT
- AlicenseNot gradedqualityAmaintenanceProvides AI assistants instant access to GitLab's official documentation with intelligent search, section filtering, and full content retrieval across 2,494 documentation pages including CI/CD, API, admin, and development guides.281 npm3MIT
- AlicenseAqualityAmaintenanceProvides access to microCMS documentation, enabling AI assistants to search and retrieve the latest document content.3122 npm8MIT