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- 复制示例环境文件:
cp .env.example .env- 编辑
.env.
- 对于公共或面向互联网的部署,请保留: - KOTOBANK_AUTH_MODE=required - 并设置非空 KOTOBANK_AUTH_TOKEN - 如果您明确表示不需要令牌,请设置: - KOTOBANK_AUTH_MODE=disabled - 并离开 KOTOBANK_AUTH_TOKEN= 空
- 启动服务:
docker compose up -d- 验证健康状况:
curl -i http://127.0.0.1:3000/healthz
curl -i http://127.0.0.1:3000/readyz- 需要时停止:
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。看 许可证.
