VnExpress Tool

VnExpress Tool

Enables fetching latest news from VnExpress.net, including categories, search, and article content retrieval.

Category
访问服务器

README

VnExpress Tool - Công cụ Tin tức MCP

Công cụ MCP để lấy tin tức mới nhất từ VnExpress.net và các chức năng tìm kiếm tin tức.

Tổng quan

MCP (Model Context Protocol) là một giao thức cho phép máy chủ cung cấp các công cụ có thể được gọi bởi các mô hình ngôn ngữ. Các công cụ cho phép mô hình tương tác với các hệ thống bên ngoài, chẳng hạn như truy vấn cơ sở dữ liệu, gọi API hoặc thực hiện các phép tính. Mỗi công cụ được xác định duy nhất bởi một tên và bao gồm siêu dữ liệu mô tả lược đồ của nó.

  • 🔌 Giao tiếp hai chiều giữa AI và các công cụ bên ngoài
  • 🔄 Tự động kết nối lại với thời gian chờ tăng dần
  • 📊 Truyền dữ liệu thời gian thực
  • 🛠️ Giao diện tạo công cụ dễ sử dụng
  • 🔒 Giao tiếp WebSocket an toàn
  • ⚙️ Hỗ trợ nhiều loại truyền tải (stdio/sse/http)

Tính năng

  • 📰 Tin tức mới nhất: Lấy tin nổi bật từ trang chủ VnExpress
  • 🏷️ Phân loại tin tức: Hỗ trợ nhiều chuyên mục
  • 🔍 Tìm kiếm: Tìm kiếm tin tức theo từ khóa
  • 📖 Nội dung chi tiết: Lấy toàn bộ nội dung bài viết
  • Real-time: Cập nhật tin tức theo thời gian thực

Yêu cầu cài đặt

Cài Python phiên bản mới nhất

1. Cài đặt các phụ thuộc:

pip install -r requirements.txt
pip install requests beautifulsoup4 lxml

2. Thiết lập các biến môi trường:

export MCP_ENDPOINT=<your_mcp_endpoint>
# Windows (PowerShell): $env:MCP_ENDPOINT = "<ws_endpoint>"
pip install requests beautifulsoup4 lxml

3. Cách chạy

Chạy riêng lẻ

python mcp_pipe.py VnExpress.py

Chạy cùng các tool khác

Cập nhật file mcp_config.json:

{
  "mcpServers": {
    "calculator": {
      "command": "python",
      "args": ["calculator.py"],
      "type": "stdio"
    },
    "VnExpress": {
      "command": "python",
      "args": ["VnExpress.py"],
      "type": "stdio"
    }
  }
}

Yêu cầu tệp cấu hình mcp_config.json với các định nghĩa máy chủ (hỗ trợ các loại truyền tải stdio/sse/http)

Cấu trúc dự án

  • mcp_pipe.py: Ống giao tiếp chính xử lý các kết nối WebSocket và quản lý quy trình
  • VnExpress.py: Triển khai Công cụ MCP để lấy tin tức mới nhất từ VnExpress.net và các chức năng tìm kiếm tin tức
  • requirements.txt: Các phụ thuộc của dự án

Máy chủ điều khiển bằng cấu hình

Chỉnh sửa tệp mcp_config.json để cấu hình danh sách máy chủ (cũng có thể đặt biến môi trường MCP_CONFIG trỏ đến tệp cấu hình khác).

Hướng dẫn cấu hình:

  • Không có tham số sẽ khởi động tất cả các máy chủ đã cấu hình (tự động bỏ qua các mục disabled: true)
  • Có tham số sẽ chạy một tệp kịch bản cục bộ duy nhất
  • type=stdio khởi động trực tiếp; type=sse/http thông qua proxy python -m mcp_proxy

Các công cụ có sẵn

1. get_vnexpress_news - Lấy tin tức theo chuyên mục

Cú pháp:

get_vnexpress_news(category: str = "home", limit: int = 10)

Chuyên mục hỗ trợ:

  • home: Trang chủ (tin nổi bật)
  • thoi-su: Thời sự
  • goc-nhin: Góc nhìn
  • the-gioi: Thế giới
  • kinh-doanh: Kinh doanh
  • bat-dong-san: Bất động sản
  • khoa-hoc: Khoa học
  • giai-tri: Giải trí
  • the-thao: Thể thao
  • phap-luat: Pháp luật
  • giao-duc: Giáo dục
  • suc-khoe: Sức khỏe
  • doi-song: Đời sống
  • du-lich: Du lịch
  • so-hoa: Số hóa
  • xe: Xe

