Simple MCP Server

by sumitvairagar

Not rated
GitHub

About

A starter MCP server built with TypeScript and the official MCP SDK, featuring example tools like echo, add, time, and flight status.

Details

Author
sumitvairagar
Categories
Developer Tools

Setup

Install Simple MCP Server in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/sumitvairagar/mcp-server-starter

Follow the installation instructions in the repository README, then restart your MCP client.

A starter MCP server built with TypeScript and the official MCP SDK, featuring example tools like echo, add, time, and flight status.

A simple Model Context Protocol (MCP) server implementation using TypeScript and the official MCP SDK.

- echo: Echoes back the input text
- add_numbers: Adds two numbers together
- get_current_time: Returns the current date and time
- get_flight_status: Get real-time flight status using flight number (supports both mock and real API data)

- info://server: Server information and capabilities
- greeting://hello: A simple greeting message

Run the server in development mode with hot reloading:

To use this server with an MCP client, you'll need to configure the client to connect to this server. The server uses stdio transport, so it can be launched as a subprocess.

{ "mcpServers": { "simple-server": { "command": "node", "args": ["path/to/dist/index.js"] } } }
├── examples/ # Example implementations │ ├── resources/ │ │ └── example-resource.ts # Example resource implementations │ └── tools/ │ └── example-tool.ts # Example tool implementations ├── src/ # Source code │ ├── handlers/ │ │ └── index.ts # MCP request handlers │ ├── resources/ │ │ ├── index.ts # Resource implementations │ │ └── registry.ts # Resource registry │ ├── tools/ │ │ ├── index.ts # Tool implementations │ │ └── registry.ts # Tool registry │ ├── types/ │ │ └── index.ts # TypeScript type definitions │ ├── utils/ │ │ └── config.ts # Configuration and utilities │ ├── index.ts # Main entry point │ └── server.ts # Core server implementation ├── dist/ # Compiled JavaScript (generated) ├── package.json # Node.js dependencies and scripts ├── tsconfig.json # TypeScript configuration ├── test.js # Basic test script ├── test-comprehensive.js # Comprehensive test script └── README.md # This file

The server is built with a modular architecture that makes it easy to extend:

- Tools: Each tool is a separate class implementing theToolHandlerinterface
- Resources: Each resource is a separate class implementing theResourceHandlerinterface
- Registries: Central registries manage all tools and resources
- Handlers: Request handlers manage MCP protocol communication
- Types: Shared TypeScript interfaces for type safety
- Create a new tool class implementingToolHandlerinsrc/tools/
- Add the tool to theToolRegistryinsrc/tools/registry.ts
- Seeexamples/tools/example-tool.tsfor a complete example
- Create a new resource class implementingResourceHandlerinsrc/resources/
- Add the resource to theResourceRegistryinsrc/resources/registry.ts
- Seeexamples/resources/example-resource.tsfor complete examples

The flight status tool provides real-time flight information:

- Real-time flight status (scheduled, active, landed, cancelled, delayed)
- Departure and arrival airport information
- Airline details
- Scheduled times
- International flight support

# Test the flight status tool node test-flight-status.js

API Integration:By default, the tool uses mock data. To get real flight data:
- Sign up for a free API key atAviationStack
- Set the environment variable:AVIATIONSTACK_API_KEY=your_api_key
- Rebuild and restart the server

Run the test scripts to verify functionality:

# Basic test node test.js # Comprehensive test with all features node test-comprehensive.js # Test flight status tool specifically node test-flight-status.js

The project includes a comprehensive.gitignorefile that excludes:

- Environment files (.env*) containing API keys
- Compiled output (dist/)
- Dependencies (node_modules/)
- IDE/editor files
- OS-specific files
- Logs and temporary files

Important Security Note: API keys and secrets are automatically excluded from git tracking.

SeeGITIGNORE_INFO.mdfor detailed information about ignored files.

This server implements the Model Context Protocol (MCP) which allows AI assistants to securely access external tools and data sources. The server communicates via JSON-RPC over stdio.

For more information about MCP, visit:https://modelcontextprotocol.io/

This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.

Create crafted UI components inspired by the best 21st.dev design engineers.

Bring agent evaluations, observability, and synthetic test set generation directly into your IDE for free with Galileo's new MCP server

An MCP server to help AI assistants to answer questions and generate AccelByte Extend SDK code more effectively .

MCP server for AI Diagram Maker — generate beautiful software engineering diagrams directly inside Cursor, Claude Desktop, Claude Code, or any MCP-compatible AI agent

ALAPI MCP Tools,Call hundreds of API interfaces via MCP

AI-powered SVG animation generator that transforms static files into animated SVG components using the Allyson platform

MCP server that gives AI assistants on-demand access to 1,500+ amCharts docs, ~300 code examples, and 1000+ class API references.

APIMatic MCP Server is used to validate OpenAPI specifications using APIMatic. The server processes OpenAPI files and returns validation summaries by leveraging APIMatic’s API.

One shared context layer for AI agents and humans — live API specs, DB schemas, and versioned contracts across repos so every agent and teammate works from the same source of truth.

Build and deploy full-stack Next.js apps with 98 tools for React, AWS, and MongoDB

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.