Uses Axios HTTP client library for making API requests to various external services including Alpha Vantage stock market data and currency exchange rate APIs
Provides UI components and styling framework for the web interface across all four MCP servers
Powers the web server infrastructure for all four MCP servers, handling HTTP endpoints and serving web interfaces
Provides the markup structure for the web interfaces of all four MCP servers
Powers the frontend functionality and animations for the web interfaces across all MCP servers
Enables external access and exposure of the MCP servers for integration with services like ChatGPT
Provides the runtime environment for all four TypeScript-based MCP servers
Manages dependencies and provides build/run scripts for the MCP server suite
Provides utility-first CSS framework for styling the responsive web interfaces of all MCP servers
Programming language used to build all four MCP servers with type safety and modern JavaScript features
MCP ChatGPT App - Multi-Server Suite
A comprehensive TypeScript ChatGPT App suite using the Model Context Protocol (MCP) SDK with Express. This project includes four powerful MCP servers for different use cases.
🎯 Available MCP Servers
📊 Stock Market MCP (Port 3000) - Real-time top movers from Alpha Vantage
💱 Currency Converter MCP (Port 3001) - Convert between 160+ world currencies
🌍 World Time MCP (Port 3002) - Convert time across global timezones
📏 Units Converter MCP (Port 3003) - Convert measurements across 10 categories
Features
🚀 MCP Server Integration: Uses @modelcontextprotocol/sdk to expose tools
🎨 Beautiful UI: Dark mode with DaisyUI, Tailwind CSS, and Anime.js animations
📱 Responsive Design: Works on desktop and mobile
🔄 Real-time Data: Live data from various APIs
🌐 Ngrok Ready: Easy to expose via ngrok for external access
⚡ Multi-Server Support: Run all servers simultaneously or individually
Prerequisites
Node.js (v16 or higher)
Alpha Vantage API key (free at https://www.alphavantage.co/support/#api-key) - Required for Stock Market server only
ngrok (for external access) - optional
Setup
Install dependencies:
npm installSet up environment variables:
# Copy the example file cp .env.example .env # Edit .env and add your Alpha Vantage API key # Or set it as a system environment variable export ALPHA_VANTAGE_API_KEY=your_api_key_hereBuild the TypeScript project:
npm run build
Running the Servers
Quick Start - All Servers
Start all four servers at once:
This starts:
Stock Market MCP on http://localhost:3000
Currency Converter MCP on http://localhost:3001
World Time MCP on http://localhost:3002
Units Converter MCP on http://localhost:3003
Stop all servers:
Individual Servers
Start servers individually using their dedicated scripts:
Using NPM Scripts
Development mode (with auto-reload):
Production mode:
Exposing with ngrok
To make your servers accessible externally (e.g., for ChatGPT integration):
ngrok will provide you with a public URL that you can use to access your server.
Architecture
1. Stock Market MCP Server (src/server.ts)
MCP Tools:
topMovers- Fetches top gainers, losers, and most actively traded stocks
Endpoints:
GET /- Serves the web interfacePOST /mcp- MCP JSON-RPC endpointGET /mcp/tools/list- Lists available toolsPOST /mcp/tools/call- Calls MCP tools
Frontend: public/index.html
2. Currency Converter MCP Server (src/currency-server.ts)
MCP Tools:
convertCurrency- Convert between currenciesgetSupportedCurrencies- List all supported currenciesgetExchangeRates- Get all rates for a base currency
Features:
160+ world currencies
Real-time exchange rates
Free API (no key required)
Frontend: public-currency/index.html
3. World Time MCP Server (src/time-server.ts)
MCP Tools:
convertTime- Convert time between timezonesgetCurrentTime- Get current time in a timezonegetSupportedTimezones- List all supported timezonesgetWorldClocks- Get time in multiple timezones
Features:
30+ major world timezones
DST detection
UTC offset calculation
Frontend: public-time/index.html
4. Units Converter MCP Server (src/units-server.ts)
MCP Tools:
convertUnits- Convert between different unitsgetSupportedUnits- List units by categorygetCategories- List all unit categories
Features:
10 categories (length, weight, temperature, volume, area, speed, pressure, energy, power, data)
70+ different units
Automatic category detection
Frontend: public-units/index.html
Common Features
All servers include:
Express Server: Serves the frontend and handles API requests
MCP Protocol: Full MCP JSON-RPC 2.0 implementation
CORS Enabled: Ready for cross-origin requests
Beautiful UI: Dark mode with DaisyUI, Tailwind CSS, and Anime.js
ChatGPT Ready: Compatible with ChatGPT Actions
API Usage Examples
Stock Market MCP
Currency Converter MCP
World Time MCP
Units Converter MCP
MCP JSON-RPC Format
All servers support the MCP protocol via POST to /mcp:
Technologies Used
Backend:
TypeScript
Express.js
@modelcontextprotocol/sdk
Axios
Alpha Vantage API
Frontend:
HTML5
Tailwind CSS
DaisyUI
Anime.js
Vanilla JavaScript
📚 Documentation
For detailed information about each server:
MCP_SERVERS_GUIDE.md - Comprehensive guide for all servers
QUICKSTART.md - Quick start guide
CHATGPT_INTEGRATION.md - ChatGPT integration guide
Troubleshooting
API Key Issues
If you see a warning about ALPHA_VANTAGE_API_KEY not set:
This only affects the Stock Market server
Make sure you've set the environment variable
Check that your
.envfile is in the project rootVerify the API key is valid at https://www.alphavantage.co/
Port Already in Use
If a port is already in use, you can either:
Stop the process using that port:
lsof -i :3000thenkill <PID>Set a different port:
PORT=3005 npm run dev
Build Errors
If you encounter build errors:
CORS Issues
All servers are configured with CORS enabled. If you still experience issues, check your browser console for specific CORS errors.
Server Won't Start
Make sure all dependencies are installed and TypeScript is built:
🤝 Contributing
Feel free to submit issues, fork the repository, and create pull requests for any improvements.
📄 License
ISC
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.
A comprehensive suite of four MCP servers providing real-time stock market data, currency conversion between 160+ currencies, world timezone conversion, and unit conversion across 10 measurement categories. Features beautiful web interfaces and ChatGPT integration capabilities.