loading…
Search for a command to run...
loading…
Enables AI assistants to interact with Magic-API development environment, supporting script syntax query, API management, debugging, and knowledge search for ef
Enables AI assistants to interact with Magic-API development environment, supporting script syntax query, API management, debugging, and knowledge search for efficient development.
Add to Cursor Add to VS Code Add to Claude Add to ChatGPT Add to Codex Add to Gemini
本项目集成了 Model Context Protocol (MCP) 功能,为 Magic-API 开发提供高级交互能力。
# 如果尚未安装 uv (推荐方式)
pip install uv
# 安装项目依赖
uv sync
# 或者安装 fastmcp
uv add fastmcp
{
"mcpServers": {
"magic-api-mcp-server": {
"command": "uvx",
"args": ["magic-api-mcp-server@latest", "--transport", "stdio"],
"timeout": 600
}
}
}
{
"mcpServers": {
"magic-api-mcp-server": {
"command": "uvx",
"args": ["magic-api-mcp-server@latest", "--transport", "stdio"],
"timeout": 600,
"env": {
"MAGIC_API_BASE_URL": "http://127.0.0.1:10712",
"MAGIC_API_WS_URL": "ws://127.0.0.1:10712/magic/web/console",
"MAGIC_API_TIMEOUT_SECONDS": "30.0",
"LOG_LEVEL": "INFO"
}
}
}
}
当使用支持 MCP 的 AI 助手(如 Claude Desktop、Cursor 等)时,请务必使用以下提示词让助手了解 Magic-API MCP Server 的功能和用途。
你现在是一个专业的 Magic-API 开发者助手,具备强大的 MCP (Model Context Protocol) 工具(Magic-API MCP Server)支持。
## 🎯 你的核心职能
- 提供 Magic-API 脚本语法指导和最佳实践
- 帮助用户编写高效的数据库查询和业务逻辑
- 解答 Magic-API 配置和部署相关问题
- 提供代码示例和调试建议
## ⚠️ 强制要求:代码编写前语法规则获取
**重要:** 在编写任何 Magic-Script 代码前,你必须首先调用 `get_full_magic_script_syntax` 工具获取完整的语法规则。
Magic-Script 是一种小众语言,具有独特的语法规则,不遵循标准 JavaScript 或 Java 语法。
不获取完整语法规则而直接编写代码将导致严重的语法错误。
**重要:** 在API脚本开发(create/edit API scripts)编写编辑脚本前,你必须:
1. 调用 `get_full_magic_script_syntax` 获取完整的 Magic-Script 语法规则
2. 调用 `get_development_workflow` 获取开发工作流指南
3. 遵循标准化的开发流程:准备→信息采集→执行→校验→总结
## 🧭 MagicAPI MCP Agent 核心工作流
> 流转需按顺序推进,用户可随时指令跳转。
按照以下流程调用 MCP 工具,确保每一步都有依据:
- **[需求洞察]** → `search_knowledge`、`get_development_workflow`,识别目标场景与约束
- **语法对齐** → `get_full_magic_script_syntax`、`get_script_syntax`,确认Magic-Script写法
- **[资源定位]** → `get_resource_tree`、`get_api_details_by_path`、`search_api_endpoints`,查阅现有资产
- **[实现与调试]** → `create_api_resource`、`replace_api_script`、`call_magic_api`、`call_api_with_debug`、`set_breakpoint`,落实代码并验证
- **[结果反馈]** → `get_practices_guide`、`get_common_pitfalls`、`list_backups`,输出结论并保证可回溯
## 🛠️ 可用工具能力
在本文档第 3 节中详细介绍了所有可用工具,包括:
- **文档工具** (DocumentationTools): 语法、文档、示例、最佳实践等
- **API 工具** (ApiTools): 接口调用和测试
- **资源管理工具** (ResourceManagementTools): 资源的CRUD操作
- **查询工具** (QueryTools): 资源检索
- **调试工具** (DebugTools): 断点管理
- **搜索工具** (SearchTools): 内容搜索
- **备份工具** (BackupTools): 数据备份管理
- **类方法工具** (ClassMethodTools): Java类和方法查询
- **系统工具** (SystemTools): 系统元信息查询
详情请参见下方第 3 节 "本项目 MCP 工具功能"。
## 📋 使用指南
##### 问题分析
首先理解用户的需求和上下文,再选择合适的工具。
##### 知识搜索策略
🔍 **当你不确定某个功能或语法时,优先使用搜索工具:**
- 调用 `search_knowledge` 进行全文搜索,关键词可以是功能名称、语法关键词等
- 例如:搜索"数据库连接"、"缓存使用"、"文件上传"等
- 可以限定搜索分类:syntax(语法)、modules(模块)、functions(函数)、web_docs(文档)等
##### 最佳实践
- 🔍 **遇到不确定的问题时,先搜索知识库**
- 📚 优先使用文档查询工具了解功能
- 🔍 开发时先用查询工具了解现有资源
- 🐛 调试时设置断点逐步排查问题
- 💾 重要的变更操作前先备份
##### 错误处理
- 🔍 遇到未知错误时,使用 `search_knowledge` 搜索相关解决方案
- 🌐 网络错误时检查 Magic-API 服务状态
- 🔐 权限错误时确认用户认证配置
- 📁 资源不存在时先用查询工具确认路径
## ⚠️ 注意事项
- 所有工具都支持中文和英文参数
- API 调用支持自定义请求头和参数
记住:你现在具备了完整的 Magic-API 开发工具链,可以为用户提供专业、高效的开发支持!
你是一个专业的 Magic-API 开发者助手,拥有以下 MCP 工具:
⚠️ 强制要求:
- 编写任何 Magic-Script 代码前必须先调用 get_full_magic_script_syntax 获取完整语法规则!
- API脚本开发(create/edit API scripts)编写编辑脚本前必须调用 get_development_workflow 获取工作流指南!
📚 文档查询: get_full_magic_script_syntax[强制], get_development_workflow[强制], search_knowledge[推荐], get_script_syntax, get_module_api, get_best_practices, get_examples
🔧 API 调用: call_magic_api
📁 资源管理: get_resource_tree, create_api_resource, delete_resource
🔍 查询工具: get_api_details_by_path, get_api_details_by_id, search_api_endpoints
🐛 调试工具: set_breakpoint, resume_breakpoint_execution, call_api_with_debug
🔎 搜索工具: search_api_scripts, search_todo_comments
💾 备份工具: list_backups, create_full_backup, rollback_backup
⚙️ 系统工具: get_assistant_metadata
🔍 不确定时优先使用 search_knowledge 搜索知识库,代码编写前必须获取完整语法规则。
🧭 按核心工作流顺序完成需求洞察→语法对齐→资源定位→实现调试→结果反馈。
{
"mcpServers": {
"magic-api-mcp-server": {
"command": "uvx",
"args": ["magic-api-mcp-server@latest", "--transport", "stdio"],
"timeout": 600,
"env": {
"MAGIC_API_BASE_URL": "http://127.0.0.1:10712",
"MAGIC_API_WS_URL": "ws://127.0.0.1:10712/magic/web/console"
}
}
}
}
本项目 MCP 服务器专为 Magic-API 开发者设计,提供了一套完整的工作流工具,从脚本编写、API 管理到调试和部署,全方位提升开发效率。
Magic-API MCP Server 提供了可复用的提示词模板,帮助您快速配置专业的 Magic-API 开发者助手。
生成专业的 Magic-API 开发者助手提示词,包含:
使用方法:
# 通过 MCP 客户端调用
prompt = await client.get_prompt("magic_api_developer_guide")
content = prompt.messages[0].content.text
适用场景:
本项目支持多种工具组合,可根据需要选择:
full: 完整工具集 - 适用于完整开发环境 (默认)minimal: 最小工具集 - 适用于资源受限环境development: 开发工具集 - 专注于开发调试production: 生产工具集 - 生产环境稳定运行documentation_only: 仅文档工具 - 文档查询和学习api_only: 仅API工具 - 接口测试和调用backup_only: 仅备份工具 - 数据备份和管理class_method_only: 仅类方法工具 - Java类和方法查询search_only: 仅搜索工具 - 快速搜索定位工具组合使用场景:
| 场景 | 组合模式 | 适用环境 | 特点 |
|---|---|---|---|
| 新手学习 | documentation_only |
学习阶段 | 专注文档查询和语法学习 |
| API开发 | development |
开发环境 | 接口开发、测试和调试 |
| 生产运维 | production |
生产环境 | 系统运维和资源管理 |
| 问题调试 | minimal |
调试场景 | 问题排查,启用DEBUG日志 |
基础配置模板:
{
"mcpServers": {
"magic-api-server": {
"command": "uvx",
"args": ["magic-api-mcp-server@latest", "--composition", "{组合模式}", "--transport", "stdio"],
"timeout": 600
}
}
}
Magic-API MCP 服务器为 Magic-API 开发提供以下专业工具:
系统信息和元数据工具
文档查询与知识库工具,覆盖语法、实践、示例与流程
API调用和测试工具,支持灵活的接口调用和测试
Magic-API MCP Server 支持多种API响应格式的智能成功/失败判断:
优先级顺序:
message="success" - 最高优先级,直接匹配message字段是否等于"success"支持的响应格式示例:
// 标准格式
{"code": 1, "message": "success", "data": {...}}
// 自定义状态码
{"code": 200, "message": "ok", "data": {...}}
// Message优先(最高优先级)
{"code": 500, "message": "success", "data": {...}} // 仍然成功!
{"code": 1, "message": "operation failed", "data": {...}} // 失败!
// 自定义格式
{"status": 1, "msg": "success", "body": {...}}
// 错误响应
{"code": 500, "message": "Internal Error", "data": {...}}
{"error": "something went wrong"}
配置方式:
# 通过环境变量配置成功状态码和消息
MAGIC_API_SUCCESS_CODE=200
MAGIC_API_SUCCESS_MESSAGE=ok
MAGIC_API_INVALID_CODE=400
MAGIC_API_EXCEPTION_CODE=500
完整的资源管理系统,支持资源树查询与批量操作
高效的资源查询和检索工具
强大的调试功能,支持断点管理和调试会话
内容搜索与定位
完整的备份管理功能
Java类和方法检索工具
智能代码生成功能(需启用后使用)
提供可复用的提示词模板,确保助手严格遵循 MCP 工具化流程
magicapi_tools/utils/kb_practices.py 新增 "mcp_tool_driven" 等工作流,调用 get_development_workflow 或 get_practices_guide 时可获取:
search_knowledge 工具进行知识库全文搜索,确保获取最新和准确的信息。magic_api_developer_guide 提示词,可让大模型在对话中主动引用工具证据,输出可验证的结论。| 变量 | 用途 | 值 | 默认值 |
|---|---|---|---|
| MAGIC_API_BASE_URL | Magic-API 服务基础 URL | URL 地址 | http://127.0.0.1:10712 |
| MAGIC_API_WS_URL | Magic-API WebSocket URL | WebSocket 地址 | ws://127.0.0.1:10712/magic/web/console |
| MAGIC_API_USERNAME | Magic-API 认证用户名 | 字符串 | 无 |
| MAGIC_API_PASSWORD | Magic-API 认证密码 | 字符串 | 无 |
| MAGIC_API_TOKEN | Magic-API 认证令牌 | 字符串 | 无 |
| MAGIC_API_AUTH_ENABLED | 是否启用认证 | true/false | false |
| MAGIC_API_TIMEOUT_SECONDS | 请求超时时间(秒) | 数字 | 30.0 |
| MAGIC_API_SUCCESS_CODE | API成功状态码 | 数字 | 1 |
| MAGIC_API_SUCCESS_MESSAGE | API成功消息文本 | 字符串 | success |
| MAGIC_API_INVALID_CODE | 参数验证失败状态码 | 数字 | 0 |
| MAGIC_API_EXCEPTION_CODE | 系统异常状态码 | 数字 | -1 |
| LOG_LEVEL | 日志级别 | DEBUG/INFO/WARNING/ERROR | INFO |
| FASTMCP_TRANSPORT | FastMCP 传输协议 | stdio/http | stdio |
# 推荐方式:使用 uvx 运行最新版本(适用于已发布到 pip 的包)
uvx magic-api-mcp-server@latest
# 或安装后使用本地命令
magic-api-mcp-server
# 或者直接运行 Python 脚本(开发时)
uv run fastmcp run run_mcp.py:mcp --transport http --port 8000
# 指定工具组合运行
uvx magic-api-mcp-server@latest --composition development
# 使用特定配置运行
MAGIC_API_BASE_URL=http://localhost:8080 uvx magic-api-mcp-server@latest
# 使用 Makefile 命令 (推荐,简化操作)
make quick-start # 快速启动开发环境
make deploy # 生产环境部署
make logs # 查看日志
make status # 查看状态
make shell # 进入容器
make test # 运行测试
# 或直接使用 docker-compose 命令
# 1. 构建并启动服务
docker-compose up -d
# 2. 查看日志
docker-compose logs -f magic-api-mcp-server
# 3. 停止服务
docker-compose down
# 4. 重启服务
docker-compose restart magic-api-mcp-server
# 1. 构建镜像
docker build -t magic-api-mcp-server .
# 2. 运行容器 (stdio模式)
docker run --rm --entrypoint uvx magic-api-mcp-server \
magic-api-mcp-server@latest --composition full --transport stdio
# 3. 运行容器 (HTTP模式)
docker run -d --name magic-api-mcp-server \
-p 8000:8000 \
--entrypoint uvx magic-api-mcp-server \
magic-api-mcp-server@latest --transport http --port 8000
# 4. 查看日志
docker logs -f magic-api-mcp-server
# 5. 停止容器
docker stop magic-api-mcp-server
基于 uvx 的优势:
生产环境配置 (docker-compose.yml):
开发环境配置 (docker-compose.override.yml):
| 变量 | 描述 | 默认值 |
|---|---|---|
MAGIC_API_BASE_URL |
Magic-API 服务基础 URL | http://host.docker.internal:10712 |
MAGIC_API_WS_URL |
Magic-API WebSocket URL | ws://host.docker.internal:10712/magic/web/console |
MAGIC_API_USERNAME |
认证用户名 | 无 |
MAGIC_API_PASSWORD |
认证密码 | 无 |
MAGIC_API_TOKEN |
认证令牌 | 无 |
MAGIC_API_AUTH_ENABLED |
是否启用认证 | false |
MAGIC_API_TIMEOUT_SECONDS |
请求超时时间 | 30.0 |
MAGIC_API_SUCCESS_CODE |
API成功状态码 | 1 |
MAGIC_API_SUCCESS_MESSAGE |
API成功消息文本 | success |
MAGIC_API_INVALID_CODE |
参数验证失败状态码 | 0 |
MAGIC_API_EXCEPTION_CODE |
系统异常状态码 | -1 |
LOG_LEVEL |
日志级别 | INFO |
FASTMCP_TRANSPORT |
MCP传输协议 | stdio |
host.docker.internal 访问宿主机服务host.docker.internaldocker network 创建专用网络如果遇到网络证书验证问题,请尝试以下解决方案:
方案1: 使用国内镜像源
# 修改Dockerfile添加国内镜像源
RUN sed -i 's/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list.d/debian.sources
RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/
方案2: 配置Docker代理
# 创建或修改 ~/.docker/config.json
{
"proxies": {
"default": {
"httpProxy": "http://127.0.0.1:7897",
"httpsProxy": "http://127.0.0.1:7897",
"noProxy": "localhost,127.0.0.1"
}
}
}
方案3: 跳过TLS验证 (仅用于测试)
# 临时跳过TLS验证构建
docker build --build-arg DOCKER_TLS_VERIFY=0 -t magic-api-mcp-server:test .
方案4: 使用预构建镜像
# 如果网络问题持续,可考虑使用预构建的基础镜像
# 或者在有稳定网络的环境中构建
# 使用 Makefile 命令 (推荐)
make status # 查看容器状态
make shell # 进入容器调试
make logs-tail # 查看详细日志
make test # 运行健康检查
make test-connection # 测试与 Magic-API 连接
make clean-all # 清理所有资源
# 或直接使用 docker/docker-compose 命令
# 查看容器状态
docker-compose ps
# 进入容器调试
docker-compose exec magic-api-mcp-server bash
# 查看详细日志
docker-compose logs --tail=100 magic-api-mcp-server
# 清理容器和镜像
docker-compose down --rmi all --volumes
magicapi_mcp/
├── magicapi_assistant.py # 主要的 MCP 助手实现
├── tool_registry.py # 工具注册表
├── tool_composer.py # 工具组合器
└── settings.py # 配置设置
magicapi_tools/
├── tools/ # 各种 MCP 工具
│ ├── system.py # 系统工具 (元信息查询)
│ ├── documentation.py # 文档工具 (知识库查询)
│ ├── api.py # API工具 (接口调用)
│ ├── resource.py # 资源管理工具 (CRUD操作)
│ ├── query.py # 查询工具 (资源检索)
│ ├── debug.py # 调试工具 (断点管理)
│ ├── search.py # 搜索工具 (内容搜索)
│ ├── backup.py # 备份工具 (数据备份)
│ ├── class_method.py # 类方法工具 (Java类查询)
│ ├── code_generation.py # 代码生成工具 (当前禁用)
│ └── common.py # 通用辅助函数
└── utils/ # 工具助手功能
├── knowledge_base.py # 知识库接口
├── response.py # 标准化响应
├── http_client.py # HTTP 客户端
└── resource_manager.py # 资源管理器
# 安装已发布的包
pip install magic-api-mcp-server
# 或使用 uv 安装
uv add magic-api-mcp-server
# 运行 MCP 服务器(推荐使用最新版本)
uvx magic-api-mcp-server@latest
# 或使用安装后的命令
magic-api-mcp-server
# 本项目已包含完整的 MCP 实现
cd magic-api-mcp-server
# 安装项目依赖(开发时)
uv sync
# 安装 fastmcp 依赖
uv add fastmcp
# 本地运行(开发时)
python run_mcp.py
magicapi_mcp/
├── magicapi_assistant.py # 主要的 MCP 助手实现
├── tool_registry.py # 工具注册表
├── tool_composer.py # 工具组合器
└── settings.py # 配置设置
magicapi_tools/
├── tools/ # 各种 MCP 工具
│ ├── documentation.py # 文档相关工具
│ ├── api.py # API 相关工具
│ ├── code_generation.py # 代码生成工具 (当前已禁用)
│ ├── query.py # 查询工具
│ ├── backup.py # 备份工具
│ ├── class_method.py # 类方法工具
│ ├── debug.py # 调试工具
│ ├── resource.py # 资源管理工具
│ ├── search.py # 搜索工具
│ └── system.py # 系统工具
└── utils/ # 工具助手功能
├── knowledge_base.py # 知识库接口
├── response.py # 标准化响应
├── http_client.py # HTTP 客户端
└── resource_manager.py # 资源管理器
Выполни в терминале:
claude mcp add magic-api-mcp-server -- npx Безопасность
Низкий рискАвтоматическая эвристика по публичным данным — не гарантия безопасности.