内容
# mcp-server-moegirl-wiki
[](https://pypi.org/project/mcp-server-moegirl-wiki/)
[](LICENSE)
英文 | [简体中文](README.zh-CN.md)
MCP 服务器,用于 [萌娘百科 (Moegirl Wiki)](https://zh.moegirl.org.cn/)。两个工具:搜索词条和获取页面的简介。
## 安装
```bash
uvx mcp-server-moegirl-wiki # 推荐
pipx run mcp-server-moegirl-wiki
pip install mcp-server-moegirl-wiki
```
## 工具
### `search_moegirl(关键词: 字符串, 限制: 整数 = 5)`
返回 `{"结果": [{"标题", "网址", "摘要"}, ...], "总数": 整数}`。
### `get_page(标题: 字符串, 最大长度: 整数 = 6250)`
返回 `{"标题", "内容", "网址", "页面ID"}` — 页面的完整纯文本渲染(所有章节,模板展开,链接解析)。自动跟随重定向。`内容`被截断为 `最大长度` 个字符;默认 6250 涵盖一个典型的字符页面,传递更大的值(例如 20000)用于非常长的页面。
## 环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
| `MOEGIRL_MAX_LENGTH` | `6250` | `get_page` 的默认 `最大长度`,当调用者未指定时。有助于在不分叉包的情况下针对每个部署进行调整。无效/非正值被忽略并带有警告。 |
## 配置
### Claude Desktop
```json
{
"mcpServers": {
"moegirl-wiki": {
"命令": "uvx",
"参数": ["mcp-server-moegirl-wiki"]
}
}
}
```
### MaiBot (`config/bot_config.toml`)
MaiBot 的默认配置已经包含 `[mcp]` 块 — 只需替换 `servers` 行:
```toml
servers = [{名称 = "moegirl", 已启用 = true, 传输 = "stdio", 命令 = "uvx", 参数 = ["mcp-server-moegirl-wiki"], 环境 = {MOEGIRL_MAX_LENGTH = "6250"}, 网址 = "", 头部 = {}, HTTP超时秒数 = 30.0, 读取超时秒数 = 300.0, 授权 = {模式 = "无", 承载令牌 = ""}}]
```
根据需要调整 `MOEGIRL_MAX_LENGTH`(提高到 `20000` 以适应非常长的页面,降低到 `1500` 以适应快速查找)。如果 `uvx` 不在 `PATH` 中,请将 `命令`/`参数` 替换为 `命令 = "pipx", 参数 = ["run", "mcp-server-moegirl-wiki"]`。
## 开发
```bash
git clone https://github.com/XXXxx7258/mcp-server-moegirl-wiki
cd mcp-server-moegirl-wiki
uv sync --group dev
uv run pytest -m network
uv run ruff check .
```
## 限制
- `get_page` 返回渲染的纯文本(模板展开,链接解析)。原始维基文本(`prop=revisions`、`action=parse`、`?action=raw`、`Special:Export`)被 Moegirl Wiki 的全站 ACL 阻止 — 经验证,机器人密码登录 **无法** 解锁它;只有 `sysop`/管理员组可以调用这些操作。
- 使用 `mzh.moegirl.org.cn` 镜像。
## 许可证
[MIT](LICENSE)