日语词典查询服务

一个可云端部署的HTTP-only MCP服务,用于查询Kotobank日语词典。

  • by HenMie
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 HenMie/kotobankMCP

使用说明

kotobankMCP

英语| 简体中文

用于Kotobank日语词典查找的云部署、仅支持HTTP的MCP服务。

现在有什么船

此存储库现在发货 只有一个主要工件:长期使用的MCP服务器 它在以下位置公开了一个可流式传输的HTTP端点 /mcp.

  • 无前端
  • 没有捆绑的技能包
  • 没有stdio第一主线
  • 包括Docker部署
  • 每个服务实例的进程范围共享运行时/缓存

移动使用需要 具有MCP功能的客户端 可以与远程MCP通信 服务器通过HTTP。普通的浏览器选项卡不能替代MCP客户端。

HTTP服务合同

该服务公开:

  • POST /mcp --流式HTTP MCP端点
  • GET /healthz --活性探针
  • GET /readyz --准备就绪探测器

行为保持明确:

Kotobank search -> candidate ranking -> canonical word page fetch -> article / anchor parsing -> structured result

未添加静默回退。空结果、模糊性、上游故障,以及 DOM漂移被明确地暴露出来。

快速启动

推荐:使用已发布的镜像进行Docker Compose

默认部署路径现在为 Docker Compose+已发布的Docker Hub 图像:

chouann/kotobank-mcp:latest
  1. 复制示例环境文件:
cp .env.example .env
  1. 编辑 .env.

    • 对于公共或面向互联网的部署,请保留:
      • KOTOBANK_AUTH_MODE=required
      • 并设置非空 KOTOBANK_AUTH_TOKEN
    • 如果您明确表示不需要令牌,请设置:
      • KOTOBANK_AUTH_MODE=disabled
      • 并离开 KOTOBANK_AUTH_TOKEN= 空
  2. 启动服务:

docker compose up -d
  1. 验证健康状况:
curl -i http://127.0.0.1:3000/healthz
curl -i http://127.0.0.1:3000/readyz
  1. 需要时停止:
docker compose down

捆绑 docker-compose.yml 拉 chouann/kotobank-mcp:latest 默认情况下。 您可以通过覆盖来固定另一个标签 KOTOBANK_MCP_IMAGE 在 .env.

从源头发展本地

npm install
npm run dev:http

默认开发模式:

  • 继续收听 http://127.0.0.1:8080 除非 KOTOBANK_PORT 或 PORT 已设置
  • 默认情况下,身份验证已禁用 NODE_ENV=development

像本地生产一样从源头开始

npm install
npm run build
NODE_ENV=production KOTOBANK_AUTH_TOKEN=replace-me KOTOBANK_PORT=3000 node dist/index.js

直接运行Docker

docker run --rm \
  -p 3000:3000 \
  -e NODE_ENV=production \
  -e KOTOBANK_AUTH_TOKEN=replace-me \
  chouann/kotobank-mcp:latest

健康检查:

curl -i http://127.0.0.1:3000/healthz
curl -i http://127.0.0.1:3000/readyz

环境变量

变量 默认值 含义
NODE_ENV development production 默认情况下启用身份验证
KOTOBANK_HOST 0.0.0.0 绑定主机
KOTOBANK_PORT 8080 服务端口
PORT unset 云平台的回退端口
KOTOBANK_AUTH_MODE disabled 在dev中, required in prod 承载身份验证策略 /mcp
KOTOBANK_AUTH_TOKEN empty 仅当身份验证模式为 disabled;身份验证模式为时需要 required
KOTOBANK_LOG_LEVEL info 结构化日志详细程度
KOTOBANK_REQUEST_TIMEOUT_MS 15000 上游Kotobank请求超时
KOTOBANK_SHUTDOWN_GRACE_PERIOD_MS 10000 合理的停机预算
KOTOBANK_CACHE_MODE memory 当前版本支持 memory 只有
KOTOBANK_CACHE_TTL_MS 300000 进程中缓存TTL
KOTOBANK_CACHE_MAX_ENTRIES 512 最大进程内缓存条目数
KOTOBANK_RATE_LIMIT_WINDOW_MS 60000 速率限制窗口
KOTOBANK_RATE_LIMIT_MAX_REQUESTS 60 每个窗口允许的每个客户端请求; 0 在此版本中无效

部署说明

  • TLS预计将在您的反向代理/入口终止。
  • 此容器在内部提供纯HTTP。
  • 当前缓存仅是进程本地内存。
  • 没有共享缓存的水平扩展将降低副本之间的缓存命中率。

推荐的部署详细信息:

开发和验证

npm run build
npm test
npm run test:live

许可证

MIT。看 许可证.