mcp-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.
Install / Use
claude mcp add onamfc -- npx -y github:onamfc/mcp-starter-template-tsIf the server publishes to npm under a different name, use that package instead ā check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AutomationSupported Platforms
Our assessment of mcp-starter-template-ts
mcp-starter-template-ts scores 75/100 on our quality scale, 2606th of 2,877 Automation skills we index.
Its MCP Server is 12 KB long, well organised into 51 sections with 20 code examples: a thorough specification that gives an agent plenty to work with.
It has 10 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated about 14 months ago. Expect some instructions to reference tool versions or APIs that have since changed.
- Our last check on 2026-10-18 found the source still online.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 85/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit ā read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.
AI review by kimi-k2.7-code on 2026-09-24. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk ā read a skill before letting an agent act on it.
mcp-starter-template-ts compared with similar skills
All 4 of these similar skills score higher than mcp-starter-template-ts; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| mcp-starter-template-ts (this skill)by onamfc | 75 | 10 | 14mo ago | MCP Server |
| taste-skillby Leonxlnx | 100 | 111.3k | 2d ago | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 109.7k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 79.0k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.8k | 1d ago | CLAUDE.md |
Frequently asked questions
- How do I install mcp-starter-template-ts?
- Run
claude mcp add onamfc -- npx -y github:onamfc/mcp-starter-template-ts. The install tabs above show the steps for each supported agent. - Which AI agents does mcp-starter-template-ts work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is mcp-starter-template-ts safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is MIT-licensed and scores 85/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is mcp-starter-template-ts still maintained?
- The repository was last updated about 14 months ago. Expect some instructions to reference tool versions or APIs that have since changed.
Skill content
View source on GitHubMCP 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 evaluateprecision(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 processoptions(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 coordinatesunits(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 reloadingnpm run build- Build the project for productionnpm start- Start the production servernpm test- Run test suitenpm run test:watch- Run tests in watch modenpm run test:coverage- Run tests with coverage reportnpm run lint- Run ESLintnpm run lint:fix- Run ESLint with auto-fixnpm run format- Format code with Prettiernpm run format:check- Check code formattingnpm run type-check- Run TypeScript type checkingnpm run clean- Clean build artifactsnpm run health- Check server healthnpm run validate-config- Validate configuration
Adding New Tools
- Create a new file in
src/tools/your-tool.ts - Implement the
ToolDefinitioninterface - Add comprehensive error handling and logging
- Register the tool in
src/tools/setup.ts - 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
- Create a new file in
src/resources/your-resource.ts - Implement the
ResourceDefinitioninterface - Add the resource to
src/resources/setup.ts - 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
- Set
NODE_ENV=production - Configure appropriate log levels
- Set up proper CORS origins
- Configure external service credentials
- 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-configto 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 cleanto 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
- Check the troubleshooting section above
- Review the API documentation at
resource://docs/api - Check recent logs at
resource://logs/recent - Open an issue on the project repository
Contributing
We welcome contributions! Please follow these guidelines:
Development Workflow
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature-name - Make your changes with tests
- Run the full test suite:
npm test - Run quality checks:
npm run lint && npm run format:check && npm run type-check - Commit your changes with a descriptive message
- 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 toolfix: resolve validation error in calculatordocs: update installation instructionstest: add tests for file system toolchore: update dependencies
License
MIT License - see LICENSE file for details.
Changelog
See CHANGELOG.md for version history and updates.
Support
- Documentation: Check the
/docsdirectory 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
- [ ]
Truncated for display ā read the full file on GitHub.
Related Skills
taste-skill
111.3kAgent skills that give coding agents taste: art direction, reference images and a browser check instead of generic AI pages
Agent-Reach
109.7kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu ā one CLI, zero API fees.
headroom
79.0kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.8kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit ā see the Safety scan above for what the skill file itself contains.
