关于 mcp-dharmamitra
mcp-dharmamitra 是通过 Dharmamitra 公共 OCR 接口从图像提取文本的 MCP 服务,适用于藏文、梵文和天城文,并将结果写入本地文件。
主要功能
- 01通过 Dharmamitra 对图像进行 OCR
- 02针对藏文、梵文和天城文优化
- 03可选天城文和藏文转写
- 04将提取的 UTF-8 文本写入文件
适用场景
- 01从藏文手稿图像提取文本
- 02将梵文或天城文图像文字转存为文件
MCP 相关
它向 MCP 客户端提供 `ocr_image` 工具,将本地图像发送至 Dharmamitra OCR 接口,并把识别文本写入指定路径。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
1收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 否 | |
| image_path | string | 是 | |
| instruction | string | 否 | |
| output_path | string | 是 | |
| timeout_seconds | number | 否 | |
| poll_interval_seconds | number | 否 | |
| transliterate_tibetan_to_wylie | boolean | 否 | |
| transliterate_devanagari_to_iast | boolean | 否 |
详细介绍
mcp-dharmamitra
通过公共 Dharmamitra OCR 端点对图像运行 OCR,并将提取的 文本写入本地文件。针对藏文/梵文/天城文输入进行了优化。
工具
ocr_image
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
image_path | str | — | 本地图像的绝对路径(png/jpg/…)。 |
output_path | str | — | 用于写入 UTF-8 文本的文件。会创建父目录。 |
transliterate_devanagari_to_iast | bool | false | 传递给 API。 |
transliterate_tibetan_to_wylie | bool | false | 传递给 API。 |
instruction | str | "" | 可选的模型指令。 |
model | str | "auto" | OCR 模型 ID。 |
poll_interval_seconds | float | 2.0 | 状态轮询之间的延迟。 |
timeout_seconds | float | 300.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 会轮换该值。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。