Ví dụ sử dụng:

get_vnexpress_news("home", 5)          # 5 tin nổi bật
get_vnexpress_news("thoi-su", 10)      # 10 tin thời sự
get_vnexpress_news("the-thao", 8)      # 8 tin thể thao

2. get_article_content - Lấy nội dung chi tiết bài viết

Cú pháp:

get_article_content(url: str)

Ví dụ:

get_article_content("https://vnexpress.net/title-123456.html")

3. search_vnexpress_news - Tìm kiếm tin tức

Cú pháp:

search_vnexpress_news(keyword: str, limit: int = 5)

Ví dụ:

search_vnexpress_news("covid", 10)
search_vnexpress_news("bóng đá", 5)
search_vnexpress_news("kinh tế", 8)

Ví dụ kết quả

Tin tức mới nhất

{
  "success": true,
  "category": "thoi-su",
  "total_articles": 10,
  "articles": [
    {
      "title": "Thủ tướng: 'Chính phủ quyết tâm thực hiện mục tiêu tăng trưởng 6,5-7%'",
      "url": "https://vnexpress.net/thu-tuong-chinh-phu-quyet-tam-thuc-hien-muc-tieu-tang-truong-6-5-7-4567890.html",
      "description": "Thủ tướng Phạm Minh Chính cho biết Chính phủ sẽ tập trung nguồn lực...",
      "time": "2 giờ trước",
      "category": "thoi-su"
    }
  ],
  "timestamp": "2024-11-03 15:30:00",
  "source": "VnExpress.net"
}

Nội dung bài viết

{
  "success": true,
  "title": "Tiêu đề bài viết",
  "description": "Mô tả ngắn gọn...",
  "content": "Nội dung đầy đủ của bài viết...",
  "author": "Tên tác giả",
  "publish_time": "Thứ 7, 3/11/2024, 15:30",
  "url": "https://vnexpress.net/...",
  "timestamp": "2024-11-03 15:30:00"
}

Ví dụ tích hợp với AI

AI: "Tin tức mới nhất hôm nay?"
→ get_vnexpress_news("home", 5)

AI: "Có tin gì về bóng đá không?"
→ search_vnexpress_news("bóng đá", 5)

AI: "Tin tức kinh tế mới nhất?"
→ get_vnexpress_news("kinh-doanh", 8)

AI: "Đọc chi tiết bài này giúp tôi: [URL]"
→ get_article_content(url)

Xử lý lỗi

Lỗi kết nối

{
  "success": false,
  "error": "Network error: Connection timeout"
}

Lỗi parsing

{
  "success": false, 
  "error": "Unexpected error: No articles found"
}

Lưu ý quan trọng

1. Tuân thủ robots.txt

Tool được thiết kế để lấy thông tin công khai và không vi phạm robots.txt của VnExpress.

2. Rate Limiting

Tránh gọi quá nhiều request trong thời gian ngắn để không bị chặn IP.

3. Cấu trúc website có thể thay đổi

VnExpress có thể thay đổi cấu trúc HTML, tool sẽ cần cập nhật selector tương ứng.

4. Mã hóa UTF-8

Tool đã xử lý encoding UTF-8 cho tiếng Việt trên Windows.

Troubleshooting

1. Module không tìm thấy

pip install beautifulsoup4 lxml requests

2. Không tìm thấy bài viết

  • Kiểm tra kết nối internet
  • VnExpress có thể đã thay đổi cấu trúc
  • Thử chuyên mục khác

3. Encoding lỗi

Code đã xử lý UTF-8 tự động.

4. Blocked IP

Nếu bị chặn, đợi một thời gian hoặc thay đổi User-Agent.

Phát triển thêm

Có thể mở rộng:

  • Hỗ trợ nhiều trang tin tức khác
  • Lưu cache tin tức
  • Phân tích sentiment
  • Tóm tắt tin tức tự động
  • Export PDF/Word

Khuyến nghị sử dụng

  1. Sử dụng có trách nhiệm: Không spam request
  2. Tôn trọng bản quyền: Chỉ lấy thông tin cần thiết
  3. Cập nhật thường xuyên: Check code khi website thay đổi
  4. Backup data: Lưu tin tức quan trọng

License

MIT License - Sử dụng cho mục đích học tập và nghiên cứu.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选