NYT MCP Server

NYT MCP Server

site icon
2025.03.06 0
PythonAPI网关新闻服务内容生成
NYT MCP Server 是一个消息集中协议(MCP)服务器,为纽约时报(NYT)的多个API提供统一的简单接口。该服务器通过单一端点简化了与多个NYT API的交互,包括文章搜索、热门故事、实时新闻、最受欢迎内容、档案和图书API等。
View on GitHub

Overview

基本能力

产品定位

NYT MCP Server 是一个网关服务,旨在简化与纽约时报(NYT)多个API的交互,提供统一的接口和简化的响应格式。

核心功能

  • 单一端点:通过一个统一的接口访问所有NYT API。
  • 简化的响应:提供格式化和简化的API响应。
  • 实时更新:通过Times Wire提供实时新闻订阅。
  • 灵活的搜索:支持全面的文章搜索功能。
  • 错误处理:具备健壮的错误管理机制。
  • 健康监控:内置健康检查端点。
  • 易于集成:可以轻松集成到任何应用中。

适用场景

  • 需要访问多个NYT API的开发者。
  • 需要实时新闻订阅的应用。
  • 需要简化NYT API响应的项目。

工具列表

  • /mcp/message:主端点,用于所有NYT API交互。
  • /health:健康检查端点。

常见问题解答

  • 如何获取API密钥?:需要在NYT开发者门户注册获取。
  • 如何保护API密钥?:通过环境变量存储,避免提交到版本控制系统。

使用教程

使用依赖

  • Python 3.8+
  • NYT API密钥
  • 依赖包(见requirements.txt

安装教程

  1. 克隆仓库:
git clone https://github.com/your-username/nyt-mcp-server.git
cd nyt-mcp-server
  1. 创建并激活虚拟环境:
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
  1. 安装依赖:
pip install -r requirements.txt
  1. 创建.env文件:
NYT_API_KEY=your_api_key_here
MCP_PORT=8000
MCP_HOST=0.0.0.0
  1. 运行服务器:
python src/server.py

调试方式

  • 检查服务器是否运行:访问http://localhost:8000/health
  • 测试API端点:使用POST /mcp/message发送JSON请求。

API文档

基础URL

http://localhost:8000

端点

  • POST /mcp/message:主端点,用于所有NYT API交互。
  • GET /health:健康检查端点。

示例用法

import httpx
import asyncio

async def get_news():
    async with httpx.AsyncClient() as client:
        response = await client.post(
            "http://localhost:8000/mcp/message",
            json={
                "message_type": "times_wire",
                "content": {"limit": 5},
                "timestamp": "2025-03-05T21:00:00Z"
            }
        )
        return response.json()

# 运行异步函数
asyncio.run(get_news())

许可证

该项目遵循 MIT 开源许可条款。