MCP server for accessing academic library resources through browser automation, supporting paper search, login, and metadata extraction from discovery systems
Server has 7 tools with explicit schemas and descriptions, but quality is inconsistent. Naming follows verb_noun pattern (ping_test, login_library, search_papers, get_paper_detail, persist_paper, download_paper, open_url), good. However, descriptions are domain-specific (Chinese) and lack LLM-optimization guidance. Parameter descriptions exist but many lack type constraints, enums, or validation rules. No output schemas documented. Error handling is minimal, no recovery guidance visible. Security concern: login_library accepts username/password as parameters (anti-pattern; should use server-side injection). Overall: functional but below production baseline.
在浏览器中打开论文获取途径页面,供用户自行下载。建议使用 get_paper_detail 返回的 accessLinks 中的 URL。
获取论文详情页的完整摘要、作者、关键词、DOI、期刊名等信息
登录图书馆以获取学术资源访问权限。支持自动登录(需要配置凭据)或手动辅助。
在浏览器中打开指定 URL
将抓取的论文元数据固化到本地 Research/ 目录
测试与浏览器插件的连接
在学术数据库中搜索论文
Credentials exposed as parameters: login_library accepts username and password as tool parameters. This violates secret-injection pattern, credentials will be logged in traces and prompt history.
No output schemas documented. Tools return TextContent but LLMs cannot infer what fields (title, url, dxid, etc.) are in the response. Downstream tool chaining is fragile.
Missing parameter constraints: search_papers has doc_types (array of integers) and sort (integer) with no enum or range validation. LLMs will guess invalid values.
No error handling guidance. Tools return TextContent but no recovery hints. If login fails or paper not found, LLM has no actionable next step.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
Descriptions are domain-specific (Chinese) and lack LLM-optimization. 'open_url' description is only 18 chars. Descriptions should be 50-200 chars with WHAT, WHEN, and WHY.