MCP Server
This project is an MCP (Model Context 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
- Clone the repository:
- 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.Alternatively, you can useuv
:
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:
To format the code:
These commands are also available via the scripts/lint.sh script.
Static Analysis
To run static analysis (mypy, bandit, semgrep):
This script is also configured as a pre-commit hook in .pre-commit-config.yaml.
Running Tests
To run tests with coverage:
This will run pytest and generate a coverage report. For a combined report and cleanup, you can use:
Pre-commit Hooks
This project uses pre-commit hooks defined in .pre-commit-config.yaml. To install the hooks:
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
, streamable-http
).
To start the server (e.g., in stdio mode):
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:
To publish the project:
These commands are also available via the scripts/publish.sh script.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Сервер MCP, который обеспечивает доступ к API New York Times Newswire, позволяя агентам получать обновления новостей и контент из New York Times в режиме реального времени.
Related MCP Servers
- AsecurityAlicenseAqualityThis 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 -1614JavaScriptMIT License
- -securityAlicense-qualityAn MCP server that provides real-time cryptocurrency news sourced from NewsData for AI agents.Last updated -8PythonMIT License
- AsecurityAlicenseAqualityA streamlined MCP server that enables AI assistants to send real-time notifications to your devices through the ntfy service, allowing you to receive alerts when tasks complete or important events occur.Last updated -165831JavaScriptGPL 3.0
- -securityFlicense-qualityA Multi-Agent Conversation Protocol server that provides access to the New York Times Most Popular API, allowing agents to interact with NYT's most viewed, shared, and emailed content.Last updated -Python