bash展开代码import asyncio
import json
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
async def call_newsnow_mcp():
"""调用 newsnow MCP 获取知乎热门新闻"""
# 1. 配置 MCP 服务器参数
server_params = StdioServerParameters(
command="npx",
args=["-y", "newsnow-mcp-server"],
env={"BASE_URL": "http://101.126.150.28:9044"}
)
# 2. 连接到 MCP 服务器
async with stdio_client(server_params) as (read, write):
async with ClientSession(read, write) as session:
# 3. 初始化会话
await session.initialize()
# 4. 调用工具获取知乎新闻
result = await session.call_tool(
name="get_hottest_latest_news",
arguments={
"id": "zhihu",
"count": 10
}
)
# 5. 打印结果
print("=" * 50)
print("知乎热门新闻(前10条)")
print("=" * 50)
# 解析返回的内容
for item in result.content:
if hasattr(item, 'text'):
# 尝试解析 JSON
try:
news_data = json.loads(item.text)
print(json.dumps(news_data, indent=2, ensure_ascii=False))
except:
print(item.text)
# 运行
if __name__ == "__main__":
asyncio.run(call_newsnow_mcp())


本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!