pubmed

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

pubmed

pubmed

Use this skill when you need to work with pubmed through its generated async Python app, call its MCP-backed functions from code, or inspect available functions with the mcp-skill CLI.
当你需要通过生成的异步Python应用操作PubMed、通过代码调用其基于MCP的函数,或使用mcp-skill CLI查看可用函数时,可使用本技能。

Authentication

身份验证

No authentication required.
python
app = PubmedApp()
Passing an
auth
argument is accepted but has no effect and will emit a warning.
无需身份验证。
python
app = PubmedApp()
传入
auth
参数是被允许的,但不会产生任何效果,并且会发出警告。

Dependencies

依赖项

This skill requires the following Python packages:
  • mcp-skill
Install with uv:
bash
uv pip install mcp-skill
Or with pip:
bash
pip install mcp-skill
本技能需要以下Python包:
  • mcp-skill
使用uv安装:
bash
uv pip install mcp-skill
或使用pip安装:
bash
pip install mcp-skill

Python Usage

Python使用方法

Use the generated app directly in async Python code:
python
import asyncio
from pubmed.app import PubmedApp


async def main():
    app = PubmedApp()
    result = await app.search_articles(query="example", max_results=1, sort="example")
    print(result)


asyncio.run(main())
直接在异步Python代码中使用生成的应用:
python
import asyncio
from pubmed.app import PubmedApp


async def main():
    app = PubmedApp()
    result = await app.search_articles(query="example", max_results=1, sort="example")
    print(result)


asyncio.run(main())

Async Usage Notes

异步使用注意事项

  • Every generated tool method is
    async
    , so call it with
    await
    .
  • Use these apps inside an async function, then run that function with
    asyncio.run(...)
    if you are in a script.
  • If you forget
    await
    , you will get a coroutine object instead of the actual tool result.
  • Be careful when mixing this with other event-loop environments such as notebooks, web servers, or async frameworks.
  • 每个生成的工具方法都是
    async
    的,因此需要使用
    await
    调用。
  • 在异步函数内使用这些应用,如果是在脚本中,使用
    asyncio.run(...)
    运行该函数。
  • 如果忘记使用
    await
    ,你将得到一个协程对象而非实际的工具结果。
  • 在混合使用其他事件循环环境(如笔记本、Web服务器或异步框架)时需谨慎。

Discover Functions with the CLI

使用CLI发现函数

Use the CLI to find available apps, list functions on an app, and inspect a function before calling it:
bash
uvx mcp-skill list-apps
uvx mcp-skill list-functions pubmed
uvx mcp-skill inspect pubmed search_articles
Important: Add
.agents/skills
to your Python path so imports resolve correctly:
python
import sys
sys.path.insert(0, ".agents/skills")
from pubmed.app import PubmedApp
Or set the
PYTHONPATH
environment variable:
bash
export PYTHONPATH=".agents/skills:$PYTHONPATH"
Preferred: use
uv run
(handles dependencies automatically):
bash
PYTHONPATH=.agents/skills uv run --with mcp-skill python -c "
import asyncio
from pubmed.app import PubmedApp

async def main():
    app = PubmedApp()
    result = await app.search_articles(query="example", max_results=1, sort="example")
    print(result)

asyncio.run(main())
"
Alternative: use
python
directly
(install dependencies first):
bash
pip install mcp-skill
PYTHONPATH=.agents/skills python -c "
import asyncio
from pubmed.app import PubmedApp

async def main():
    app = PubmedApp()
    result = await app.search_articles(query="example", max_results=1, sort="example")
    print(result)

asyncio.run(main())
"
使用CLI查找可用应用、列出某个应用的函数,并在调用前查看函数详情:
bash
uvx mcp-skill list-apps
uvx mcp-skill list-functions pubmed
uvx mcp-skill inspect pubmed search_articles
重要提示:
.agents/skills
添加到Python路径中,以便正确解析导入:
python
import sys
sys.path.insert(0, ".agents/skills")
from pubmed.app import PubmedApp
或设置
PYTHONPATH
环境变量:
bash
export PYTHONPATH=".agents/skills:$PYTHONPATH"
推荐方式:使用
uv run
(自动处理依赖项):
bash
PYTHONPATH=.agents/skills uv run --with mcp-skill python -c "
import asyncio
from pubmed.app import PubmedApp

async def main():
    app = PubmedApp()
    result = await app.search_articles(query=\"example\", max_results=1, sort=\"example\")
    print(result)

asyncio.run(main())
"
替代方式:直接使用
python
(需先安装依赖项):
bash
pip install mcp-skill
PYTHONPATH=.agents/skills python -c "
import asyncio
from pubmed.app import PubmedApp

async def main():
    app = PubmedApp()
    result = await app.search_articles(query=\"example\", max_results=1, sort=\"example\")
    print(result)

asyncio.run(main())
"