yhwancha

MCP Server TypeScript Starter

Community yhwancha
Updated

mkdir weather cd weather

MCP Server TypeScript Starter

This is a starter template for creating a Model Context Protocol (MCP) server using TypeScript. It provides a basic setup with a sample tool implementation to help you get started with building your own MCP server.

Features

  • TypeScript configuration
  • Basic MCP server setup
  • Sample tool implementation
  • Type-safe development environment

Getting Started

Follow these steps to create your own MCP server:

# Create a new directory for your project
mkdir <project_name>
cd <project_name>

# Initialize a new npm project
npm init -y

# Install dependencies
npm install @modelcontextprotocol/sdk zod
npm install -D @types/node typescript

# Create source directory and main file
mkdir src
touch src/index.ts

Project Structure

.
├── src/
│   └── index.ts    # Main server implementation
├── package.json    # Project dependencies and scripts
└── tsconfig.json   # TypeScript configuration

Development

  1. Implement your tools in src/index.ts
  2. Build the project:
    npm run build
    

Adding New Tools

To add a new tool, use the server.tool() method. Example:

server.tool(
  "tool-name",
  "tool-description",
  { 
    // Define your tool's parameters using Zod schema
    param: z.string().describe("parameter description") 
  },
  async ({ param }) => {
    // Implement your tool logic here
    return {
      content: [
        {
          type: "text",
          text: `Tool executed with parameter: ${param}`,
        },
      ],
    };
  },
);

MCP Server Configuration

You can configure multiple MCP servers in your project. Here's an example configuration:

{
    "mcpServers": {
        "<server_name>": {
            "command": "<command>",
            "args": [
                "--directory",
                "/ABSOLUTE/PATH/TO/PARENT/FOLDER/<project_name>",
                "run",
                "<script_name>"
            ]
        }
    }
}

This configuration specifies:

  • <server_name>: A unique identifier for your MCP server
  • command: The command to run your script (e.g., python, node, uv)
  • args: An array of command-line arguments
    • --directory: Sets the working directory for the script
    • Other arguments specific to your command and script needs

You can configure multiple servers by adding more entries to the mcpServers object.

License

ISC# venmo-mcp

mcp-spotify

MCP Server · Populars

MCP Server · New

    steveyegge

    beads-mcp

    Beads - A memory upgrade for your coding agent

    Community steveyegge
    mailtrap

    MCP Mailtrap Server

    Official mailtrap.io MCP server

    Community mailtrap
    statespace-tech

    ToolFront

    Data environments for AI agents

    Community statespace-tech
    PleasePrompto

    NotebookLM MCP Server

    MCP server for NotebookLM - Let your AI agents (Claude Code, Codex) research documentation directly with grounded, citation-backed answers from Gemini. Persistent auth, library management, cross-client sharing. Zero hallucinations, just your knowledge base.

    Community PleasePrompto
    pulsemcp

    Claude Code Agent MCP Server

    MCP (Model Context Protocol) Servers authored and maintained by the PulseMCP team. We build reliable servers thoughtfully designed specifically for MCP Client-powered workflows.

    Community pulsemcp