
NYT MCP Server

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