mcpField
M
mcp-dharmamitra

mcp-dharmamitra

本地服务
github.com/alex-deus生产力07 周前更新

关于 mcp-dharmamitra

mcp-dharmamitra 是通过 Dharmamitra 公共 OCR 接口从图像提取文本的 MCP 服务,适用于藏文、梵文和天城文,并将结果写入本地文件。

主要功能

  1. 01通过 Dharmamitra 对图像进行 OCR
  2. 02针对藏文、梵文和天城文优化
  3. 03可选天城文和藏文转写
  4. 04将提取的 UTF-8 文本写入文件

适用场景

  1. 01从藏文手稿图像提取文本
  2. 02将梵文或天城文图像文字转存为文件

MCP 相关

它向 MCP 客户端提供 `ocr_image` 工具,将本地图像发送至 Dharmamitra OCR 接口,并把识别文本写入指定路径。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"alex-deus-mcp-dharmamitra": {
"command": "uvx",
"args": [
"mcp-dharmamitra"
],
"env": {
"DHARMAMITRA_COOKIE": "<DHARMAMITRA_COOKIE>"
}
}
}
}
启动命令uvx mcp-dharmamitra
需要配置的环境变量
DHARMAMITRA_COOKIE密钥Optional cf_clearance cookie value. Only needed if requests start returning 403 from Cloudflare.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcp-dharmamitra0.1.0

工具

1

收录的工具列表 · 更新于 2 周前

参数类型必填说明
modelstring否
image_pathstring是
instructionstring否
output_pathstring是
timeout_secondsnumber否
poll_interval_secondsnumber否
transliterate_tibetan_to_wylieboolean否
transliterate_devanagari_to_iastboolean否

详细介绍

mcp-dharmamitra

通过公共 Dharmamitra OCR 端点对图像运行 OCR,并将提取的 文本写入本地文件。针对藏文/梵文/天城文输入进行了优化。

工具

ocr_image
参数类型默认值说明
image_pathstr—本地图像的绝对路径(png/jpg/…)。
output_pathstr—用于写入 UTF-8 文本的文件。会创建父目录。
transliterate_devanagari_to_iastboolfalse传递给 API。
transliterate_tibetan_to_wylieboolfalse传递给 API。
instructionstr""可选的模型指令。
modelstr"auto"OCR 模型 ID。
poll_interval_secondsfloat2.0状态轮询之间的延迟。
timeout_secondsfloat300.0轮询的总截止时间。

返回简短的 JSON 摘要——提取的文本会写入 output_path, 而不会返回给客户端。

{
  "job_id": "b8b26984b3ca49199c28303cad6a144d",
  "output_path": "/abs/path/out.txt",
  "pages": 1,
  "processing_time_seconds": 3.957,
  "chars": 1234
}

从 MCP 注册表安装

该项目已列入官方 Model Context Protocol 注册表,名称为 io.github.alex-deus/mcp-dharmamitra。软件包发布至 PyPI,名称为 mcp-dharmamitra,预期通过 uvx 运行——无需克隆,也无需手动安装。

~/Library/Application Support/Claude/claude_desktop_config.json(或 Claude Code 中对应的 mcp 区块):

{
  "mcpServers": {
    "dharmamitra": {
      "command": "uvx",
      "args": ["mcp-dharmamitra"],
      "env": {"DHARMAMITRA_COOKIE": ""}
    }
  }
}

或者通过 Claude Code CLI:

claude mcp add dharmamitra -e DHARMAMITRA_COOKIE="" -- uvx mcp-dharmamitra

使用 uvx [email protected] 固定特定版本。

从源代码安装

uv sync                           # or: pip install -e '.[dev]'

使用 MCP inspector 在本地运行:

uv run mcp dev src/mcp_dharmamitra/server.py

运行测试:

uv run pytest

从源代码检出后,Claude Desktop 配置项使用本地路径:

{
  "mcpServers": {
    "dharmamitra": {
      "command": "uv",
      "args": ["--directory", "/path/mcp-dharmamitra", "run", "mcp-dharmamitra"],
      "env": {"DHARMAMITRA_COOKIE": ""}
    }
  }
}

Docker

构建镜像:

docker build -t mcp-dharmamitra:latest .

MCP 通过 stdio 通信,因此运行容器时必须使用 -i(不能使用 -t)。挂载一个存放输入图像的主机目录——工具参数 (image_path、output_path)是容器内的路径。

对入口点进行冒烟测试:

docker run --rm --entrypoint python mcp-dharmamitra:latest \
  -c "from mcp_dharmamitra.server import mcp; print(mcp.name)"
将容器接入 Claude Desktop / Claude Code

将 /path/mcp-dharmamitra 替换为你希望工具能够读取/写入的任意主机 目录。该目录中的文件将在容器内显示为 /data。

{
  "mcpServers": {
    "dharmamitra": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-v", "/path/mcp-dharmamitra/data:/data",
        "-e", "DHARMAMITRA_COOKIE",
        "mcp-dharmamitra:latest"
      ],
      "env": {
        "DHARMAMITRA_COOKIE": ""
      }
    }
  }
}

或者通过 CLI 执行相同操作:

claude mcp add dharmamitra \
  --scope project \
  -e DHARMAMITRA_COOKIE="" \
  -- docker run -i --rm \
       -v /path/mcp-dharmamitra/data:/data \
       -e DHARMAMITRA_COOKIE \
       mcp-dharmamitra:latest

调用工具时,请传入容器路径。例如,图像位于 <host>/tmp/text.png → /data/text.png:

{
  "image_path": "/data/text.png",
  "output_path": "/data/text.txt"
}

生成的 text.txt 会出现在挂载的主机目录中。

Cloudflare / cf_clearance

该端点位于 Cloudflare 之后。大多数请求无需任何 cookie 即可通过。如果开始收到 403,请从已登录的浏览器会话中获取新的 cf_clearance 值(会话位于 dharmamitra.org),并将其导出:

export DHARMAMITRA_COOKIE='cf_clearance value here'

服务会在每个请求中将其附加为 cookie。不要将其硬编码—— Cloudflare 会轮换该值。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。