Skip to main content
Glama

First MCP Server

by geka-evk

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

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 -
    6
    13
    • 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
    27
    41
    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
    27
    3
    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
    25
    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