nyt-mcp-server
A Message Concentrator Protocol (MCP) server that provides a unified, simple interface to the New York Times APIs. This server simplifies interaction with multiple NYT APIs through a single endpoint.
Documentation
NYT MCP Server
A Message Concentrator Protocol (MCP) server that provides a unified, simple interface to the New York Times APIs. This server simplifies interaction with multiple NYT APIs through a single endpoint.
Overview
This MCP server acts as a unified gateway to various New York Times APIs, including:
- Article Search
- Top Stories
- Times Wire (Real-time news)
- Most Popular
- Archive
- Books API
Features
- Single Endpoint: Access all NYT APIs through one consistent interface
- Clean Responses: Formatted and simplified API responses
- Real-time Updates: Live news feed via Times Wire
- Flexible Search: Comprehensive article search capabilities
- Error Handling: Robust error management
- Health Monitoring: Built-in health check endpoint
- Easy Integration: Simple to integrate with any application
Requirements
- Python 3.8+
- NYT API Key (get one at NYT Developer Portal)
- Required Python packages (see requirements.txt)
Quick Start
1. Clone the repository:
git clone https://github.com/your-username/nyt-mcp-server.git
cd nyt-mcp-server2. Create and activate virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate3. Install dependencies:
pip install -r requirements.txt4. Create `.env` file:
NYT_API_KEY=your_api_key_here
MCP_PORT=8000
MCP_HOST=0.0.0.05. Run the server:
python src/server.pyProject Structure
nyt-mcp-server/
├── src/
│ ├── __init__.py
│ ├── server.py
│ └── config.py
├── .env
├── .gitignore
├── requirements.txt
└── README.mdAPI Documentation
Base URL
http://localhost:8000Endpoints
POST /mcp/message
Main endpoint for all NYT API interactions.
GET /health
Health check endpoint.
Example Usage
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())Message Types
1. Article Search
{
"message_type": "article_search",
"content": {
"query": "technology",
"sort": "newest",
"page": 0
},
"timestamp": "2025-03-05T21:00:00Z"
}2. Top Stories
{
"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. Most Popular
{
"message_type": "most_popular",
"content": {
"type": "viewed",
"time_period": "7"
},
"timestamp": "2025-03-05T21:00:00Z"
}5. Archive
{
"message_type": "archive",
"content": {
"year": 2025,
"month": 3
},
"timestamp": "2025-03-05T21:00:00Z"
}6. Books
{
"message_type": "books",
"content": {
"list": "hardcover-fiction"
},
"timestamp": "2025-03-05T21:00:00Z"
}Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
License
MIT License
Security Note
- Never commit your `.env` file
- Keep your NYT API key private
- Use environment variables for sensitive data
Contact
Create an issue for bug reports or feature requests.
Frequently asked questions
What is nyt-mcp-server?
nyt-mcp-server is A Message Concentrator Protocol (MCP) server that provides a unified, simple interface to the New York Times APIs. This server simplifies interaction with multiple NYT APIs through a single endpoint.
How do I install nyt-mcp-server?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is nyt-mcp-server open source?
Yes — it is hosted on GitHub at https://github.com/aovabo/nyt-mcp-server.
Related MCP tools
AWS MCP Servers — helping you get the most out of AWS, wherever you use MCP. Python-based implementation. Trusted by 6900+ developers.
A simple, secure MCP-to-OpenAPI proxy server Python-based implementation. Trusted by 3500+ developers. Trusted by 3500+ developers.
MCP server that interacts with Obsidian via the Obsidian rest API community plugin Python-based implementation. Trusted by 2300+ developers.
Default Configuration: MCP CLI defaults to using Ollama with the gpt-oss reasoning model for local, privacy-focused operation without requiring API keys.
Official MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
MCP server for long term agent memory with Mem0. Also useful as a template to get you started building your own MCP server with Python!
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP