一个本地STDIO MCP服务器,提供工具从OpenAPI(swagger)规范中搜索和检索Magento 2 REST API文档。
cd magento-api-mcp
pip install -e .
magento-api-mcp
服务器立即启动,并在首次运行或文件被修改时解析swagger.json文件。
~/.mcp/magento-api/database.db
MAGENTO_API_DB_PATH环境变量覆盖data/swagger.json
MAGENTO_API_SWAGGER_PATH环境变量覆盖配置您的MCP客户端以运行magento-api-mcp命令:
{
"mcpServers": {
"magento-api": {
"command": "magento-api-mcp"
}
}
}
或者使用自定义的swagger文件:
{
"mcpServers": {
"magento-api": {
"command": "magento-api-mcp",
"env": {
"MAGENTO_API_SWAGGER_PATH": "/path/to/your/swagger.json"
}
}
}
}
search_endpoints通过关键词搜索API端点。
参数:
queries:1到3个短关键词查询列表(例如,["cart", "customer")]filter_by_method:可选的HTTP方法过滤器(GET, POST, PUT, DELETE)filter_by_tag:可选的类别过滤器(例如,“carts/mine”)示例:
search_endpoints(queries=["cart operations"], filter_by_method="GET")
get_endpoint_details获取特定端点的完整文档。
参数:
path:确切的API路径(例如,“/V1/carts/mine”)method:可选的HTTP方法(如果省略,则返回该路径的所有方法)示例:
get_endpoint_details(path="/V1/carts/mine", method="GET")
返回:
list_tags列出所有可用的API类别标签。
返回: 所有端点类别的层次列表及其计数。
search_schemas通过关键词搜索数据模式/模型。
参数:
query:要搜索的关键词示例:
search_schemas(query="customer")
get_schema获取模式/模型的完整定义。
参数:
schema_name:确切的模式名称(例如,“quote-data-cart-interface”)返回: 包含类型、描述及所有属性的完整模式,以JSON格式呈现。
独立测试每个组件:
# 测试OpenAPI解析器
python3 tests/verify_parser.py
# 测试数据库导入
python3 tests/verify_db.py
# 测试MCP服务器及所有工具
python3 tests/verify_server.py
服务器使用SQLite,具有以下表:
| 查询 | 工具 | 目的 |
|---|---|---|
["cart"] | search_endpoints | 查找所有与购物车相关的端点 |
["customer", "authentication"] | search_endpoints | 查找客户认证端点 |
/V1/carts/mine | get_endpoint_details | 获取完整的购物车端点文档 |
customer | search_schemas | 查找与客户相关的模式 |
quote-data-cart-interface | get_schema | 查看购物车数据结构 |
magento-api-mcp/
├── magento_api_mcp/
│ ├── __init__.py
│ ├── config.py # 配置
│ ├── parser.py # OpenAPI解析器
│ ├── ingest.py # 数据库导入
│ └── server.py # 带有工具的MCP服务器
├── tests/
│ ├── verify_parser.py # 解析器验证
│ ├── verify_db.py # 数据库验证
│ └── verify_server.py # 服务器验证
├── data/
│ └── swagger.json # OpenAPI规范
├── pyproject.toml
└── README.md
要添加新的MCP工具,请编辑magento_api_mcp/server.py并使用@mcp.tool()装饰器。
服务器可以与任何OpenAPI 3.0的swagger文件一起工作。只需设置MAGENTO_API_SWAGGER_PATH环境变量:
export MAGENTO_API_SWAGGER_PATH=/path/to/different-api-swagger.json
magento-api-mcp
MIT
欢迎贡献!请在提交更改之前使用验证脚本测试所有更改。
对于问题或疑问,请检查: