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.
This MCP server provides:
npm install
npm run build
Run the server in development mode with hot reloading:
npm run dev
Build and run the compiled server:
npm run build
npm start
Build and watch for changes:
npm run watch
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.
Example configuration for MCP clients:
{
"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:
ToolHandler
interfaceResourceHandler
interfaceToolHandler
in src/tools/
ToolRegistry
in src/tools/registry.ts
examples/tools/example-tool.ts
for a complete exampleResourceHandler
in src/resources/
ResourceRegistry
in src/resources/registry.ts
examples/resources/example-resource.ts
for complete examplesThe flight status tool provides real-time flight information:
Features:
Usage:
# Test the flight status tool
node test-flight-status.js
API Integration: By default, the tool uses mock data. To get real flight data:
AVIATIONSTACK_API_KEY=your_api_key
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 .gitignore
file that excludes:
.env*
) containing API keysdist/
)node_modules/
)Important Security Note: API keys and secrets are automatically excluded from git tracking.
See GITIGNORE_INFO.md
for 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/
A TypeScript library for integrating MCP with tools like LangChain and Zod, providing helpers for schema conversion and event streaming.
MCP Expr-Lang provides a seamless integration between Claude AI and the powerful expr-lang expression evaluation engine.
A reactive AI agent framework for creating agents that use tools to perform tasks, with support for multiple LLM providers and MCP servers.
Reference implementations of Model Context Protocol (MCP) servers in Typescript and Python, showcasing MCP features and SDK usage.
A RAG-based Q&A server using a vector store built from Gemini CLI documentation.
Automate Android devices using the uiautomator2 library, requiring adb and a connected device.
Execute developer-defined bash scripts in a Dockerized environment for coding agents.
MCP server to provide golang packages and their information from pkg.go.dev
An example of deploying a remote MCP server on Cloudflare Workers without authentication.
Turns any Swagger/OpenAPI REST endpoint with a yaml/json definition into an MCP Server with Langchain/Langflow integration automatically.