Skip to main content
Glama

First MCP Server

by geka-evk
MIT License

My first MCP server

Development

# Start development server npm run start:dev # Run tests in watch mode npm run test:watch # Build the project npm run build

Scripts

Build & Run

  • npm start - Run the built application from dist/
  • npm run start:dev - Run development server with ts-node
  • npm run build - Build project using tsup (generates CommonJS output with sourcemaps)

Testing

  • npm run test - Run Jest tests
  • npm run test:watch - Run Jest in watch mode for development
  • npm run test:coverage - Run tests with coverage report

Code Quality

  • npm run lint - Run ESLint on source and test files
  • npm run lint:fix - Fix ESLint issues automatically
  • npm run format - Format code with Prettier
  • npm run type-check - Run TypeScript type checking without emitting files

Maintenance

  • npm run audit:check - Check for security vulnerabilities using audit-ci
  • npm run dep:check - Check for outdated dependencies
  • npm run dep:update - Update dependencies to latest versions
  • npm run release - Create a release using standard-version
  • npm run snapshot - Create a snapshot prerelease

Project Structure

first-mcp-server/ ├── src/ # Source code │ └── index.ts # Main entry point ├── test/ # Test files │ ├── setup.ts # Global test setup │ └── index.test.ts # Example test ├── dist/ # Built output (generated) ├── .husky/ # Git hooks ├── CLAUDE.md # Claude Code instructions ├── audit-ci.jsonc # Security audit configuration ├── commitlint.config.js # Commit message linting ├── eslint.config.js # ESLint configuration ├── jest.config.js # Jest testing configuration ├── tsconfig.json # TypeScript configuration ├── tsup.config.ts # Build configuration └── package.json # Project dependencies and scripts

Configuration

TypeScript

The project uses strict TypeScript configuration with enhanced checking:

  • Path Mapping: Use #src/* aliases for clean imports
  • Strict Mode: Enhanced type checking including noUncheckedIndexedAccess
  • Target: ES2022 with source maps and declarations enabled

Build

Currently builds CommonJS only. ESM and type definitions can be enabled by modifying tsup.config.ts.

Testing

Jest is configured with:

  • ts-jest preset for TypeScript support
  • Node environment
  • Path alias support (#src/ and #test/)
  • Coverage collection from all src/ files

Git Hooks

Pre-commit hooks automatically:

  • Run ESLint with auto-fix on staged files
  • Format code with Prettier on staged files
  • Validate commit messages using conventional commits

Pre-push hooks automatically:

  • Run full ESLint checks on all source and test files
  • Execute complete Jest test suite
  • Check for outdated dependencies
  • Perform security audit checks

Development Workflow

  1. Make Changes: Edit files in src/ directory
  2. Test: Run npm run test:watch for continuous testing
  3. Lint: Code is automatically linted on save and commit
  4. Build: Run npm run build to verify production build
  5. Commit: Use conventional commit messages (enforced by commitlint)

Contributing

  1. Install dependencies: npm install
  2. Create a feature branch: git checkout -b feature/my-feature
  3. Make your changes and add tests
  4. Ensure all checks pass: npm run lint && npm run test && npm run build
  5. Commit using conventional commits
  6. Push and create a pull request

License

MIT License - see LICENSE file for details.

Author

Eugen Klymniuk


Generated with ❤️ using TypeScript and modern tooling.

-
security - not tested
A
license - permissive license
-
quality - not tested

A TypeScript-based server project with comprehensive development tooling including testing, linting, and build configurations.

  1. Development
    1. Scripts
      1. Build & Run
      2. Testing
      3. Code Quality
      4. Maintenance
    2. Project Structure
      1. Configuration
        1. TypeScript
        2. Build
        3. Testing
        4. Git Hooks
      2. Development Workflow
        1. Contributing
          1. License
            1. Author

              Related MCP Servers

              • -
                security
                F
                license
                -
                quality
                This TypeScript-based server implements a simple notes system, allowing users to create and manage text notes and generate summaries, showcasing core MCP concepts.
                Last updated -
                14
                10
                TypeScript
                • Apple
              • A
                security
                A
                license
                A
                quality
                A production-ready template for creating Model Context Protocol servers with TypeScript, providing tools for efficient testing, development, and deployment.
                Last updated -
                1
                327
                32
                JavaScript
                MIT License
              • A
                security
                A
                license
                A
                quality
                A TypeScript-based template for building Model Context Protocol servers, featuring fast testing, automated version management, and a clean structure for MCP tool implementations.
                Last updated -
                1
                327
                4
                TypeScript
                MIT License
              • A
                security
                A
                license
                A
                quality
                A TypeScript-based server that enables interaction with Jira, providing tools to execute JQL queries, manage tickets, list projects and statuses through natural language.
                Last updated -
                11
                24
                JavaScript
                MIT License
                • Apple

              View all related MCP servers

              MCP directory API

              We provide all the information about MCP servers via our MCP API.

              curl -X GET 'https://glama.ai/api/mcp/v1/servers/geka-evk/first-mcp-server'

              If you have feedback or need assistance with the MCP directory API, please join our Discord server