Token导航 LogoToken导航TokenDH.com
Guardian Articles Agent logo
AI代理stdio官方级别未说明来源级核验

Guardian Articles Agent

MCP Server

一个生产就绪的LangGraph代理,使用模型上下文协议(MCP)和Tavily API从The Guardian查找并提取阅读量最高的3篇文章。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
PythonLangGraphAI代理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

jiritaras

提供方

jiritaras

最后核验

2026/5/17 20:19

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python src/agent.py

详细介绍

卫报文章代理🤖📰

一个准备生产的LangGraph代理,使用模型上下文协议(MCP)和Tavily API从《卫报》中查找并提取阅读量最高的三篇文章。

🎯 特性

  • LangGraph编排:具有状态管理的复杂代理工作流
  • MCP集成:使用模型上下文协议进行标准化工具通信
  • 塔维利搜索:专门针对Guardian.co.uk的人工智能网络搜索
  • 内容提取:检索完整的文章内容并创建摘要
  • LangSmith监测:完全可观察性和代理执行跟踪
  • 生产就绪:错误处理、日志记录和配置管理

🏗️ 建筑

┌─────────────────────────────────────────┐
│         Guardian Agent (LangGraph)       │
│  - Agent Node (Reasoning)               │
│  - Tool Node (Tool Execution)           │
│  - Summarizer Node (Final Output)       │
└──────────────┬──────────────────────────┘
               │ MCP Protocol
               │ (JSON-RPC over stdio)
               │
       ┌───────▼────────┐
       │  Tavily MCP    │
       │    Server      │
       │                │
       │  Tools:        │
       │  - search      │
       │  - extract     │
       └────────────────┘

📋 先决条件

  • Python 3.10或更高版本
  • OpenAI API密钥(适用于GPT-4o)
  • Tavilly API密钥(用于网络搜索)
  • LangSmith API密钥(用于监控-可选但推荐)

🚀 快速开始

1.克隆和设置

cd /path/to/guardian-agent
bash setup.sh

2.配置API密钥

编辑 .env 使用API密钥文件:

# OpenAI API Key (required)
OPENAI_API_KEY=sk-...

# Tavily API Key (required) - Get it from https://tavily.com
TAVILY_API_KEY=tvly-...

# LangSmith API Key (optional) - Get it from https://smith.langchain.com
LANGSMITH_API_KEY=lsv2_pt_...
LANGSMITH_TRACING=true
LANGSMITH_PROJECT=guardian-agent

获取API密钥的位置:

  • OpenAI:https://platform.openai.com/api-keys
  • 塔维利:https://app.tavily.com/home(免费套餐:每月1000个请求)
  • 朗史密斯:https://smith.langchain.com/settings

3.运行代理

# Activate virtual environment
source venv/bin/activate

# Run the agent
python src/agent.py

📁 项目结构

guardian-agent/
├── config/
│   └── mcp_config.json          # MCP server configuration
├── logs/                         # Application logs (created automatically)
├── src/
│   ├── agent.py                  # Main LangGraph agent
│   └── tavily_mcp_server.py      # Tavily MCP server implementation
├── .env                          # API keys (create from .env.example)
├── .env.example                  # Environment template
├── requirements.txt              # Python dependencies
├── setup.sh                      # Setup script
└── README.md                     # This file

🔧 配置

代理设置

编辑 .env 要自定义代理行为,请执行以下操作:

# Model to use (gpt-4o, gpt-4-turbo, gpt-3.5-turbo)
AGENT_MODEL=gpt-4o

# Temperature for LLM (0.0 = deterministic, 1.0 = creative)
AGENT_TEMPERATURE=0.0

# Number of articles to extract
MAX_ARTICLES=3

MCP服务器配置

config/mcp_config.json 该文件定义了MCP服务器连接。如果需要,您可以添加更多服务器:

{
  "mcpServers": {
    "tavily": {
      "url": "https://mcp.tavily.com/mcp/",
      "transport": "sse",
      "description": "Tavily search and extract API"
    }
  }
}

🎭 运作原理

代理工作流

  1. 代理节点:

- 接收查找《卫报》前3篇文章的任务 - 使用思维链推理规划方法 - 决定调用哪些工具

  1. 工具节点:

