
Multi-Feature MCP Server
Provides comprehensive functionality including weather data, system utilities, Azure cloud management, and AI-powered image generation and editing. Features interactive parameter selection through MCP elicitation for enhanced user experience.
README
MCP Multi-Feature Server
This project is a Model Context Protocol (MCP) server implemented using Node.js and TypeScript, following the official MCP TypeScript SDK.
It provides multiple capabilities including weather data, system utilities, Azure integration, and AI-powered image generation and editing.
Features
- Current Weather: Get the current weather for any city
- Weather Forecast: Get a 3-day weather forecast for any city
- City Search: Find cities by name
- CLI Commands: Execute safe, whitelisted CLI commands
- Directory Listing: List files and directories
- System Info: Get basic system information
- Azure Integration: Manage Azure subscriptions and resource groups with MCP elicitation
- Azure Storage: Manage Azure Storage blobs and containers
- Image Generation: Generate images using AI models (gpt-image-1, flux.1-kontext-pro)
- Image Editing: Edit existing images with AI-powered modifications and enhancements
Getting Started
Prerequisites
- Node.js v18.x or higher
Install dependencies
npm install
Configure Environment
- Copy the sample environment file:
cp .env.sample .env
- Edit
.env
file to configure your image API endpoints:
GENERATE_IMAGE_API_URL=http://127.0.0.1:8000/v1/images/generations
EDIT_IMAGE_API_URL=http://127.0.0.1:8000/v1/images/edits
Build the project
npx tsc
Run the server (development)
npx ts-node src/server.ts
Run the server (compiled)
npm run start
Project Structure
src/server.ts
: Main MCP server implementationpackage.json
: Project configuration and dependenciestsconfig.json
: TypeScript configuration.env
: Environment configuration (create from .env.sample).env.sample
: Environment configuration template.gitignore
: Git ignore rules
Sample Prompts
You can use these prompts with an MCP-compatible client or extension:
-
Get current weather
currentWeather: city = Seattle
What is the current weather in Paris?
weather in Phoenix
-
Get weather forecast
forecast: city = New York
weather forecast for Seattle
3-day forecast for London
-
Search for a city
searchCity: query = Washington
Find cities named "Springfield"
-
Execute CLI commands
executeCommand: command = "git status"
executeCommand: command = "ls -la"
executeCommand: command = "npm --version"
-
List directory contents
listDirectory: path = "."
listDirectory: path = "src"
-
Get system information
getSystemInfo
-
Azure subscription management
listAzureSubscriptions
getCurrentAzureSubscription
-
Azure resource groups (with MCP elicitation)
listAzureResourceGroups
(uses VS Code command palette for subscription selection)
-
Image generation
generateImages: prompt = "A futuristic cityscape at sunset"
generateImages: prompt = "A cute robot", model = "flux.1-kontext-pro", size = "512x512", quality = "hd"
generateImages: prompt = "Mountain landscape", model = "gpt-image-1", n = 2
-
Image editing
editImages: prompt = "Add a rainbow in the sky", image = "<base64-data>"
editImages: prompt = "Change the car color to red", image = "<base64-data>", model = "gpt-image-1"
editImages: prompt = "Remove the background", image = "<base64-data>", quality = "hd"
Configuration
Environment Variables
Create a .env
file in the project root (copy from .env.sample
):
# Image Generation API Configuration
GENERATE_IMAGE_API_URL=http://127.0.0.1:8000/v1/images/generations
# Image Editing API Configuration
EDIT_IMAGE_API_URL=http://127.0.0.1:8000/v1/images/edits
Note: You can configure separate endpoints for generation and editing to work with different services.
Image Generation API Requirements
The image generation tools require running API servers with the following endpoints:
POST /v1/images/generations
- Generate images from text prompts (configured viaGENERATE_IMAGE_API_URL
)POST /v1/images/edits
- Edit images with AI modifications (configured viaEDIT_IMAGE_API_URL
)
Supported Models:
gpt-image-1
(Azure OpenAI DALL-E) - Default modelflux.1-kontext-pro
(Flux model) - High-quality artistic generation
Model-Specific Features:
- gpt-image-1: Quality options (standard, hd), supports both generation and editing
- flux.1-kontext-pro: Standard quality only, optimized for creative content
Supported Sizes: 1024x1024 (default), 512x512, 256x256, and other standard dimensions Quality Options:
- gpt-image-1:
standard
,hd
- flux.1-kontext-pro:
standard
MCP Elicitation Features ⭐
This server demonstrates proper implementation of the MCP Elicitation specification with VS Code integration:
listAzureResourceGroups
Tool
- Interactive Selection: When called without a
subscriptionId
parameter, triggers the VS Code MCP extension's command palette - Native Integration: Uses the official MCP elicitation protocol (
elicitation/create
JSON-RPC request) - Rich UI: Shows subscription names with "(ACTIVE)" indicator in the selection dropdown
- Enum Schema: Provides structured choices with display names for better UX
How it works:
- Tool is called without
subscriptionId
parameter - Server sends
elicitation/create
request to client - VS Code MCP extension shows command palette with subscription options
- User selects subscription from dropdown
- Tool continues with selected subscription ID
This showcases the proper way to implement interactive, user-driven parameter selection in MCP servers.
References
Recommended Servers
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.
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.
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.

VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.

E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.