About MCP Server TypeScript Starter
MCP Server TypeScript Starter is a TypeScript template for developers building MCP servers. It includes a basic server setup, a sample tool, and a type-safe development environment.
Key features
- 01TypeScript configuration
- 02Basic MCP server setup
- 03Sample tool implementation
- 04Type-safe development environment
Use cases
- 01Starting a TypeScript MCP server project
- 02Trying a sample MCP tool
- 03Adding tools with parameter schemas
MCP support
The template provides a basic MCP server and shows how to add tools with `server.tool()`. Its example configuration also describes entries for connecting multiple MCP servers.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP 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
- Implement your tools in
src/index.ts - 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 servercommand: 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
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.