<< All versions
Tool:
Skill v1.0.0
currentAutomated scan100/100internscience/scp/pubmed-article-search
──Details
PublishedJune 16, 2026 at 11:16 PM
Content Hashsha256:d521e28bafea526d...
Git SHAcea539856403
──Files
Files (1 file, 2.5 KB)
SKILL.md2.5 KBactive
SKILL.md · 76 lines · 2.5 KB
version: "1.0.0" name: pubmed-article-search description: Search PubMed database for scientific articles and publications to retrieve biomedical literature. license: MIT license metadata: skill-author: PJLab
PubMed Article Search
Usage
python
import asyncioimport jsonfrom mcp.client.streamable_http import streamablehttp_clientfrom mcp import ClientSessionclass ToolUniverseClient:def __init__(self, server_url: str, api_key: str):self.server_url = server_urlself.api_key = api_keyself.session = Noneasync def connect(self):try:self.transport = streamablehttp_client(url=self.server_url, headers={"SCP-HUB-API-KEY": self.api_key})self.read, self.write, self.get_session_id = await self.transport.__aenter__()self.session_ctx = ClientSession(self.read, self.write)self.session = await self.session_ctx.__aenter__()await self.session.initialize()return Trueexcept Exception as e:return Falseasync def disconnect(self):if self.session:await self.session_ctx.__aexit__(None, None, None)if hasattr(self, 'transport'):await self.transport.__aexit__(None, None, None)def parse_result(self, result):try:if hasattr(result, 'content') and result.content:content = result.content[0]if hasattr(content, 'text'):return json.loads(content.text)return str(result)except Exception as e:return {"error": f"parse error: {e}", "raw": str(result)}## Initialize and useclient = ToolUniverseClient("https://scp.intern-ai.org.cn/api/v1/mcp/36/ToolUniverse", "<your-api-key>")await client.connect()result = await client.session.call_tool("PubMed_search_articles", arguments={"query": "protein", "limit": 10})result_data = client.parse_result(result)for i, article in enumerate(result_data, 1):print(f"{i}. {article['title']}")print(f" Authors: {', '.join(article['authors'][:3])}")print(f" Journal: {article['journal']} ({article['year']})")print(f" DOI: {article['doi']}")print(f" URL: {article['url']}\n")await client.disconnect()
Tool: PubMed_search_articles
- Args:
query(str) - Search query,limit(int) - Max results - Returns: List of articles with title, abstract, authors, journal, year, DOI, URL
Use Cases
- Literature review, citation discovery, research background, clinical studies