Suppr MCP
Returns DOI identifiers as part of document search results for academic papers and research publications.
Provides AI-driven semantic search capabilities for PubMed literature, allowing natural language queries to find research papers with configurable result fields including titles, abstracts, DOIs, authors, and publication information.
Integrates with Zotero through a companion plugin for managing translated documents and research papers.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Suppr MCPtranslate this PDF to English and optimize the math formulas"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Suppr MCP - Usage Guide | 提供文档翻译及中文搜Pubmed的MCP服务 | Suppr超能文献
Suppr MCP Server
Suppr (超能文献) is an AI-powered academic tools platform by WildData. This MCP server brings document translation and literature search capabilities to AI assistants.
🌐 AI Document Translation — Translate PDF, Word (.docx), Excel (.xlsx), PowerPoint (.pptx), TXT, and HTML documents across 13 languages. Preserves original formatting. Automatic source language detection.
🔬 PubMed Academic Search — Semantic literature discovery across millions of biomedical research papers. Returns structured metadata: DOI, PMID, journal impact factor, citation counts, author affiliations, abstracts, and direct paper links.
🤖 MCP Compatible — Works with Claude Desktop, Cursor, Windsurf, and any Model Context Protocol client.
Install
```bash npx suppr-mcp ```
Related MCP server: Paperlib MCP
Quick Start
1. 安装
全局安装:
npm install -g suppr-mcp或者使用 npx(无需安装):
npx suppr-mcp2. 获取 API Key
访问 Suppr API 获取您的 API 密钥。
3. 配置环境变量
export SUPPR_API_KEY=your_api_key_here4. 在 MCP 客户端中使用
Claude Desktop 配置
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或相应配置文件:
{
"mcpServers": {
"suppr": {
"command": "npx",
"args": ["-y", "suppr-mcp"],
"env": {
"SUPPR_API_KEY": "your_api_key_here"
}
}
}
}或者使用全局安装:
{
"mcpServers": {
"suppr": {
"command": "suppr-mcp",
"env": {
"SUPPR_API_KEY": "your_api_key_here"
}
}
}
}可用工具
1. create_translation - 创建翻译任务
创建文档翻译任务。
参数:
file_path(file_path 和 file_url 二选一): 源文件路径file_url(file_path 和 file_url 二选一): 要翻译的文档 URLto_lang(必填): 目标语言代码from_lang(可选): 源语言代码(默认自动检测)optimize_math_formula(可选): 优化数学公式(仅 PDF)
示例:
{
"file_url": "https://example.com/document.pdf",
"to_lang": "en",
"from_lang": "zh",
"optimize_math_formula": true
}返回:
{
"task_id": "02a6c6d1-3f70-4a5a-80bc-971d53a37bb1",
"status": "INIT",
"consumed_point": 453,
"source_lang": "zh",
"target_lang": "en",
"optimize_math_formula": true
}2. get_translation - 获取翻译详情
获取翻译任务的详细信息和状态。
参数:
task_id(必填): 翻译任务 ID
示例:
{
"task_id": "02a6c6d1-3f70-4a5a-80bc-971d53a37bb1"
}返回:
{
"task_id": "02a6c6d1-3f70-4a5a-80bc-971d53a37bb1",
"status": "DONE",
"progress": 1.0,
"consumed_point": 453,
"source_file_name": "document.pdf",
"source_file_url": "https://example.com/source.pdf",
"target_file_url": "https://example.com/translated.pdf",
"source_lang": "zh",
"target_lang": "en",
"error_msg": null,
"optimize_math_formula": true
}任务状态说明:
INIT: 初始化PROGRESS: 进行中DONE: 已完成ERROR: 错误
3. list_translations - 列出翻译任务
获取翻译任务列表,支持分页。
参数:
offset(可选): 分页偏移量,默认 0limit(可选): 每页数量,默认 20
示例:
{
"offset": 0,
"limit": 10
}返回:
{
"total": 42,
"offset": 0,
"limit": 10,
"list": [
{
"task_id": "...",
"status": "DONE",
"progress": 1.0,
...
}
]
}4. search_documents - 文献搜索
AI 驱动的文献语义搜索。
参数:
query(必填): 自然语言查询topk(可选): 最大返回数量(1-100,默认 20)return_doc_keys(可选): 指定返回字段auto_select(可选): 自动选择最优结果(默认 true)
示例:
{
"query": "糖尿病最新研究进展",
"topk": 5,
"return_doc_keys": ["title", "abstract", "doi", "authors"],
"auto_select": true
}可用的返回字段:
title: 标题abstract: 摘要authors: 作者列表doi: DOIpmid: PubMed IDlink: 链接publication: 出版物pub_year: 出版年份更多字段请参考 API 文档
返回:
{
"search_items": [
{
"doc": {
"title": "...",
"abstract": "...",
"authors": [...],
"doi": "...",
...
},
"search_gateway": "pubmed"
}
],
"consumed_points": 20
}支持的语言
常用语言代码:
en: English (英语)zh: Chinese (中文)ko: Korean (韩语)ja: Japanese (日语)fr: French (法语)de: German (德语)es: Spanish (西班牙语)ru: Russian (俄语)ar: Arabic (阿拉伯语)pt: Portuguese (葡萄牙语)it: Italian (意大利语)auto: 自动检测
错误处理
所有错误都会返回标准格式:
{
"code": 非零错误码,
"msg": "错误信息",
"data": null
}常见错误:
401: API 密钥无效或未提供
400: 请求参数错误
404: 资源不存在
使用示例
在 Claude Desktop 中使用
配置好 API 密钥后重启 Claude Desktop
在对话中使用工具:
翻译文档:
请帮我翻译这个文档:https://example.com/paper.pdf,翻译成英文
搜索文献:
帮我搜索关于"深度学习在医学影像中的应用"的最新文献
查询翻译状态:
查看任务 02a6c6d1-3f70-4a5a-80bc-971d53a37bb1 的翻译进度
常见问题
Q: 如何获取 API 密钥?
A: 访问 https://suppr.wilddata.cn/api-keys 注册并获取 API 密钥。
Q: 支持哪些文档格式?
A: 支持 PDF, DOCX, PPTX, XLSX, HTML, TXT, EPUB等常见格式。
Q: 翻译需要多长时间?
A: 取决于文档大小,通常几分钟到十几分钟不等。可以使用 get_translation 查询进度。
Q: 如何下载翻译后的文档?
A: 翻译完成后,get_translation 会返回 target_file_url,直接访问该链接下载。
Q: npx 运行失败?
A: 确保 Node.js 版本 >= 18.0.0,并且设置了 SUPPR_API_KEY 环境变量。
🔗 Suppr超能文献产品
中文搜Pubmed: https://suppr.wilddata.cn/
GitHub组织:WildDataX
技术支持
如需帮助,请联系:IT@wilddata.cn
Made with ❤️ by WildData
Suppr Ecosystem
Product | Link |
🌐 Suppr Platform | |
📖 API Documentation | |
🔌 Zotero Plugin | |
🤖 Claude Code Skills | |
🔬 Deep Research | |
📄 AI Translation | |
🔎 PubMed Search |
Available Tools
4 toolscreate_translationCreate Translation TaskB
Create a document translation task. Supports file upload via path or URL.
| Name | Required | Description | Default |
|---|---|---|---|
| to_lang | Yes | Target language code (required), e.g., en, zh, ko, ja | |
| file_url | No | Document URL to translate (mutually exclusive with file_path) | |
| file_path | No | Local file path to translate (mutually exclusive with file_url) | |
| from_lang | No | Source language code (optional, auto-detect if not specified) | |
| optimize_math_formula | No | Optimize math formulas (PDF only) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only mentions file upload capability and does not disclose side effects (e.g., task creation, asynchronous processing), required permissions, or how to track the resulting task.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the purpose and immediately following with input constraints. No unnecessary words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create operation with no output schema and no annotations, the description lacks details about the response (e.g., task ID), follow-up steps (e.g., use get_translation to check status), or any workflow context. This leaves the agent uncertain about what happens after invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds minimal meaning beyond the schema; 'file upload via path or URL' summarizes the file_path/file_url mutual exclusion, but this is already documented in the schema. No extra parameter context is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'create' and resource 'document translation task', making it distinct from sibling tools (get_translation, list_translations, search_documents). The added 'Supports file upload via path or URL' further specifies the tool's scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings. There is no mention of get/list for retrieving tasks or search_documents for finding documents. The usage is only implied by the tool's name/verb, not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_translationGet Translation StatusA
Get translation task details and status. Use this to check progress and get result URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | Translation task ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It implies a read-only operation via the verb 'Get' and mentions the return content (details, status, result URLs), but it does not explicitly state the absence of side effects or address error cases. More explicit transparency would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the core purpose followed by a usage hint. Every word earns its place with no redundant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 1-parameter read tool with no output schema, the description covers the essential aspects: what it does, when to use it, and what it returns (details, status, result URLs). It does not enumerate possible statuses, but this is not critical for invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides a description for task_id ('Translation task ID') with 100% coverage. The tool description adds no further meaning about how to obtain or format the task_id, so it does not exceed the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get') and resource ('translation task details and status'), clearly distinguishing this from sibling tools like create_translation, list_translations, and search_documents. It focuses on a single task's details, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context: 'Use this to check progress and get result URLs.' This tells the agent when to invoke the tool, though it doesn't contrast with alternatives or state exclusions. Given the sibling tools, this is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_translationsList Translation TasksA
List translation tasks with pagination. View all historical translation tasks.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results per page (default: 20) | |
| offset | No | Pagination offset (default: 0) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden. It transparently indicates a read-only list operation with pagination, but adds no details on ordering, status scope, or return format. The term 'historical' is ambiguous and could mislead about whether in-progress tasks are included.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no fluff. The first sentence states the action and key feature (pagination); the second adds the 'historical' scope. Efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter list tool with no output schema or annotations, the description gives enough to understand the operation. However, it does not explain what data is returned, what 'historical' means, or how it relates to sibling search_documents, leaving some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with clear descriptions for 'limit' and 'offset'. The description's mention of pagination adds marginal value beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists translation tasks and supports pagination. 'List' sharply contrasts with sibling 'get_translation' and 'create_translation', making it easy for an agent to select it for multi-result retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It conveys the core use case: listing all historical tasks with pagination. While it does not explicitly name alternatives or exclusions, the context 'view all historical translation tasks' gives clear guidance for when to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_documentsSearch Academic LiteratureB
AI-driven semantic search for academic literature. Input natural language query to find relevant papers.
| Name | Required | Description | Default |
|---|---|---|---|
| topk | No | Max results to return (1-100, default: 20) | |
| query | Yes | Natural language query, e.g., "latest diabetes research" | |
| auto_select | No | Auto-select best results (default: true) | |
| return_doc_keys | No | Specific fields to return, e.g., ["title", "abstract", "doi"] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It reveals that the search is 'AI-driven' and 'semantic,' which is useful, but it does not mention whether the operation is read-only, requires authentication, or what the response contains (e.g., list of papers, metadata). For a search tool, this is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one concise sentence that front-loads the core purpose. Every word contributes meaning without redundancy. It is appropriately sized for a straightforward search tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple with four parameters all documented in the schema, and the description covers the primary purpose. However, without annotations or an output schema, the description omits behavioral details like return format, pagination, or limitations. It is minimally complete but leaves open questions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description itself does not add any parameter-specific meaning beyond the schema; it only says to input a natural language query. The schema already documents each parameter thoroughly, so the description's lack of parameter detail is acceptable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs AI-driven semantic search for academic literature, using natural language queries to find relevant papers. It specifies the verb (search), resource (academic literature), and how to invoke it. However, it does not explicitly differentiate from sibling tools, though the siblings are translation-focused, so differentiation is apparent from context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: input a natural language query to find papers. It gives a basic how-to but does not outline when to use this tool versus alternatives or state any exclusions. The sibling tools are translation-related, implying search is for finding papers, but no explicit guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
4 tool updates
v1.1.7- First observed
create_translation - First observed
get_translation - First observed
list_translations - First observed
search_documents
TDQS
Each tool has a clear, distinct purpose: create, get, and list translations, plus search documents. There is no overlap or ambiguity between them.
All tool names follow a consistent verb_noun pattern: create_translation, get_translation, list_translations, and search_documents. No mixed conventions.
Four tools is a reasonable size for a server handling translation tasks and document search. It feels slightly minimal but each tool serves a distinct purpose.
The translation lifecycle covers create, get, and list, but lacks update/delete/cancel operations. The search_documents tool seems unrelated to translations, creating a mixed domain with notable gaps.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
The Needle MCP server enables semantic search on documents stored in files like PDFs, DOCX, and XLSX by connecting AI applications to external data sources. It provides capabilities to create and manage document collections, perform natural language searches on stored content, and retrieve relevant information without requiring exact keyword matches.
Search 36M+ PubMed biomedical articles and ClinicalTrials.gov studies.
Search PubMed/Europe PMC, fetch articles and full text (PMC/EPMC/Unpaywall), citations, MeSH terms.
Turn documents into structured, AI-ready data by parsing, enriching, chunking, and embedding.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables comprehensive biomedical literature research through PubMed database access with advanced search, full-text retrieval, citation analysis, and batch processing capabilities. Supports both local deployment and cloud hosting for seamless integration with AI assistants.1MIT
- FlicenseCqualityBmaintenanceEnables academic literature management through PDF import, hybrid search, knowledge graph construction, and automated literature review generation. Combines full-text search with semantic vector search for comprehensive paper analysis.55-
- AlicenseNot gradedqualityFmaintenanceEnables PDF document processing including text, image, and table extraction, as well as intelligent classification and similarity analysis across multiple languages.49MIT
- AlicenseNot gradedqualityDmaintenanceEnables uploading, organizing, and semantically searching documents with support for various file types and embedding providers.30MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/WildDataX/suppr-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server