MCP Server Demo
# MCP Server Demo
A simple demonstration project for the Model Control Protocol (MCP) server implementation.
MCP client implementation will be provided in the future.
<a href="https://glama.ai/mcp/servers/@dynstat/mcp-demo">
<img width="380" height="200" src="https://glama.ai/mcp/servers/@dynstat/mcp-demo/badge" alt="Server Demo MCP server" />
</a>
## Overview
This project demonstrates a simple MCP server built with FastMCP that provides several tools and resources for AI assistants to use:
- **News Article Fetching**: Query and retrieve news articles from WorldNewsAPI
- **Simple Calculation**: Basic addition functionality
- **Weather Information**: Simple weather data retrieval
- **Dynamic Greeting**: Personalized greeting resource
## Setup
### Prerequisites
- Python 3.x
- Required Python packages (used for testing):
- `mcp-server`
- `worldnewsapi`
### Installation
1. Clone this repository
2. Install dependencies:
```
uv add mcp-server
```
```
uv add worldnewsapi
```
```
pip install mcp-server worldnewsapi
```
## Usage
### Running the Server
Run the server with Python: from MCP related configuration and restart the client, like claude desktop or cursor ide mcp.TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose with no overlap: 'add' performs arithmetic, 'fetch_news_articles' retrieves news data, and 'get_weather' provides weather information. The descriptions reinforce these unique domains, making misselection unlikely.
The naming is inconsistent with mixed conventions: 'add' uses a simple verb, 'fetch_news_articles' follows a verb_noun pattern with snake_case, and 'get_weather' uses a verb_noun pattern but with different verb style ('get' vs 'fetch'). This lack of pattern reduces predictability.
With only 3 tools, the server feels thin and under-scoped for a general-purpose 'MCP Server Demo', as it covers unrelated domains (math, news, weather) without depth in any area. This minimal set suggests a lack of coherent focus.
The tool set is severely incomplete for any discernible domain; it appears to be a random collection of unrelated utilities. There are obvious gaps, such as no update or delete operations for news or weather, and no coverage of basic workflows beyond simple fetches and addition.