GLM API服务

GLM-MCP是一款为ZhipuAI GLM提供多功能的API服务,支持聊天、文本嵌入、翻译、视觉分析和OCR等功能,适用于开发者和AI应用集成。

  • by sky-zhang01
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 sky-zhang01/glm-mcp

使用说明

glm-mcp

MCP服务器 珠宝 GLM -通过兼容OpenAI的API向Claude Code(以及任何兼容MCP的客户端)公开聊天、文本嵌入、翻译、视觉和OCR。

工具

工具 说明
glm_chat 文本补全--默认模型 glm-4-flash,通过 model= 使用任何GLM聊天模型(例如。 glm-5).支持单圈和多圈(messages= 参数)。取样: temperature=0.7, top_p=0.95 (通过 top_p=None 省略)。通过以下方式自动回退瞬态错误(429/503/超时/连接) auto_fallback=True (默认)。使用 avoid_peak_hours=True 在高峰时段(UTC+8 14:00–18:00)提前切换。
glm_embed 文本嵌入——默认模型 embedding-3,通过 model= 覆盖
glm_usage_summary 查询令牌使用情况 ~/.glm-mcp/usage.jsonl.参数: days (默认值7), model (可选过滤器)。返回周期、总令牌、by_tool、by_model。
glm_translate 纯单语言翻译——默认模式 glm-4.7.参数: text, target_lang ("ja", "zh", "en"), source_lang (默认值 "auto"), style ("formal" 或 "casual",默认值 "formal").取样: temperature=1.0, top_p=0.8 (GLM-4.7方案B:top_p为主控;通过 top_p=None 省略)。仅输出目标语言,解决了一般LLM常见的中日混合输出问题。
glm_vision 多模态图像分析——默认模型 glm-4.6v.参数: image_url (HTTP/HTTPS URL或Base64字符串), prompt, detail ("auto", "low", "high"), max_tokens (默认值2048)。取样: temperature=0.2, top_p=0.9 (重点稳定分析;通过 top_p=None 省略)。自动回退到 glm-4.6v-flash 429/503/超时。裸露的Base64字符串会自动前缀为 data:image/png;base64,.
glm_ocr 文档和图像OCR——默认模型 glm-ocr.参数: file (HTTP/HTTPS URL,Base64字符串, data: URI或本地文件路径), model, start_page_id, end_page_id。将提取的文本作为Markdown返回。本地文件自动编码为Base64;裸露的Base64字符串前缀为 data:application/pdf;base64,.

快速开始

通过uvx安装(推荐)

uvx glm-mcp

添加到克劳德代码

增添 ~/.claude.json:

{
  "mcpServers": {
    "glm-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": ["glm-mcp"],
      "env": {
        "GLM_API_KEY": "your_api_key_here"
      }
    }
  }
}

获取API密钥: https://open.bigmodel.cn/.

从源代码运行

git clone https://github.com/sky-zhang01/glm-mcp
cd glm-mcp
uv sync
GLM_API_KEY=your_key uv run glm-mcp

环境变量

变量 必填 默认 描述
GLM_API_KEY 是 - 智普爱API密钥
GLM_BASE_URL 没有 https://open.bigmodel.cn/api/paas/v4/ API终结点覆盖
GLM_MCP_LOG_DIR 没有 ~/.glm-mcp/ 目录 usage.jsonl 令牌日志

令牌使用记录

每个工具调用都会向以下对象附加一行JSON ~/.glm-mcp/usage.jsonl:

{"timestamp": "...", "tool": "glm_chat", "model": "glm-4-flash", "input_tokens": 13, "output_tokens": 15, "fallback_used": false, "original_model": null, "fallback_reason": null}

当触发回退时:

{"timestamp": "...", "tool": "glm_chat", "model": "glm-4.7", "input_tokens": 13, "output_tokens": 15, "fallback_used": true, "original_model": "GLM-5", "fallback_reason": "429"}

发展

uv sync --dev
uv run pytest --cov=glm_mcp --cov-report=term-missing

许可证

麻省理工学院