ðïž MCP - MCP for Commerce Platforms - Universal E-commerce Customer Support Assistant
ããŒã«ã«ðïž MCP - MCP for Commerce Platforms - Universal E-commerce Customer Support Assistant ã«ã€ããŠ
Enneagoraã¯ãMCPã¯ã©ã€ã¢ã³ãããæ³šæãè¿åãååãã¢ã«ãŠã³ãã®åãåããã«å¯Ÿå¿ããããã®ãECã«ã¹ã¿ããŒãµããŒãåãMCPãµãŒããŒã§ããç¹å®ã®ãã©ãããã©ãŒã ã«äŸåããªãèšèšã§ãSSEãšSTDIOã«å¯Ÿå¿ããŸãã
äž»ãªæ©èœ
- 01泚æç¶æ³ã®ç¢ºèªã»ãã£ã³ã»ã«ã»è¿å
- 02è·ç©ã®è¿œè·¡ãšé éæ å ±ã®ç §äŒ
- 03è¿åããªã·ãŒãšååæ¡å
- 04ã¢ã«ãŠã³ãã»æ±ºæžã»äŒå¡æ å ±ã®æ¯æŽ
- 05SSEãšSTDIOã®äž¡ãã©ã³ã¹ããŒã
掻çšã·ãŒã³
- 01泚æç¶æ³ã®ç¢ºèªããã£ã³ã»ã«
- 02è¿åãè·ç©è¿œè·¡ã®åãåãã察å¿
- 03ååã»ä¿èšŒã»ãæå ¥ãæ¹æ³ã®æ¡å
- 04ã¢ã«ãŠã³ãã»æ±ºæžã»äŒå¡å¶åºŠã®åãåãã察å¿
MCP 察å¿
MCPã¯ã©ã€ã¢ã³ãåãã«ãECã«ã¹ã¿ããŒãµããŒãçšã®14çš®é¡ã®ããŒã«ãå ¬éããŸããGradioçµç±ã®SSEãšFastMCPçµç±ã®STDIOã«å¯Ÿå¿ããŠããŸãã
èšå®
ããŒã«ã«ãµãŒããŒã®èšå®ã¯ã©ã®ã¯ã©ã€ã¢ã³ãã§ãå ±éã§ããã³ããŒããŠã¯ã©ã€ã¢ã³ãã® MCP èšå®ãã¡ã€ã«ã«è²Œãä»ããŠãã ããã
ãã®ãµãŒããŒã®ããã±ãŒãžããªã¢ãŒããšã³ããã€ã³ãã¯ãŸã ååŸã§ããŠããŸããããããžã§ã¯ãã® README ã®æé ã«åŸã£ãŠãã ããã
ããŒã«
ããŒã«ã«ãµãŒããŒã®ããŒã«ã¯ãã·ã³äžã§èµ·åããŠåããŠååŸã§ããŸããã¡ã³ãããŒã¯ãŸã ããŒã«äžèЧãæäŸããŠããŸããã
詳现
title: Enneagora - E-commerce MCP ãµãŒã㌠emoji: ðïž colorFrom: blue colorTo: purple sdk: gradio sdk_version: 5.33.0 app_file: main.py pinned: true license: mit tags:
- mcp-server-track
- cuustomer support
- commerce
- e-commerce
Enneagora - E-commerce MCP ãµãŒããŒ
Enneagora ã¯ãModel Context ProtocolïŒMCPïŒã䜿çšããæ±çš E ã³ããŒã¹ã«ã¹ã¿ããŒãµããŒãã¢ã·ã¹ã¿ã³ãã§ããããŸããŸãª E ã³ããŒã¹ãã©ãããã©ãŒã ã§å©çšã§ããããã©ãããã©ãŒã ã«äŸåããªãã«ã¹ã¿ããŒãµããŒããœãªã¥ãŒã·ã§ã³ãæäŸããŸãããã®å æ¬ç㪠MCP ãµãŒããŒã¯ãClaude Desktop ãŸã㯠MCP äºæã¯ã©ã€ã¢ã³ããšé£æºããããããçš®é¡ã®ãåãåããã«å¯Ÿå¿ã§ããŸãã
ð ç¹é·
- MCP æºæ ïŒSSE ããã³ STDIO ãã©ã³ã¹ããŒãã䜿çšãããGradio ãš FastMCP ã«ããäºéã® MCP ãµãŒããŒå®è£
- å
æ¬çãªã«ã¹ã¿ããŒãµããŒãããŒã« 14 çš®ïŒ
- 泚æç®¡çïŒ
get_order_statusãcancel_orderãprocess_returnãtrack_package - ãµããŒãæ
å ±ïŒ
get_support_infoãget_return_policyãget_shipping_infoãget_contact_information - 補åã¬ã€ãã³ã¹ïŒ
get_size_guideãget_warranty_informationãget_product_care_info - ã¢ã«ãŠã³ããšæ¯æãïŒ
get_payment_informationãget_account_helpãget_loyalty_program_info
- 泚æç®¡çïŒ
- ãã©ãããã©ãŒã éäŸåïŒãããã E ã³ããŒã¹ãã©ãããã©ãŒã ãšç°¡åã«é£æºã§ããã¹ãã©ããžãŒãã¿ãŒã³
- åçãªã¢ãã¯ããŒã¿ïŒãã¿ãŒã³ããŒã¹ã®æ³šæåäœãåããã€ã³ããªãžã§ã³ããªãã¹ãããŒã¿ã·ã¹ãã
- äºéã®å®è£ ããµããŒãïŒãŠã§ããžã®ãããã€ã«ã¯ Gradio MCP ãµãŒããŒãClaude Desktop ã® STDIO 飿ºã«ã¯ FastMCP ã䜿çš
- æ¬çªç°å¢å¯Ÿå¿ïŒHugging Face Spaces ãžã®èªåãããã€ãåãã CI/CD ãã€ãã©ã€ã³
ð åææ¡ä»¶
- Python 3.10 以äž
- pip ããã±ãŒãžãããŒãžã£ãŒ
- ïŒä»»æïŒãããã€çšã® Hugging Face ã¢ã«ãŠã³ã
ð ïž ã€ã³ã¹ããŒã«
- ãªããžããªãã¯ããŒã³ããŸãã
git clone https://github.com/slavpilus/mcp.git
cd mcp
- ä»®æ³ç°å¢ãäœæããŠæå¹åããŸãã
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- äŸåé¢ä¿ãã€ã³ã¹ããŒã«ããŸãã
pip install -r requirements.txt
ð äœ¿çšæ¹æ³
ãªãã·ã§ã³ 1ïŒGradio MCP ãµãŒããŒïŒHugging Face Spaces ã§ã®å©çšãæšå¥šïŒ
Hugging Face Spaces ã§ãã¹ããããŠãã Gradio MCP ãµãŒããŒã䜿çšããŸãã
Gradio MCP ãšã³ããã€ã³ãïŒ https://huggingface.co/spaces/SlavPilus/mpc-for-commerce-platforms
å©ç¹ïŒ
mcp_server=Trueã䜿çšãããã€ãã£ã㪠Gradio MCP ãµãŒããŒå®è£- ããŒã«ã«ã§ã®ã»ããã¢ããäžèŠ
- åžžã«ææ°ã®æ©èœãå©çšå¯èœ
- MCP äºæã¯ã©ã€ã¢ã³ãã飿ºã«æé©
- Hugging Face Spaces ãžã®ã·ãŒã ã¬ã¹ãªãããã€
Gradio MCP ãµãŒããŒïŒããŒã«ã«éçºïŒ
python main.py
Gradio MCP ãµãŒããŒã¯ http://localhost:7860 ã§èµ·åããMCP SSE ãšã³ããã€ã³ã㯠http://localhost:7860/gradio_api/mcp/sse ã§å©çšã§ããŸãã
FastMCP ãš Claude Desktop ã®é£æºïŒSTDIOïŒ
ã¹ããã 1ïŒClaude Desktop ãèšå®ãã
macOSïŒ ~/Library/Application Support/Claude/claude_desktop_config.json ãç·šéããŸãã
WindowsïŒ %APPDATA%\Claude\claude_desktop_config.json ãç·šéããŸãã
{
"mcpServers": {
"enneagora": {
"command": "python",
"args": ["/full/absolute/path/to/mcp/main_stdio.py"],
"env": {}
}
}
}
â ïž éèŠïŒ
main_stdio.pyã«ã¯çµ¶å¯Ÿãã¹ãæå®ããŠãã ããã- Python ç°å¢ã«ãã¹ãŠã®äŸåé¢ä¿ãã€ã³ã¹ããŒã«ãããŠããããšã確èªããŠãã ããã
- èšå®ã倿ŽããåŸã¯ãClaude Desktop ãåèµ·åããŠãã ããã
ã¹ããã 2ïŒèšå®ããã¹ããã
STDIO çã¯æåã§ãã¹ãã§ããŸãã
python main_stdio.py
ð§ å©çšå¯èœãªãã¹ãŠã®ããŒã«
泚æç®¡çããŒã«
- get_order_status - 泚æã®è©³çްãªç¶æ³ãšè¿œè·¡æ å ±ãååŸããŸãã
- cancel_order - æ€èšŒãã§ãã¯ãè¡ã£ãŠæ³šæããã£ã³ã»ã«ããŸãã
- process_return - æéåæãã®ã©ãã«ã䜿ã£ãŠè¿åãªã¯ãšã¹ãã«å¯Ÿå¿ããŸãã
- track_package - ãªã¢ã«ã¿ã€ã ã®æŽæ°æ å ±ã䜿ã£ãŠè·ç©ã®é éç¶æ³ã远跡ããŸãã
æ å ±ã»ãµããŒãããŒã«
- get_support_info - äžè¬çãªãµããŒãæ å ±ãšã¬ã€ãã³ã¹ãæäŸããŸãã
- get_return_policy - 補åã«ããŽãªå¥ã®è©³çްãªè¿åããªã·ãŒãæäŸããŸãã
- get_shipping_info - é éæãé 鿥æ°ãæµ·å€é éã®ãªãã·ã§ã³ãæäŸããŸãã
- get_contact_information - åé¡ã®çš®é¡ãç·æ¥åºŠã«å¿ããé£çµ¡å æ å ±ãæäŸããŸãã
補åã»ãµãŒãã¹ããŒã«
- get_size_guide - è¡£é¡ãéŽãã¢ã¯ã»ãµãªãŒã®ãµã€ãºè¡šãæäŸããŸãã
- get_warranty_information - ä¿èšŒç¯å²ãšä¿èšŒè«æ±ã®åŠçã«é¢ããæ å ±ãæäŸããŸãã
- get_product_care_info - ãæå ¥ãæ¹æ³ãšã¡ã³ããã³ã¹ã®ã¬ã€ãã³ã¹ãæäŸããŸãã
ã¢ã«ãŠã³ããšæ¯æãã«é¢ããããŒã«
- get_payment_information - æ¯æãæ¹æ³ãè«æ±ã«é¢ãããã«ãããã©ãã«ã·ã¥ãŒãã£ã³ã°
- get_account_help - ã¢ã«ãŠã³ãã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°ãšãã°ã€ã³ã®ãµããŒã
- get_loyalty_program_info - ãªã¯ãŒãããã°ã©ã ã®è©³çްãšäŒå¡ç¹å ž
𧪠åçãªã¢ãã¯ããŒã¿ã䜿ã£ããã¹ã
Enneagora ã¯ã泚æã®åäœã ID ã®ãã¿ãŒã³ã«ãã£ãŠæ±ºãŸããã€ã³ããªãžã§ã³ããªã¢ãã¯ããŒã¿ã·ã¹ãã ãåããŠããŸãã
泚æã¹ããŒã¿ã¹ã®ãã¿ãŒã³
ORD-XXXX-D- é éæžã¿ã®æ³šæïŒäŸïŒORD-1001-DïŒORD-XXXX-S- 远跡æ å ±ä»ãã®çºéæžã¿æ³šæïŒäŸïŒORD-1002-SïŒORD-XXXX-T- äœçœ®æ å ±ã®æŽæ°ããã茞éäžã®æ³šæïŒäŸïŒORD-1003-TïŒORD-XXXX-P- åŠçäžã®æ³šæïŒäŸïŒORD-1004-PïŒORD-XXXX-R- åºé åãåãå¯èœãªæ³šæïŒäŸïŒORD-1005-RïŒORD-XXXX-C- ãã£ã³ã»ã«æžã¿ã®æ³šæïŒäŸïŒORD-1006-CïŒORD-XXXX-F- 倱æãŸãã¯åé¡ã®ããæ³šæïŒäŸïŒORD-1007-FïŒORD-XXXX-E- ãšã©ãŒãŸãã¯èŠã€ãããªã泚æïŒäŸïŒORD-1008-EïŒORD-XXXX- ä¿çäžã®æ³šæïŒæ¥å°ŸèŸãªããäŸïŒORD-1009ïŒ
ã¯ãšãªã®äŸ
Claude Desktop ãŸã㯠MCP ã¯ã©ã€ã¢ã³ãã«æ¥ç¶ãããšãèªç¶èšèªã䜿ã£ãŠæ¬¡ã®ããã«æäœã§ããŸãã
泚æç®¡çïŒ
- ãæ³šæ ORD-1001-S ã®ã¹ããŒã¿ã¹ã確èªããŠã
- ããã£ãšå®ãäŸ¡æ ŒãèŠã€ããã®ã§ã泚æ ORD-1004-P ããã£ã³ã»ã«ããŠã
- ãæ³šæ ORD-1002-D ãè¿åãããã§ãããµã€ãºãåããŸããã§ããã
ååæ å ±ïŒ
- ãé»åæ©åšã®è¿åããªã·ãŒãæããŠãã ããã
- ã45ãã«ã®æ³šæãã«ããã«çºéããå Žåãéæã¯ãããã§ããïŒã
- ãã¡ã³ãºã·ã£ãã®ãµã€ãºã¬ã€ããæããŠãã ããã
- ãç§ã®ããŒãããœã³ã³ã¯ãŸã ä¿èšŒæéå ã§ããïŒ2023-06-15 ã«è³Œå ¥ããŸããã
ã¢ã«ãŠã³ããšæ¯æãïŒ
- ãã¯ã¬ãžããã«ãŒããæåŠãããŸãããã©ãããã°ããã§ããïŒã
- ããã¹ã¯ãŒããå¿ããŸããããªã»ããããæ¹æ³ãæããŠãã ããã
- ããã€ã€ã«ãã£ããã°ã©ã ã®ä»çµã¿ãæããŠãã ããã
補åã®ãæå ¥ãïŒ
- ãã·ã«ã¯ã®ãã¬ã¹ã®ãæå ¥ãæ¹æ³ãæããŠãã ããã
- ãé©éŽããããã«ããæé©ãªæ¹æ³ã¯äœã§ããïŒã
ðïž ã¢ãŒããã¯ãã£
âââââââââââââââââââââââââââââââââââââââ
â MCP Clients â
â (Claude Desktop, Web Clients) â
ââââââââââââââââ¬âââââââââââââââââââââââ
â MCP Protocol Transport
ââââââââââââââââŒâââââââââââââââââââââââ
â Dual MCP Implementation â
â ⢠main.py (Gradio MCP Server) â
â ⢠main_stdio.py (FastMCP STDIO) â
âââââââââââââââââââââââââââââââââââââââ€
â 14 MCP Tools: â
â ⢠Order Management (4 tools) â
â ⢠Information & Support (4 tools) â
â ⢠Product & Service (3 tools) â
â ⢠Account & Payment (3 tools) â
âââââââââââââââââââââââââââââââââââââââ€
â E-commerce Strategy Layer â
â ⢠Mock Strategy (Demo/Testing) â
â ⢠Shopify Strategy (Future) â
â ⢠Magento Strategy (Future) â
â ⢠WooCommerce Strategy (Future) â
âââââââââââââââââââââââââââââââââââââââ
ð¢ ãããã€
Hugging Face Spaces ã§ãã¹ã
ãµãŒããŒã¯ãããã€æžã¿ã§ã次ã®å Žæããã¢ã¯ã»ã¹ã§ããŸãã
- Web UIïŒ https://huggingface.co/spaces/SlavPilus/mpc-for-commerce-platforms
- SSE ãšã³ããã€ã³ãïŒ https://huggingface.co/spaces/SlavPilus/mpc-for-commerce-platforms/sse
æåãããã€
# Build Docker image
docker build -t enneagora .
# Run container
docker run -p 7860:7860 enneagora
ç¬èªã®ã€ã³ã¹ã¿ã³ã¹ããããã€
- ãã®ãªããžããªããã©ãŒã¯ããŸã
- GitHub ã·ãŒã¯ã¬ãããèšå®ããŸãã
HF_TOKENïŒHugging Face ããŒã¯ã³HF_USERNAMEïŒHugging Face ãŠãŒã¶ãŒåHF_SPACE_NAMEïŒSpace ã®åå
- ãããã€ãéå§ããã«ã¯ãmain ãã©ã³ãã«ããã·ã¥ããŸã
𧪠éçº
ãã¹ãã®å®è¡
# Install dev dependencies
pip install -r requirements-dev.txt
# Run tests with coverage
pytest --cov=mcp_server --cov=main
# Run linting and formatting
pre-commit run --all-files
ãããžã§ã¯ãæ§æ
mcp/
âââ main.py # Gradio MCP server (mcp_server=True)
âââ app.py # MCP tools for Gradio registration
âââ main_stdio.py # FastMCP server (STDIO transport for Claude Desktop)
âââ mcp_server/ # Core server implementation
â âââ server.py # Main server logic
â âââ mcp_tools.py # All 14 MCP tool definitions
â âââ strategies/ # E-commerce platform strategies
â âââ base.py # Base strategy interface
â âââ mock_strategy.py # Mock data strategy
âââ tests/ # Comprehensive test suite
â âââ unit/ # Unit tests (96%+ coverage)
â âââ integration/ # Integration tests
âââ static/ # Web UI assets
â âââ index.html # Server info and documentation page
âââ requirements.txt # Python dependencies
âââ requirements-dev.txt # Development dependencies
âââ pyproject.toml # Project configuration
ð§ èšå®
ç°å¢å€æ°
çŸåšã¯ãã¢çšã®ã¢ãã¯ããŒã¿ã䜿çšããŠããŸããæ¬çªç°å¢ã§ã¯ã次ã®é ç®ãèšå®ããŠãã ããã
ECOMMERCE_PLATFORMïŒäœ¿çšãããã©ãããã©ãŒã ïŒäŸïŒãshopifyãããmagentoãïŒ- ãã©ãããã©ãŒã åºæã®èªèšŒæ å ±ïŒAPI ããŒããšã³ããã€ã³ããªã©ïŒ
æ°ãã E ã³ããŒã¹ãã©ãããã©ãŒã ã®è¿œå
mcp_server/strategies/ã«æ°ããã¹ãã©ããžãŒãäœæããŸãã
from .base import EcommerceStrategy
class ShopifyStrategy(EcommerceStrategy):
async def get_order(self, order_id: str):
# Implement Shopify API integration
pass
- èšå®ã«ã¹ãã©ããžãŒãç»é²ããŸã
- èªèšŒæ å ±ãšãšã³ããã€ã³ããèšå®ããŸã
ð ã©ã€ã»ã³ã¹
MIT ã©ã€ã»ã³ã¹ - 詳现㯠LICENSE ãã¡ã€ã«ãã芧ãã ããã
ð€ ã³ã³ããªãã¥ãŒã·ã§ã³
- ãªããžããªããã©ãŒã¯ããŸã
- æ©èœãã©ã³ããäœæããŸãïŒ
git checkout -b feature/amazing-featureïŒ - 倿Žãã³ãããããŸãïŒ
git commit -m 'Add amazing feature'ïŒ - ãã©ã³ãã«ããã·ã¥ããŸãïŒ
git push origin feature/amazing-featureïŒ - ãã«ãªã¯ãšã¹ããäœæããŸã
ð ãã©ãã«ã·ã¥ãŒãã£ã³ã°
ããããåé¡
-
Claude Desktop ã«ããŒã«ã衚瀺ãããªã
- èšå®ãã¡ã€ã«ã®ãã¹ãšæ§æã確èªããŸã
main_stdio.pyãžã®çµ¶å¯Ÿãã¹ãæå®ããŠããããšã確èªããŸã- Python ç°å¢ã«ãã¹ãŠã®äŸåé¢ä¿ãã€ã³ã¹ããŒã«ãããŠããããšã確èªããŸã
- èšå®ã倿ŽããåŸãClaude Desktop ãåèµ·åããŸã
-
ãµãŒããŒãžã®æ¥ç¶ã«é¢ããåé¡
- ãµãŒããŒãæ£ããããŒãã§å®è¡ãããŠããããšã確èªããŸã
- ããŒã«ã«éçºã§ã¯ãã¡ã€ã¢ãŠã©ãŒã«ã®èšå®ã確èªããŸã
- SSE ãšã³ããã€ã³ãã«ã¢ã¯ã»ã¹ã§ããããšã確èªããŸã
-
ã€ã³ããŒããšã©ãŒãŸãã¯äŸåé¢ä¿ã®äžè¶³
- ä»®æ³ç°å¢ãæå¹ã«ããŸã
pip install -r requirements.txtãå®è¡ããŸã- Python 3.10 以éãã€ã³ã¹ããŒã«ãããŠããããšã確èªããŸã
èšå®ã®ãã¹ã
ããŒã«ã«ã®ã»ããã¢ããããã¹ãããŸãã
# Test STDIO version
python main_stdio.py
# Test SSE version
python main.py
# Then visit http://localhost:7860
ð ãªãœãŒã¹
- ãããžã§ã¯ããªããžããªïŒ https://github.com/slavpilus/mcp
- MCP ããã¥ã¡ã³ãïŒ Model Context Protocol
- FastMCP ããã¥ã¡ã³ãïŒ FastMCP GitHub
- Hugging Face SpacesïŒ HF Spaces ããã¥ã¡ã³ã
ð è¬èŸ
Enneagora ã¯ãHugging Face MCP Hackathon ã®äžç°ãšããŠãå æ¬ç㪠AI ãæŽ»çšããã«ã¹ã¿ããŒãµããŒãã·ã¹ãã ã®æ§ç¯ã«ããã Model Context Protocol ã®å¯èœæ§ã瀺ãããã«éçºãããŸãããMCP ã AI ã¢ã·ã¹ã¿ã³ããšå®éã® E ã³ããŒã¹æ¥åã®éãã©ã®ããã«æ©æž¡ãã§ãããã玹ä»ããŠããŸãã
玹ä»ããŠããäž»ãªæ©èœïŒ
- å æ¬çãªããŒã«ãšã³ã·ã¹ãã ïŒçžäºã«é£æºãã 14 åã®ããŒã«ïŒ
- ã€ã³ããªãžã§ã³ããªåäœãã¿ãŒã³ãåããåçãªã¢ãã¯ããŒã¿
- ãã«ããã©ã³ã¹ããŒã察å¿ïŒSSE + STDIOïŒ
- æ¬çªç°å¢å¯Ÿå¿ã®ãããã€ãš CI/CD
- åå®å šãªå®è£ ãš 96% 以äžã®ãã¹ãã«ãã¬ããž
ã³ã¡ã³ã
MCP ã¯åããŠã§ããïŒ
ãããã³ã«ã®æŠèŠããæåã®ãµãŒããŒã®å°å ¥ãŸã§ãããããçåã«ãŸãšããŠçããŸãã
AI ã¢ããªã±ãŒã·ã§ã³ãå€éšã®ããŒã«ãããŒã¿ãœãŒã¹ã«çµ±äžçãªæ¹æ³ã§æ¥ç¶ããããã®ãªãŒãã³ãªãããã³ã«ã§ããã¯ã©ã€ã¢ã³ãã¯ã¢ãã«ãšã®å¯Ÿè©±ãæ ããMCP ãµãŒããŒã¯ããŒã«ã»ãªãœãŒã¹ã»ããã³ãããã³ãã¬ãŒããæäŸããŸããæšæºã¡ãã»ãŒãžã§ããåãããããã1 ã€ã®ãµãŒããŒãè€æ°ã®ã¯ã©ã€ã¢ã³ãã§åå©çšã§ããŸãã