emmettirl/deno-mcp-server
If you are the rightful owner of deno-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Deno MCP Server Monorepo is a comprehensive solution for building secure Model Context Protocol servers using Deno, with seamless integration into VS Code.
🦕 Deno MCP Server Monorepo
A comprehensive monorepo containing a secure Model Context Protocol (MCP) server built with Deno and a VS Code extension for seamless integration.
📦 Packages
| Package | Description | Version | Tests |
|---|---|---|---|
| Deno MCP Server with 6 tools | 🧪 Comprehensive | ||
| Private extension with auto-detection | 🧪 70+ Tests |
🚀 Quick Start
For Users
Download Latest Release:
# Get the latest release
curl -s https://api.github.com/repos/emmettirl/deno-mcp-server/releases/latest \
| grep browser_download_url \
| cut -d '"' -f 4 \
| wget -qi -
# Install VS Code extension
code --install-extension deno-mcp-extension.vsix
Using Docker:
docker pull ghcr.io/emmettirl/deno-mcp-server/server:latest
docker run -it ghcr.io/emmettirl/deno-mcp-server/server:latest
For Developers
# Clone and setup
git clone https://github.com/emmettirl/deno-mcp-server.git
cd deno-mcp-server
# Build everything
deno run --allow-all scripts/build.ts all
# OR on Windows:
.\scripts\build.ps1 all
# Run tests
deno run --allow-all scripts/build.ts test
# Start development
cd packages/server && deno run --allow-all cli.ts
🏗️ Build System
Unified PowerShell build script with comprehensive commands:
**Usage:**
```bash
# Cross-platform (recommended)
deno run --allow-all scripts/build.ts <command> [options]
# Windows PowerShell
.\scripts\build.ps1 <command> [options]
Commands:
fmt Format code in both packages
lint Run linting on both packages
check Type check both packages
test Run all tests (70+ tests total)
build Build both packages
package Package both for distribution
all Run fmt, lint, check, test, build, package
clean Clean build artifacts
Options:
-ServerOnly Only operate on server package
-ExtOnly Only operate on extension package
-ShowVerbose Show detailed output
## 🤖 Automated Releases
### Release Triggers
**Automatic (Tag-based):**
```bash
git tag v1.2.3
git push origin v1.2.3
# → Triggers full release pipeline
Manual (GitHub Actions):
- Go to Actions → 🚀 Release → Run workflow
- Configure what to release (server, extension, both)
- Set version and options
Release Artifacts
Each release automatically creates:
-
🏗️ Cross-platform Binaries
- Windows:
deno-mcp-server-windows-x64.exe - Linux:
deno-mcp-server-linux-x64 - macOS:
deno-mcp-server-macos-x64
- Windows:
-
🎯 VS Code Extension
deno-mcp-extension.vsix- Installable extension package
-
🐳 Docker Images
ghcr.io/emmettirl/deno-mcp-server/server:latestghcr.io/emmettirl/deno-mcp-server/server:v1.2.3
-
📝 Release Notes - Auto-generated with installation instructions
CI/CD Pipeline
graph LR
A[Push/Tag] --> B[🧪 Test All]
B --> C[🦕 Build Server]
B --> D[🎯 Build Extension]
B --> E[🐳 Build Docker]
C --> F[📦 Create Release]
D --> F
E --> F
F --> G[📤 Upload Assets]
🔒 Security Features
- Multi-layered Security: Permission-based access control
- Input Validation: Comprehensive sanitization
- Secure Operations: Safe file and process handling
- Container Security: Minimal attack surface
- Automated Scanning: Security checks in CI/CD
- Signed Releases: Verified build artifacts
🧪 Testing
Comprehensive test coverage across both packages:
- Server: Deno test suite with security, validation, and integration tests
- Extension: 70+ VS Code integration tests with mocking
- E2E: Cross-package integration testing
- CI: Automated testing on every PR and release
# Run all tests
deno run --allow-all scripts/build.ts test
# Test individual packages
.\scripts\build.ps1 test -ServerOnly
.\scripts\build.ps1 test -ExtOnly# Coverage reports
cd packages/server && deno test --coverage --allow-all
cd packages/vscode-extension && npm run test:coverage
📊 Development Stats
- Languages: TypeScript (Deno + Node.js)
- Test Coverage: 70+ tests across packages
- Build Time: ~2 minutes for full pipeline
- Binary Size: ~50MB cross-platform
- Extension Size: ~1MB packaged
🏆 Features
Server Package
- 🛠️ 6 MCP Tools: fmt, lint, check, test, run, info
- 🔒 Secure by Default: Multi-layered permissions
- 🐳 Docker Ready: Production containers
- 📦 Cross-platform: Windows, Linux, macOS
- ⚡ Fast: Native Deno performance
VS Code Extension
- 🎯 Auto-detection: Finds packaged servers
- 📊 Status Integration: Real-time server status
- 🧪 70+ Tests: Comprehensive coverage
- 🔌 Private Extension: No marketplace dependency
- 🚀 Zero Config: Works out of the box
📖 Documentation
Comprehensive documentation is organized in the directory:
📚 For Users
- - Using MCP tools on entire projects
- - Code samples and tutorials
🔧 For Developers
- - Complete API reference
- - Security implementation details
- - Development setup and build process
- - GitHub Copilot remote work setup
🐛 Fixes & Troubleshooting
- - Resolving workspace root issues
- - Cross-platform consistency fixes
🔄 Development Workflows
- - Recent improvements summary
- - Extension identifier changes
📦 Package-Specific Documentation
- - MCP server implementation details
- - Extension development guide
🤝 Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make changes and run tests (
deno run --allow-all scripts/build.ts test) - Commit changes (
git commit -m 'feat: add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
📄 License
This project is licensed under the MIT License - see the file for details.
🚀 Built with Deno • 🎯 Integrated with VS Code
⚡ Disclaimer: Vibe-coded with Claude Sonnet 4 and GitHub Copilot Agent✨