Times Newswire API MCP Server

MCP Server

This project is an MCP (Multi-Agent Conversation Protocol) Server for the given OpenAPI URL - https://api.apis.guru/v2/specs/nytimes.com/timeswire/3.0.0/openapi.json, auto-generated using AG2's MCP builder.

Prerequisites

  • Python 3.9+
  • pip and uv

Installation

  1. Clone the repository:
    git clone <repository-url> cd mcp-server
  2. Install dependencies: The .devcontainer/setup.sh script handles installing dependencies using pip install -e ".[dev]". If you are not using the dev container, you can run this command manually.
    pip install -e ".[dev]"
    Alternatively, you can use uv:
    uv pip install --editable ".[dev]"

Development

This project uses ruff for linting and formatting, mypy for static type checking, and pytest for testing.

Linting and Formatting

To check for linting issues:

ruff check

To format the code:

ruff format

These commands are also available via the scripts/lint.sh script.

Static Analysis

To run static analysis (mypy, bandit, semgrep):

./scripts/static-analysis.sh

This script is also configured as a pre-commit hook in .pre-commit-config.yaml.

Running Tests

To run tests with coverage:

./scripts/test.sh

This will run pytest and generate a coverage report. For a combined report and cleanup, you can use:

./scripts/test-cov.sh

Pre-commit Hooks

This project uses pre-commit hooks defined in .pre-commit-config.yaml. To install the hooks:

pre-commit install

The hooks will run automatically before each commit.

Running the Server

The MCP server can be started using the mcp_server/main.py script. It supports different transport modes (e.g., stdio, sse).

To start the server (e.g., in stdio mode):

python mcp_server/main.py stdio

The server can be configured using environment variables:

  • CONFIG_PATH: Path to a JSON configuration file (e.g., mcp_server/mcp_config.json).
  • CONFIG: A JSON string containing the configuration.
  • SECURITY: Environment variables for security parameters (e.g., API keys).

Refer to the if __name__ == "__main__": block in mcp_server/main.py for details on how these are loaded.

The tests/test_mcp_server.py file demonstrates how to start and interact with the server programmatically for testing.

Building and Publishing

This project uses Hatch for building and publishing. To build the project:

hatch build

To publish the project:

hatch publish

These commands are also available via the scripts/publish.sh script.

-
security - not tested
F
license - not found
-
quality - not tested

An MCP server that provides access to the New York Times Newswire API, allowing agents to retrieve real-time news updates and content from the New York Times.

  1. Prerequisites
    1. Installation
      1. Development
        1. Linting and Formatting
        2. Static Analysis
        3. Running Tests
        4. Pre-commit Hooks
      2. Running the Server
        1. Building and Publishing

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            This is a TypeScript-based MCP server that allows searching for New York Times articles from the last 30 days based on a keyword.
            Last updated -
            1
            5
            8
            JavaScript
            MIT License
            • Apple
          • -
            security
            F
            license
            -
            quality
            An MCP server that fetches RSS feeds and shares them with LLMs, allowing AI assistants to access and present the latest news and articles from configured feeds.
            Last updated -
            1
            TypeScript
          • A
            security
            A
            license
            A
            quality
            The MCP server that can read recent news from Coindesk.
            Last updated -
            2
            Python
            MIT License
            • Linux
            • Apple
          • -
            security
            A
            license
            -
            quality
            An MCP server that provides real-time cryptocurrency news sourced from NewsData for AI agents.
            Last updated -
            3
            Python
            MIT License

          View all related MCP servers

          ID: e2hf6cdnc7