Skip to main content
Glama

Code Executor MCP Server

by aberemia24
CHANGELOG.mdβ€’5.38 kB
# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [1.2.0] - 2024-11-09 ### Added - ✨ **Wrapper Utilities Template** - Production-ready shared utilities for all MCP wrappers - Type-safe `MCPGlobalThis` interface (no more `globalThis as any`) - `callMCPToolSafe()` - Error handling wrapper with context - `parseMCPResult<T>()` - Generic typed JSON parsing - `parseStringResult()`, `parseArrayResult<T>()` - Result normalization - `isMCPGlobalThis()`, `getMCPCaller()` - Type guards - `normalizeError()` - Consistent error formatting ### Changed - πŸ”§ **Wrapper Templates** - Updated all templates to use shared utilities - `zen-wrapper-template.ts` - Now uses `callMCPToolSafe()` and `parseMCPResult()` - `filesystem-wrapper-template.ts` - Enhanced error handling and DRY patterns - All templates now have 100% error handling coverage - No more `(globalThis as any)` - fully type-safe - Removed date references (was "January 2025", now generic) ### Improved - πŸ“– **Documentation** - Complete rewrite of `CREATING_WRAPPERS.md` - Step 1: Copy utilities template (REQUIRED) - Updated all examples to use new pattern - Added benefits section (error handling, type safety, DRY) - Updated best practices (5 new sections) - All code examples now production-ready ### Benefits - **100% Error Handling** - All wrapper calls wrapped with context - **95% Type Safety** - MCPGlobalThis interface eliminates `any` types - **90% DRY Compliance** - Shared utilities eliminate duplication - **Production Ready** - Battle-tested patterns from internal codebase ## [1.1.0] - 2024-11-09 ### Added - ✨ **HTTP/SSE Transport Support** - Connect to remote MCP servers (Linear, GitHub, etc.) - StreamableHTTP transport (modern, bidirectional) - SSE (Server-Sent Events) transport fallback - Authentication via HTTP headers (Bearer tokens, custom headers) - Automatic transport fallback (StreamableHTTP β†’ SSE) - ✨ **Multi-Transport Architecture** - Unified dispatcher for STDIO and HTTP transports - ✨ **Process Cleanup** - Graceful shutdown for STDIO servers (SIGTERM β†’ SIGKILL) ### Changed - πŸ”§ **Type System** - Split `MCPServerConfig` into `StdioServerConfig` and `HttpServerConfig` - πŸ”§ **Client Pool** - Enhanced connection logic with transport-specific handlers - πŸ“– **Documentation** - Added HTTP/SSE configuration examples to README ### Technical Details - **Transports**: STDIO (local processes) + StreamableHTTP/SSE (remote servers) - **Authentication**: Full HTTP header support for OAuth/token-based auth - **Fallback**: Automatic StreamableHTTP β†’ SSE transition - **Cleanup**: Graceful process termination with 2-second timeout ## [1.0.0] - 2024-11-09 ### Added - ✨ **TypeScript Executor** - Deno sandbox with fine-grained permissions - ✨ **Python Executor** - Subprocess execution with MCP access (optional) - ✨ **Progressive Disclosure** - 98% token savings (1,600 vs 150,000 tokens) - ✨ **Configuration Discovery** - Auto-search .code-executor.json in 4 locations - ✨ **Rate Limiting** - Token bucket algorithm (30 req/min default) - ✨ **Security Hardening** - Dangerous pattern detection (JS/TS + Python) - ✨ **Enhanced Audit Logging** - Code hash, length, memory usage, executor type - ✨ **Connection Pooling** - Max 100 concurrent executions - ✨ **Secret Management** - env:VAR_NAME pattern for secure config - ✨ **MCP Proxy Server** - Shared between TypeScript and Python executors ### Security - πŸ”’ Sandbox isolation (Deno for TypeScript, subprocess for Python) - πŸ”’ Tool allowlist validation - πŸ”’ Path validation (read/write restrictions) - πŸ”’ Network restrictions (localhost-only default) - πŸ”’ Dangerous pattern blocking (eval, exec, __import__, pickle.loads, etc.) - πŸ”’ Comprehensive audit trail ### Documentation - πŸ“– Comprehensive README (484 lines) - πŸ“– Security policy (SECURITY.md) - Responsible disclosure - πŸ“– Contributing guidelines (CONTRIBUTING.md) - Code quality standards - πŸ“– License (MIT) - πŸ“– Release guide (RELEASE.md) ### Testing - βœ… 105 tests passing - βœ… 90%+ code coverage - βœ… TypeScript strict mode - βœ… GitHub Actions CI/CD - βœ… Automated npm publishing ### Technical Details - **Node.js**: 22.x or higher required - **Deno**: Required for TypeScript execution - **Python**: 3.9+ (optional, for Python execution) - **Dependencies**: @modelcontextprotocol/sdk, zod, ws - **Build**: TypeScript 5.x with strict mode - **Tests**: Vitest 4.0 ### Architecture - Config discovery with priority chain - Token bucket rate limiter - Security validator with pattern detection - MCP client pool with graceful degradation - Connection pooling with FIFO queue - Shared MCP proxy server (DRY principle) ### Breaking Changes None - Initial release ### Migration Guide First release - no migration needed. See installation instructions in [README.md](README.md). --- ## Release Process See [RELEASE.md](RELEASE.md) for the complete release process. ## Support - **Issues**: https://github.com/aberemia24/code-executor-MCP/issues - **Email**: aberemia@gmail.com - **Documentation**: https://github.com/aberemia24/code-executor-MCP#readme

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/aberemia24/code-executor-MCP'

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