MCP-Server

MCP-Server

A lightweight bridge connecting LLMs to real-world APIs like finance, weather, news, and GitHub through Anthropic's Model Context Protocol, enabling unified access and intelligent query routing.

Category
Visit Server

README

Model Context Protocol (MCP) Server

This project is a lightweight, standardized bridge that connects Claude and other LLMs to real-world APIs through Anthropic's Model Context Protocol (MCP). This server enables seamless integration between AI applications and external data sources without requiring custom integration work for each API.

Project Overview

The MCP Server implements Anthropic's open standard protocol to expose multiple API capabilities (tools, resources, and prompts) through a unified interface. This allows any MCP-compatible AI application to interact with various external services including financial data, weather information, news feeds, and GitHub repositories.

Postman Collection : Postman Colletion Link

Video not included as the OpenAI API key became invalid before the loom video could be recorded

Architecture

┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│   Claude/LLM    │◄──►│   MCP Server     │◄──►│  External APIs  │
│   Application   │    │   (This Project) │    │                 │
└─────────────────┘    └──────────────────┘    └─────────────────┘
                              │
                              ▼
                    ┌──────────────────┐
                    │   API Handlers   │
                    │  ┌─────────────┐ │
                    │  │ Finance API │ │
                    │  │ Weather API │ │
                    │  │ News API    │ │
                    │  │ GitHub API  │ │
                    │  └─────────────┘ │
                    └──────────────────┘

Features

Multi-API Support

  • Financial Data: Real-time stock prices, market data, and financial analytics
  • Weather Services: Current conditions, forecasts, and weather alerts
  • News Integration: Latest news articles, headlines, and content aggregation
  • GitHub Integration: Repository data, commits, issues, and developer statistics

MCP Protocol Implementation

  • Standardized tool exposure through MCP specification
  • Resource management for external API data
  • Prompt templates for common API interactions
  • Unified request/response handling

Intelligent Request Routing

  • Mixed Prompt Handler (/mcp): Processes complex queries spanning multiple APIs
  • Dedicated Endpoints: Individual API access points for specific use cases
  • Smart routing based on user intent and query analysis

Performance & Reliability

  • Caching Strategies: Redis-based caching for frequently accessed data
  • Rate Limiting: Built-in protection against API quota exhaustion
  • Error Handling: Robust error recovery and graceful degradation
  • Comprehensive Logging: Detailed request/response logging for debugging

Developer Experience

  • Simple JSON-based request format
  • Consistent API responses across all endpoints
  • TypeScript implementation for type safety
  • Comprehensive documentation and examples

Tech Stack

Core Technologies

  • Node.js with TypeScript: Server runtime and type safety
  • Express.js: Web framework and routing
  • MCP Protocol: Anthropic's standardized AI-API bridge specification

External API Integrations

  • Financial APIs: Yahoo Finance
  • Weather APIs: OpenWeatherMap
  • News APIs: NewsAPI
  • GitHub API: GitHub Personal Access Token (PAT)

Infrastructure

  • Redis: Caching layer for performance optimization
  • Docker: Containerization for easy deployment
  • Prometheus: Metrics collection and monitoring
  • Grafana: Visualizes the metrics collected by Prometheus

Project Structure

src/
├── mcpHandler/           # MCP protocol handlers
│   ├── financeHandler.ts
│   ├── githubHandler.ts
│   ├── mcpHandler.ts     # Mixed prompt processor
│   ├── newsHandler.ts
│   └── weatherHandler.ts
├── routes/               # API route definitions
│   ├── financeRoute.ts
│   ├── githubRoute.ts
│   ├── mcpRoute.ts       # Main MCP endpoint
│   ├── newsRoute.ts
│   └── weatherRoute.ts
├── services/             # External API service clients
│   ├── financeService.ts
│   ├── githubService.ts
│   ├── mcpService.ts
│   ├── newsService.ts
│   ├── openai.ts
│   └── weatherService.ts
├── utils/                
│   └── redis.ts          # Redis configuration
└── index.ts              # Application entry point

API Endpoints

Mixed Prompt Handler

POST /mcp

Processes complex queries that may require data from multiple APIs.

Individual API Endpoints

POST /news      - News and article queries
POST /github    - GitHub repository and developer data
POST /weather   - Weather conditions and forecasts
POST /finance   - Financial data and market information

Request Format

All endpoints accept a simple JSON payload:

{
  "userMessage": "Your query or request here"
}

Running locally

The entire system can be run locally with a single command using Docker Compose.

# Build and run with Docker Compose
docker-compose up --build

# Run specific services
docker-compose up redis mcp-server

Configuration

Environment Variables

# Server Configuration
PORT=3000

# Redis Configuration
REDIS_URL=redis://localhost:6379

# API Keys
OPENAI_API_KEY=your_openai_key
ALPHA_VANTAGE_API_KEY=your_finance_key
WEATHER_API_KEY=your_weather_key
NEWS_API_KEY=your_news_key
GITHUB_TOKEN=your_github_token

Usage Examples

Financial Data Query

curl -X POST http://localhost:3000/finance \
  -H "Content-Type: application/json" \
  -d '{"userMessage": "What is the current price of AAPL stock?"}'

Mixed Query (Multiple APIs)

curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -d '{"userMessage": "What is the weather like in New York and what are the latest tech news?"}'

GitHub Repository Analysis

curl -X POST http://localhost:3000/github \
  -H "Content-Type: application/json" \
  -d '{"userMessage": "Show me the latest commits in the React repository"}'

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured