Skip to main content
Glama

First MCP Server

by geka-evk
MIT License
README.md3.83 kB
# My first MCP server ### Development ```bash # 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](LICENSE) file for details. ## Author Eugen Klymniuk --- Generated with ❤️ using TypeScript and modern tooling.

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