Mcp Server Moegirl Wiki — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mcp Server Moegirl Wiki (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
English | 简体中文
MCP server for 萌娘百科 (Moegirl Wiki). Two tools: search entries and fetch a page's intro.
Requires the MCP Python SDK 2.x (mcp>=2,<3); see Compatibility if you are still on 0.2.x.
uvx mcp-server-moegirl-wiki # recommended
pipx run mcp-server-moegirl-wiki
pip install mcp-server-moegirl-wikisearch_moegirl(keyword: str, limit: int = 5)Returns {"results": [{"title", "url", "snippet"}, ...], "count": int}.
get_page(title: str, max_length: int = 6250)Returns {"title", "content", "url", "page_id"} — full plain-text rendering of the page (all sections, templates expanded, links resolved). Auto-follows redirects. content is truncated to max_length characters; default 6250 covers a typical character page in full, pass larger (e.g. 20000) for very long pages.
| Variable | Default | Description |
|---|---|---|
MOEGIRL_MAX_LENGTH | 6250 | Default max_length for get_page when the caller does not specify one. Useful for tuning per-deployment without forking the package. Invalid/non-positive values are ignored with a warning. |
{
"mcpServers": {
"moegirl-wiki": {
"command": "uvx",
"args": ["mcp-server-moegirl-wiki"]
}
}
}config/bot_config.toml)MaiBot's default config already has the [mcp] block — just replace the servers line:
servers = [{name = "moegirl", enabled = true, transport = "stdio", command = "uvx", args = ["mcp-server-moegirl-wiki"], env = {MOEGIRL_MAX_LENGTH = "6250"}, url = "", headers = {}, http_timeout_seconds = 30.0, read_timeout_seconds = 300.0, authorization = {mode = "none", bearer_token = ""}}]Tweak MOEGIRL_MAX_LENGTH to taste (raise to 20000 for very long pages, lower to 1500 for quick lookups). If uvx is not on PATH, swap command/args for command = "pipx", args = ["run", "mcp-server-moegirl-wiki"].
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 .| Server version | MCP Python SDK | Notes |
|---|---|---|
0.3.x | mcp>=2,<3 | SDK 2.0 renamed FastMCP to mcp.server.mcpserver.MCPServer, so 0.2.x could not run on it. Hosts whose client still uses SDK 1.x work fine — the stdio handshake negotiates a shared protocol version (verified: 1.29.1 client ↔ 2.3.0 server). |
0.2.x | mcp>=1.0 | Crashes at startup on SDK 2.x (No module named 'mcp.server.fastmcp'). That is what 0.3.0 fixes; pin mcp<2 only if you must stay on 0.2.x. |
get_page returns rendered plain text (templates expanded, links resolved). Raw wikitext (prop=revisions, action=parse, ?action=raw, Special:Export) is blocked by Moegirl Wiki's site-wide ACL — empirically verified that bot-password login does not unlock it; only sysop/staff groups can call these actions.mzh.moegirl.org.cn mirror.httpx's trust_env. Some NO_PROXY values are valid for curl but unparseable for httpx (e.g. a bare ::1 next to [::1]); in that case the server logs a warning and issues direct requests instead of failing every tool call.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.