mcpField
N
NYT MCP Server

NYT MCP Server

本地服务
github.com/aovabo搜索与检索086 周前更新

关于 NYT MCP Server

NYT MCP Server 为需要新闻与图书数据的应用提供统一的 New York Times API 接口,涵盖搜索、新闻、归档和图书查询,并提供整理后的响应与健康检查。

主要功能

  1. 01统一访问六类 NYT API
  2. 02支持文章搜索、排序与分页
  3. 03获取头条与 Times Wire 新闻
  4. 04查询热门内容、归档和图书
  5. 05提供格式化响应与健康检查

适用场景

  1. 01按主题搜索 NYT 文章
  2. 02获取最新或指定栏目新闻
  3. 03查看热门内容或历史归档
  4. 04查询 NYT 图书榜单

MCP 相关

它通过统一的消息端点向 MCP 客户端提供 New York Times API 操作。服务需要 NYT API 密钥。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

NYT MCP 服务

一个消息集中器协议(MCP)服务,为《纽约时报》API 提供统一、简单的接口。此服务通过单一端点简化了与多个 NYT API 的交互。

概览

此 MCP 服务充当各类《纽约时报》API 的统一网关,包括:

  • 文章搜索
  • 头条新闻
  • Times Wire(实时新闻)
  • 最受欢迎内容
  • 存档
  • 图书 API

功能

  • 单一端点:通过统一的接口访问所有 NYT API
  • 简洁的响应:格式化并简化 API 响应
  • 实时更新:通过 Times Wire 获取实时新闻源
  • 灵活搜索:全面的文章搜索功能
  • 错误处理:稳健的错误管理
  • 健康监控:内置健康检查端点
  • 轻松集成:可轻松集成到任何应用程序

要求

  • Python 3.8+
  • NYT API 密钥(可在 NYT Developer Portal 获取)
  • 所需的 Python 软件包(参见 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  # On 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

项目结构

nyt-mcp-server/
├── src/
│   ├── __init__.py
│   ├── server.py
│   └── config.py
├── .env
├── .gitignore
├── requirements.txt
└── README.md

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()

# Run the async function
asyncio.run(get_news())

消息类型

1. 文章搜索
{
    "message_type": "article_search",
    "content": {
        "query": "technology",
        "sort": "newest",
        "page": 0
    },
    "timestamp": "2025-03-05T21:00:00Z"
}
2. 头条新闻
{
    "message_type": "top_stories",
    "content": {
        "section": "technology"
    },
    "timestamp": "2025-03-05T21:00:00Z"
}
3. Times Wire
{
    "message_type": "times_wire",
    "content": {
        "limit": 5,
        "source": "nyt"
    },
    "timestamp": "2025-03-05T21:00:00Z"
}
4. 最受欢迎内容
{
    "message_type": "most_popular",
    "content": {
        "type": "viewed",
        "time_period": "7"
    },
    "timestamp": "2025-03-05T21:00:00Z"
}
5. 存档
{
    "message_type": "archive",
    "content": {
        "year": 2025,
        "month": 3
    },
    "timestamp": "2025-03-05T21:00:00Z"
}
6. 图书
{
    "message_type": "books",
    "content": {
        "list": "hardcover-fiction"
    },
    "timestamp": "2025-03-05T21:00:00Z"
}

贡献

  1. Fork 此仓库
  2. 创建功能分支(git checkout -b feature/AmazingFeature)
  3. 提交更改(git commit -m 'Add some AmazingFeature')
  4. 推送到分支(git push origin feature/AmazingFeature)
  5. 发起 Pull Request

许可证

MIT 许可证

安全提示

  • 切勿提交 .env 文件
  • 妥善保管 NYT API 密钥
  • 使用环境变量存储敏感数据

联系方式

如需报告 Bug 或提出功能请求,请创建 issue。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。