- 执行 tavily_search 查找《卫报》的热门文章 - 执行 tavily_extract 获取完整的文章内容 - 将结果返回给代理

  1. 摘要生成器节点:

- 处理提取的文章 - 创建简明摘要 - 格式化最终输出

MCP工具

tavily_search

{
    "query": "most read articles guardian",
    "include_domains": ["theguardian.com"],
    "max_results": 5,
    "search_depth": "advanced"
}

烟草提取物

{
    "urls": ["https://www.theguardian.com/article1", ...],
    "extract_depth": "advanced"
}

📊 与LangSmith一起监控

LangSmith提供了完全的可观察性:

  1. 访问https://smith.langchain.com
  2. 导航到您的项目: guardian-agent
  3. 查看:

- 代理执行跟踪 - 工具调用和响应 - 令牌使用情况 - 延迟度量 - 错误日志

🧪 测试

手动测试

运行代理并验证输出:

python src/agent.py

预期产量:

╭──────────────────────────────────────╮
│ Guardian Articles Agent              │
│ Powered by LangGraph + MCP + Tavily  │
│ Model: gpt-4o                        │
╰──────────────────────────────────────╯

[yellow]Initializing MCP tools...[/yellow]
[green]✓ Loaded 2 MCP tools[/green]
  - tavily_search: Search the web using Tavily's AI-powered...
  - tavily_extract: Extract full content from specific URLs...

[yellow]Building LangGraph workflow...[/yellow]
[green]✓ LangGraph workflow built successfully[/green]

[blue]→ Agent reasoning...[/blue]
[green]→ Executing tools...[/green]
[magenta]→ Creating summary...[/magenta]

╭─ Final Summary ─╮
│                 │
│ 1. Article 1... │
│ 2. Article 2... │
│ 3. Article 3... │
│                 │
╰─────────────────╯

✓ Task completed successfully!

独立测试MCP服务器

# Set environment variable
export TAVILY_API_KEY=your_key_here

# Run MCP server
python src/tavily_mcp_server.py

🐛 故障排除

常见问题

1. ModuleNotFoundError: No module named 'mcp'

source venv/bin/activate
pip install -r requirements.txt

2. OPENAI_API_KEY not found

  • 确保您已创建 .env 文件
  • 检查API密钥是否在中正确设置 .env

3. TAVILY_API_KEY not found

  • 从获取免费API密钥https://tavily.com
  • 增添 .env 文件

4.代理商不退货

  • 检查Guardian网站是否可访问
  • 尝试不同的搜索查询
  • 验证Tavily API密钥是否有效

5.LangSmith没有留下痕迹

  • 验证 LANGSMITH_API_KEY 已设置
  • 检查 LANGSMITH_TRACING=true
  • 确保项目名称匹配

调试模式

启用详细日志记录:

export LANGCHAIN_VERBOSE=true
python src/agent.py

🔒 安全最佳实践

  1. 永不承诺 .env 文件 -它在里面 .gitignore
  2. 定期旋转API键
  3. 使用环境变量 用于生产部署
  4. 监控API使用情况 检测异常
  5. 设置速率限制 用于生产用途

📈 演出

  • 平均执行时间:10-30秒
  • 代币使用量:每次运行约2000-5000个代币
  • Tavilly API调用:每次运行2-4次

🔄 定制

更改目标网站

编辑 src/agent.py,第210行:

query = f"""
Find the {MAX_ARTICLES} most read articles on theguardian.com right now.
...
Use the tavily_search tool with include_domains=['theguardian.com'] to find articles,
"""

改变 theguardian.com 到任何其他域。

添加更多工具

  1. 在中创建新的MCP服务器 src/
  2. 将服务器配置添加到 config/mcp_config.json
  3. 更新 agent.py 加载其他服务器

修改摘要

编辑 summarizer_node 方法in src/agent.py 更改输出格式。

📚 了解更多

🤝 贡献

欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 提交拉取请求

📄 许可证

MIT许可证-您可以在自己的项目中自由使用!

🎓 鸣谢

内置:

______________________________________________________________________

问题或议题? 打开一个问题或联系我们!

快乐建筑! 🚀

目录标签

目录标签

PythonLangGraphAI代理文章提取本地部署MCP协议Tavily搜索内容摘要

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

api-key

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdioapi-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP