1. Conduid
  2. Developer Tools
  3. Starter Template Ts
MCP server · Developer Tools

Starter Template Ts

TypeScript starter template for building Model Context Protocol (MCP) servers, designed to help developers create secure and robust AI-agent-compatible services.

62Good

Scored 6 hours ago · breakdown

About Starter Template Ts

Starter Template Ts is an MCP server published by onamfc in the Developer Tools category: typeScript starter template for building Model Context Protocol (MCP) servers, designed to help developers create secure and robust AI-agent-compatible services. It has been installed 0 times through Conduid.

The repository has 10 stars and 3 forks, with the last commit 12 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.

Install

Install
npx mcp-starter-template-ts

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

Ask AI about Starter Template Ts

Powered by Claude · Grounded in docs

I know everything about Starter Template Ts. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ·README presentNot checked yet.
  • ·License declaredNot checked yet.
  • ·Tests presentNot checked yet.
  • ·Dependencies pinnedNot checked yet.
  • ·No dynamic code executionNot checked yet.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v1.0.0Release v1.0.0 - Initial Public Release · 5 Sep 2025I am thrilled to announce the first official release of the **MCP Starter Template**! This project provides a robust and comprehensive foundation for building Model Context Protocol (MCP) servers with TypeScript. This template is designed…

README

MCP Starter Template

A comprehensive starter template for building Model Context Protocol (MCP) servers with TypeScript. This template provides a solid foundation for developers of all skill levels to quickly bootstrap production-ready MCP projects.

Features

  • TypeScript First: Complete type safety with comprehensive type definitions
  • Production Ready: Robust error handling, logging, and validation
  • Modular Architecture: Clean separation of concerns following SOLID principles
  • Comprehensive Testing: Unit tests with Jest and high coverage standards
  • Docker Support: Containerization for easy deployment
  • CI/CD Ready: GitHub Actions workflows included
  • Developer Friendly: Extensive documentation and debugging tools
  • Security Focused: Input validation and secure file operations
  • Health Monitoring: Built-in health checks and metrics

Quick Start

Prerequisites

  • Node.js 18.0.0 or higher
  • npm 8.0.0 or higher (or yarn/pnpm equivalent)

Installation

Choose your preferred package manager:

Using npm:

git clone https://github.com/onamfc/mcp-starter-template-ts.git
cd mcp-starter-template-ts
npm install
npm run build
npm start

Using yarn:

git clone https://github.com/onamfc/mcp-starter-template-ts.git
cd mcp-starter-template-ts
yarn install
yarn build
yarn start

Using pnpm:

git clone https://github.com/onamfc/mcp-starter-template-ts.git
cd mcp-starter-template-ts
pnpm install
pnpm build
pnpm start

Development Mode

For development with hot reloading:

npm run dev

This will start the server with automatic restarts when you modify source files.

Project Structure

src/
├── server.ts              # Main MCP server implementation
├── types/                 # TypeScript type definitions
│   └── index.ts
├── tools/                 # MCP tools implementation
│   ├── setup.ts           # Tool registration and management
│   ├── calculator.ts      # Mathematical calculations
│   ├── filesystem.ts      # File system operations
│   ├── text-processing.ts # Text manipulation and analysis
│   └── weather.ts         # Weather information (mock)
├── resources/             # MCP resources implementation
│   ├── setup.ts           # Resource registration and management
│   ├── config.ts          # Configuration access
│   ├── docs.ts            # Documentation resource
│   └── logs.ts            # Logs access
├── utils/                 # Utility functions
│   ├── config.ts          # Configuration management
│   ├── logger.ts          # Structured logging
│   ├── validation.ts      # Input validation
│   ├── errors.ts          # Error handling
│   └── health.ts          # Health check utilities
└── __tests__/             # Test files
    ├── server.test.ts
    ├── tools/
    └── utils/

Configuration

The server can be configured through environment variables. Create a .env file in the project root:

# Server Configuration
PORT=3000
HOST=localhost
LOG_LEVEL=info
NODE_ENV=development

# Feature Flags
ENABLE_HEALTH_CHECK=true

# Security
MAX_REQUEST_SIZE=10mb
CORS_ORIGINS=*

# External Services (if needed)
# WEATHER_API_KEY=your_api_key_here
# DATABASE_URL=your_database_url_here

Environment Variables

Variable Description Default Required
PORT Server port number 3000 No
HOST Server host address localhost No
LOG_LEVEL Logging level (error, warn, info, debug) info No
NODE_ENV Environment (development, production, test) development No
ENABLE_HEALTH_CHECK Enable health check endpoint true No
MAX_REQUEST_SIZE Maximum request body size 10mb No
CORS_ORIGINS Allowed CORS origins (comma-separated) * No

Available Tools

Calculator (calculate)

Perform mathematical calculations with support for basic arithmetic operations.

Parameters:

  • expression (string, required): Mathematical expression to evaluate
  • precision (number, optional): Number of decimal places (default: 2)

Example:

{
  "name": "calculate",
  "arguments": {
    "expression": "2 + 3 * 4",
    "precision": 2
  }
}

File System (filesystem)

Read and write files within the project directory with security restrictions.

Parameters:

  • operation (string, required): Operation type (read, write, list, exists)
  • path (string, required): File or directory path (relative to project root)
  • content (string, optional): Content to write (required for write operation)
  • encoding (string, optional): File encoding (utf8, base64, default: utf8)

Example:

{
  "name": "filesystem",
  "arguments": {
    "operation": "read",
    "path": "package.json"
  }
}

Text Processing (text-processing)

Process and analyze text with various operations.

Parameters:

  • operation (string, required): Operation type (count, uppercase, lowercase, reverse, wordcount, sentiment)
  • text (string, required): Text content to process
  • options (object, optional): Additional options for the operation

Example:

{
  "name": "text-processing",
  "arguments": {
    "operation": "sentiment",
    "text": "I love this amazing weather today!"
  }
}

Weather (weather)

Get current weather information and forecasts (mock implementation).

Parameters:

  • location (string, required): Location name or coordinates
  • units (string, optional): Temperature units (metric, imperial, kelvin, default: metric)
  • forecast (boolean, optional): Include 5-day forecast (default: false)

Example:

{
  "name": "weather",
  "arguments": {
    "location": "New York, NY",
    "units": "metric",
    "forecast": true
  }
}

Available Resources

