Skip to main content
Glama
willwade

AAC-MCP

by willwade

MCP Server

A TypeScript template repository for creating Model Context Protocol (MCP) servers with support for both stdio (Standard Input/Output) and SSE (Server-Sent Events) transports. This template provides a solid foundation for building MCP servers with a well-organized structure and essential features.

Features

  • πŸš€ Built with TypeScript for type safety and better developer experience

  • πŸ”„ Supports both stdio and SSE transports

  • πŸ“¦ Includes example prompts, resources, and tools

  • ⚑ Uses FastMCP for rapid development

Related MCP server: MCP Server Starter (TypeScript)

Prerequisites

Getting Started

  1. Create a repo from this template

    Click Use this template > Create a new repository

    screenshot

  2. Clone your repository

    git clone https://github.com/iamtraction/node-mcp-server.git
    cd node-mcp-server
  3. Install dependencies

    npm install
  4. Start development server

    npm run dev

Project Structure

src/
β”œβ”€β”€ prompts/     # MCP prompts
β”œβ”€β”€ resources/   # MCP resources
β”œβ”€β”€ tools/       # MCP tools
└── server.ts    # Main server file

Available Scripts

  • npm run dev - Start development server with hot reload

  • npm run build - Build the TypeScript code

  • npm run start - Start the production server

  • npm run watch - Watch for TypeScript changes

  • npm run lint - Run ESLint to check code quality and style

Adding New Features

Adding a Prompt

Create a new file in src/prompts/ and add it to server.ts. Learn more about MCP Prompts:

import myPrompt from "./prompts/my-prompt.js";
server.addPrompt(myPrompt);

Adding a Resource

Create a new file in src/resources/ and add it to server.ts. Learn more about MCP Resources:

import myResource from "./resources/my-resource.js";
server.addResource(myResource);

Adding a Tool

Create a new file in src/tools/ and add it to server.ts. Learn more about MCP Tools:

import myTool from "./tools/my-tool.js";
server.addTool(myTool);

Configuration

The server can be configured in server.ts. By default, it runs on port 3000 with SSE transport. You can modify the configuration in the server.start() options.:

server.start({
    transportType: "httpStream", // or "stdio"
    httpStream: {
        port: 3000,
    },
});

Learn more about Transports.

Using the MCP Server

stdio Server Setup

{
    "mcpServers": {
        "example-server": {
            "command": "node",
            "args": [ "dist/server.js" ]
         }
    }
}

SSE Server Setup

{
    "mcpServers": {
        "example-server": {
            "url": "https://example-server.com/sse"
         }
    }
}

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Showcase

Have you built something cool with this template? Add it to the showcase!

To add your project to the showcase:

  1. Edit this README.md file

  2. Add your project to the list above using this format:

    - [Your Project Name](link-to-your-project) - Brief description
  3. Submit a pull request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    A minimal, production-ready TypeScript template for building Model Context Protocol servers with auto-loading architecture for tools, resources, and prompts, supporting both stdio and HTTP transports.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    A template for building Model Context Protocol (MCP) servers using TypeScript, with standard I/O transport and Zod validation for type-safe argument handling.
    7 npm
    ISC
  • F
    license
    C
    quality
    D
    maintenance
    A TypeScript template for building MCP servers with stdio/SSE transport and easy tool registration.
    5
    -