Skip to main content
Glama
LynxBay

magic-api-mcp

by LynxBay

magic-api MCP

让 AI 通过 MCP 操作运行中的 magic-api 实例:接口增删改查 + 运行、分组 / 函数 / 数据源管理,并内置 magic-script 知识。

支持两种部署:

  • stdio:本地跑,Claude 启动子进程(适合个人开发机)

  • http:远程服务,全公司 / 团队共用一个(适合集中部署)

安装

cd magic-api-mcp
npm install
npm run build

Related MCP server: Metabase MCP Server

配置(环境变量)

变量

必填

默认

说明

MAGIC_API_BASE

magic-api 地址,如 http://192.168.33.174:31144

MAGIC_API_WEB

/magic/web

管理端路径(非默认实例要改,如 /medsys/magic/dev

MAGIC_API_TOKEN

*

静态 token

MAGIC_API_USERNAME / MAGIC_API_PASSWORD

*

账号密码(自动 login)

MAGIC_API_READONLY

false

只读模式,禁用写工具

MAGIC_API_PREFIX

接口路径前缀

MAGIC_API_TRANSPORT

stdio

stdiohttp

MAGIC_API_HTTP_PORT

3111

http 模式监听端口

MAGIC_API_HTTP_HOST

0.0.0.0

http 模式监听地址

MAGIC_API_ACCESS_TOKEN

http 模式访问令牌(Bearer),不设则不鉴权

* 鉴权二选一(账号密码优先)。

模式一:stdio(本地,个人用)

Claude 直接启动本地进程。

Claude Code

claude mcp add magic-api --scope user \
  -e MAGIC_API_BASE=http://192.168.33.174:31144 \
  -e MAGIC_API_WEB=/medsys/magic/dev \
  -e MAGIC_API_USERNAME=admin \
  -e MAGIC_API_PASSWORD=medsystem \
  -- node /绝对路径/magic-api-mcp/dist/index.js

Claude Desktopclaude_desktop_config.json

{
  "mcpServers": {
    "magic-api": {
      "command": "node",
      "args": ["/绝对路径/magic-api-mcp/dist/index.js"],
      "env": {
        "MAGIC_API_BASE": "http://192.168.33.174:31144",
        "MAGIC_API_WEB": "/medsys/magic/dev",
        "MAGIC_API_USERNAME": "admin",
        "MAGIC_API_PASSWORD": "medsystem"
      }
    }
  }
}

模式二:http(远程,团队共用)

在一台服务器(如内网)常驻运行,所有人连同一个地址。凭据集中在服务端,客户端无需知道 magic-api 密码。

直接启动

MAGIC_API_TRANSPORT=http \
MAGIC_API_HTTP_PORT=3111 \
MAGIC_API_ACCESS_TOKEN=团队令牌 \
MAGIC_API_BASE=http://192.168.33.174:31144 \
MAGIC_API_WEB=/medsys/magic/dev \
MAGIC_API_USERNAME=admin \
MAGIC_API_PASSWORD=medsystem \
node dist/index.js

常驻(pm2)

pm2 start dist/index.js --name magic-api-mcp
pm2 save && pm2 startup

Docker

docker build -t magic-api-mcp .
docker run -d -p 3111:3111 \
  -e MAGIC_API_BASE=http://192.168.33.174:31144 \
  -e MAGIC_API_WEB=/medsys/magic/dev \
  -e MAGIC_API_USERNAME=admin -e MAGIC_API_PASSWORD=medsystem \
  -e MAGIC_API_ACCESS_TOKEN=团队令牌 \
  magic-api-mcp

同事的 Claude Code 连接

claude mcp add --transport http magic-api http://部署机:3111/mcp \
  --header "Authorization: Bearer 团队令牌"

http 模式为无状态(每个请求独立 transport),适合低频管理操作。强烈建议设置 MAGIC_API_ACCESS_TOKEN,否则任何能访问该端口的人都能操作 magic-api。

工具一览

  • 接口:list_apis get_api create_api update_api_script delete_api run_api

  • 分组:list_groups create_group

  • 函数:list_functions get_function

  • 数据源:list_datasources

  • 知识:magic_script_help search_code

只读模式(MAGIC_API_READONLY=true)下,写工具被隐藏并在调用时拒绝。

冒烟测试

手动脚本(只读,对真实实例):

MAGIC_API_BASE=... MAGIC_API_WEB=... MAGIC_API_USERNAME=... MAGIC_API_PASSWORD=... \
node scripts/smoke.mjs

或接进 Claude 后试:「列出所有接口分组,看看 getPrintData 的脚本」。

开发

npm test        # 单元 + 集成(40 测试)
npm run dev     # tsx 直跑(stdio)
npm run build
Install Server
F
license - not found
B
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/LynxBay/magic-api-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server