Configuration (resource://config/current)

Access current application configuration and settings.

Documentation (resource://docs/api)

Complete API documentation and usage examples.

Logs (resource://logs/recent)

Recent application logs and events.

Development

Available Scripts

  • npm run dev - Start development server with hot reloading
  • npm run build - Build the project for production
  • npm start - Start the production server
  • npm test - Run test suite
  • npm run test:watch - Run tests in watch mode
  • npm run test:coverage - Run tests with coverage report
  • npm run lint - Run ESLint
  • npm run lint:fix - Run ESLint with auto-fix
  • npm run format - Format code with Prettier
  • npm run format:check - Check code formatting
  • npm run type-check - Run TypeScript type checking
  • npm run clean - Clean build artifacts
  • npm run health - Check server health
  • npm run validate-config - Validate configuration

Adding New Tools

  1. Create a new file in src/tools/your-tool.ts
  2. Implement the ToolDefinition interface
  3. Add comprehensive error handling and logging
  4. Register the tool in src/tools/setup.ts
  5. Add tests in src/__tests__/tools/your-tool.test.ts

Example tool structure:

export const yourTool: ToolDefinition = {
  name: 'your-tool',
  description: 'Description of what your tool does',
  inputSchema: {
    type: 'object',
    properties: {
      // Define your parameters here
    },
    required: ['requiredParam'],
  },
  handler: async (args, context) => {
    // Implement your tool logic here
    // Always include proper error handling and logging
  },
};

Adding New Resources

  1. Create a new file in src/resources/your-resource.ts
  2. Implement the ResourceDefinition interface
  3. Add the resource to src/resources/setup.ts
  4. Add tests for the resource

Testing

Run the complete test suite:

npm test

Run tests in watch mode during development:

npm run test:watch

Generate coverage report:

npm run test:coverage

Code Quality

This project includes comprehensive code quality tools:

  • ESLint: Linting with TypeScript support
  • Prettier: Code formatting
  • TypeScript: Type checking
  • Jest: Testing framework

Run all quality checks:

npm run lint && npm run format:check && npm run type-check

Docker Support

Building the Docker Image

docker build -t mcp-server .

Running with Docker

docker run -p 3000:3000 mcp-server

Using Docker Compose

For development with additional services:

docker-compose up --build

Production Deployment

Build for Production

npm run build

Environment Setup

  1. Set NODE_ENV=production
  2. Configure appropriate log levels
  3. Set up proper CORS origins
  4. Configure external service credentials
  5. Set up monitoring and alerting

Health Monitoring

The server includes built-in health check endpoints:

  • Health status: GET http://localhost:3001/health
  • Metrics: GET http://localhost:3001/metrics

Security Considerations

  • All file operations are restricted to the project directory
  • Input validation is performed on all tool parameters
  • Expressions in calculator tool are sanitized to prevent code injection
  • Request logging includes tracking for security auditing
  • Error messages do not expose sensitive system information

Troubleshooting

Common Issues

Server won't start:

  • Check that the port is not already in use
  • Verify Node.js version (must be 18.0.0 or higher)
  • Run npm run validate-config to check configuration

Tools not working:

  • Check the logs for detailed error messages
  • Verify input parameters match the tool schema
  • Ensure file paths are relative and within project directory

Build failures:

  • Run npm run clean to remove old build artifacts
  • Check for TypeScript errors with npm run type-check
  • Verify all dependencies are installed

Test failures:

  • Make sure you're in the project root directory
  • Check that all environment variables are set correctly
  • Run tests individually to isolate issues: npm test -- --testNamePattern="specific test"

Debug Mode

Enable debug logging:

LOG_LEVEL=debug npm run dev

Getting Help

  1. Check the troubleshooting section above
  2. Review the API documentation at resource://docs/api
  3. Check recent logs at resource://logs/recent
  4. Open an issue on the project repository

Contributing

We welcome contributions! Please follow these guidelines:

Development Workflow

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-feature-name
  3. Make your changes with tests
  4. Run the full test suite: npm test
  5. Run quality checks: npm run lint && npm run format:check && npm run type-check
  6. Commit your changes with a descriptive message
  7. Push to your fork and submit a pull request

Code Standards

  • Follow the existing code style and patterns
  • Add comprehensive tests for new features
  • Include JSDoc comments for all public functions
  • Update documentation for any API changes
  • Ensure all tests pass and coverage remains high

Commit Message Format

Use conventional commit format:

  • feat: add new weather tool
  • fix: resolve validation error in calculator
  • docs: update installation instructions
  • test: add tests for file system tool
  • chore: update dependencies

License

MIT License - see LICENSE file for details.

Changelog

See CHANGELOG.md for version history and updates.

Support

  • Documentation: Check the /docs directory for detailed guides
  • Issues: Report bugs or request features via GitHub issues
  • Discussions: Join community discussions for questions and ideas

Roadmap

  • Add more built-in tools (HTTP client, database operations)
  • Implement plugin system for external tools
  • Add WebSocket transport support
  • Create web-based admin interface
  • Add metrics and monitoring dashboard
  • Implement rate limiting and request quotas
  • Add authentication and authorization
  • Create tool marketplace integration

README mirrored from the source repository 6 hours ago. The original is authoritative.

Questions

About Starter Template Ts

How do I install Starter Template Ts?

Run npx mcp-starter-template-ts, then add the server to your MCP client's configuration. Conduid has recorded 0 installs, so the command is known to work with current clients.

Is Starter Template Ts safe to use with an AI agent?

Its trust score is 62 out of 100 (good). It passes 0 of 1 static security checks; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Starter Template Ts still maintained?

The last commit was 12 months ago, with 0 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.