Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
A framework for building TypeScript MCP servers MCP TypeScript Simple A production-ready MCP (Model Context Protocol) server built with TypeScript featuring both basic tools and advanced LLM-powered capabilities with **type-safe provider and model selection** and **dual-mode operation** (STDIO + Streamable HTTP with OAuth). Quick Start Create a production-ready MCP server in under 2 minutes: **What you get:** - ✅ Full-featured MCP server (OAuth, LLM, Docker) - ✅ G Published capability contract available. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 2/24/2026.
Freshness
Last checked 2/22/2026
Best For
Contract is available with explicit auth and schema references.
Not Ideal For
mcp-typescript-simple is not ideal for teams that need stronger public trust telemetry, lower setup complexity, or more explicit contract coverage before production rollout.
Evidence Sources Checked
editorial-content, capability-contract, runtime-metrics, public facts pack
A framework for building TypeScript MCP servers MCP TypeScript Simple A production-ready MCP (Model Context Protocol) server built with TypeScript featuring both basic tools and advanced LLM-powered capabilities with **type-safe provider and model selection** and **dual-mode operation** (STDIO + Streamable HTTP with OAuth). Quick Start Create a production-ready MCP server in under 2 minutes: **What you get:** - ✅ Full-featured MCP server (OAuth, LLM, Docker) - ✅ G
Public facts
7
Change events
1
Artifacts
0
Freshness
Feb 22, 2026
Published capability contract available. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 2/24/2026.
Trust score
Unknown
Compatibility
MCP
Freshness
Feb 22, 2026
Vendor
Jdutton
Artifacts
0
Benchmarks
0
Last release
0.9.1-rc.2
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Published capability contract available. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 2/24/2026.
Setup snapshot
git clone https://github.com/jdutton/mcp-typescript-simple.gitSetup complexity is MEDIUM. Standard integration tests and API key provisioning are required before connecting this to production workloads.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Jdutton
Protocol compatibility
MCP
Auth modes
mcp, api_key, oauth
Machine-readable schemas
OpenAPI or schema references published
Adoption signal
1 GitHub stars
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
bash
npm create @mcp-typescript-simple@latest my-mcp-server cd my-mcp-server cp .env.example .env npm run dev:stdio
bash
cp .env.example .env # Edit .env with your API keys
bash
# Install dependencies npm install # STDIO Mode (traditional MCP - recommended for development) npm run dev:stdio # Streamable HTTP Mode (for web development - no auth) npm run dev:http # Streamable HTTP Mode (with OAuth - requires Google credentials) npm run dev:oauth # Vercel Serverless Development (test as serverless functions) npm run dev:vercel # Build the project npm run build # Production STDIO mode npm start # Type checking npm run typecheck # Linting npm run lint # Unit tests with coverage npm run test:unit # Integration / CI suite npm run test:integration # Test dual-mode functionality npm run test:dual-mode # Observability features npm run otel:start # Start Grafana OTEL-LGTM stack (requires Docker) npm run otel:stop # Stop observability stack npm run otel:logs # View observability stack logs # API Documentation npm run docs:validate # Validate OpenAPI specification npm run docs:preview # Preview docs locally with Redocly npm run docs:build # Build static Redoc HTML npm run docs:bundle # Bundle OpenAPI spec to JSON
bash
npm run dev:http # Open http://localhost:3000/docs in your browser
bash
# Build production Docker image npm run run:docker:build # Run Docker container with multi-provider OAuth npm run run:docker # Uses .env.oauth (supports Google, GitHub, Microsoft) # Manual Docker commands docker build -t mcp-typescript-simple:latest . docker run --rm -p 3000:3000 --env-file .env.oauth mcp-typescript-simple:latest
bash
curl http://localhost:8080/health
Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB MCP
Editorial quality
ready
A framework for building TypeScript MCP servers MCP TypeScript Simple A production-ready MCP (Model Context Protocol) server built with TypeScript featuring both basic tools and advanced LLM-powered capabilities with **type-safe provider and model selection** and **dual-mode operation** (STDIO + Streamable HTTP with OAuth). Quick Start Create a production-ready MCP server in under 2 minutes: **What you get:** - ✅ Full-featured MCP server (OAuth, LLM, Docker) - ✅ G
A production-ready MCP (Model Context Protocol) server built with TypeScript featuring both basic tools and advanced LLM-powered capabilities with type-safe provider and model selection and dual-mode operation (STDIO + Streamable HTTP with OAuth).
Create a production-ready MCP server in under 2 minutes:
npm create @mcp-typescript-simple@latest my-mcp-server
cd my-mcp-server
cp .env.example .env
npm run dev:stdio
What you get:
Adding API keys:
Edit .env to add your provider keys (all optional):
ANTHROPIC_API_KEY - Claude LLM toolsOPENAI_API_KEY - GPT LLM toolsGOOGLE_API_KEY - Gemini LLM toolsGOOGLE_CLIENT_ID/SECRET - Google OAuthGITHUB_CLIENT_ID/SECRET - GitHub OAuthMICROSOFT_CLIENT_ID/SECRET - Microsoft OAuthSee Getting Started Guide for full documentation.
This project provides a containerized MCP server with comprehensive CI/CD testing and multi-LLM support:
Note: LLM tools require API keys. The server gracefully runs with basic tools only if no API keys are configured.
Copy the example environment file and add your API keys:
cp .env.example .env
# Edit .env with your API keys
API Key Sources:
Tip: You can use any combination of providers. The server will automatically detect available APIs and enable corresponding tools.
# Install dependencies
npm install
# STDIO Mode (traditional MCP - recommended for development)
npm run dev:stdio
# Streamable HTTP Mode (for web development - no auth)
npm run dev:http
# Streamable HTTP Mode (with OAuth - requires Google credentials)
npm run dev:oauth
# Vercel Serverless Development (test as serverless functions)
npm run dev:vercel
# Build the project
npm run build
# Production STDIO mode
npm start
# Type checking
npm run typecheck
# Linting
npm run lint
# Unit tests with coverage
npm run test:unit
# Integration / CI suite
npm run test:integration
# Test dual-mode functionality
npm run test:dual-mode
# Observability features
npm run otel:start # Start Grafana OTEL-LGTM stack (requires Docker)
npm run otel:stop # Stop observability stack
npm run otel:logs # View observability stack logs
# API Documentation
npm run docs:validate # Validate OpenAPI specification
npm run docs:preview # Preview docs locally with Redocly
npm run docs:build # Build static Redoc HTML
npm run docs:bundle # Bundle OpenAPI spec to JSON
This project includes comprehensive OpenAPI 3.1 specification and interactive documentation. When running the server (development or production), access:
/docs - Beautiful read-focused documentation (Redoc)/api-docs - Interactive API testing with OAuth support (Swagger UI)/openapi.yaml - OpenAPI specification (YAML format)/openapi.json - OpenAPI specification (JSON format)Example: Start the server and visit http://localhost:3000/docs
npm run dev:http
# Open http://localhost:3000/docs in your browser
The documentation includes:
# Build production Docker image
npm run run:docker:build
# Run Docker container with multi-provider OAuth
npm run run:docker # Uses .env.oauth (supports Google, GitHub, Microsoft)
# Manual Docker commands
docker build -t mcp-typescript-simple:latest .
docker run --rm -p 3000:3000 --env-file .env.oauth mcp-typescript-simple:latest
For production-grade horizontal scaling with Redis session persistence:
# Start 3 MCP servers + Redis + Nginx load balancer
docker-compose --profile loadbalanced up -d
# Test the load-balanced deployment
curl http://localhost:8080/health
Features:
📘 Multi-Node Deployment Guide - Complete guide for horizontally scaled deployment with testing instructions
Test with increasing production-like fidelity:
Level 1: Development Mode (TypeScript via tsx)
npm run dev:oauth
Level 2: Docker Container
npm run run:docker:build
npm run run:docker:google
Level 3: Vercel Serverless Automatic deployment via GitHub Actions on PR merge to main.
src/
├── index.ts # Main MCP server implementation
├── auth/ # OAuth authentication system
├── config/ # Environment and configuration management
├── llm/ # Multi-LLM provider integration
├── observability/ # Structured logging and OpenTelemetry integration
├── server/ # HTTP and MCP server implementations
├── session/ # Session management
├── tools/ # MCP tool implementations
└── transport/ # Transport layer abstractions
api/ # Vercel serverless functions
├── mcp.ts # Main MCP protocol endpoint
├── health.ts # Health check and status
├── auth.ts # OAuth authentication endpoints
└── admin.ts # Administration and metrics
test/
├── unit/ # Unit tests (mirrors src/ structure)
├── integration/ # Integration tests
└── system/ # End-to-end system tests
tools/ # Manual development and testing utilities
├── interactive-client.ts # Interactive MCP client
├── remote-http-client.ts # Remote HTTP MCP client
├── test-oauth.ts # OAuth flow testing
└── manual/ # Manual testing scripts
docs/ # Deployment and architecture documentation
examples/ # Usage examples and demonstrations
.github/workflows/ # GitHub Actions CI/CD pipeline
build/ # Compiled TypeScript output
Dockerfile # Container configuration
vercel.json # Vercel deployment configuration
This project uses a comprehensive testing approach with multiple layers:
test/unit/)test/integration/)test/system/)End-to-end system tests validate the complete deployed application. See test/system/README.md for detailed documentation.
# Run against local development server
npm run test:system:local
# Run against Docker container
npm run test:system:docker
# Run against Vercel preview deployment
npm run test:system:preview
# Run against production deployment
npm run test:system:production
System tests cover:
Primary command for GitHub Actions and automated testing:
# Complete regression test suite - USE THIS FOR CI/CD
npm run test:ci
# Alternative: Full validation including build
npm run validate
The test:ci command runs:
Unit tests live under test/unit/ (mirroring src/** paths, e.g. test/unit/config/environment.test.ts) and feed npm run test:unit; integration suites live under test/integration/ and are exercised by npm run test:integration.
# Individual test commands
npm run test:mcp # MCP-specific functionality tests
npm run test:interactive # Interactive client testing
npm run typecheck # TypeScript type validation
npm run lint # Code quality checks
npm run build # Compilation test
# Run MCP protocol and tool tests
npx tsx tools/manual/test-mcp.ts
Launch an interactive client to test tools locally:
# Start interactive MCP client (STDIO mode)
npx tsx tools/interactive-client.ts
Connect to remote MCP servers using Bearer token authentication:
# Basic usage
npx tsx tools/remote-http-client.ts --url http://localhost:3000/mcp --token your-bearer-token
# With verbose logging
npx tsx tools/remote-http-client.ts --url http://localhost:3000/mcp --token your-token --verbose
# Debug mode with full request/response logging
npx tsx tools/remote-http-client.ts --url http://localhost:3000/mcp --token your-token --debug
# Non-interactive mode (for scripting)
npx tsx tools/remote-http-client.ts --url http://localhost:3000/mcp --token your-token --no-interactive
Remote HTTP Client Features:
help - Show available commands and discovered toolslist - List all available tools dynamicallydescribe <tool> - Show detailed tool information with parameters<tool-name> <args> - Call any discovered tool directlycall <tool> <json-args> - Call tools with JSON argumentsraw <json> - Send raw JSON-RPC requestsdebug [on|off] - Toggle debug logging (HTTP client only)quit - Exit the clientThe interactive client dynamically discovers all available MCP tools and provides context-aware help and parameter guidance.
For advanced testing with a graphical interface:
# Install MCP Inspector
npm install -g @modelcontextprotocol/inspector
# Launch with web interface
mcp-inspector npx tsx src/index.ts
For manual testing and development workflows, several utility scripts are available in the tools/ directory:
# Test OAuth flow interactively
node tools/test-oauth.js --flow
# Test server health
node tools/test-oauth.js
# Test with existing token
node tools/test-oauth.js --token <your_token>
# Start official Vercel development server
npm run dev:vercel
# Test MCP protocol compliance
npm run test:mcp
These tools help with:
The project includes a complete CI/CD pipeline in .github/workflows/ci.yml:
npm run test:ci on every push/PRPipeline triggers:
main or develop branchesmainGreets a person by name.
name (string, required)Echoes back the provided message.
message (string, required)Returns the current timestamp.
Type-Safe Provider & Model Selection: All LLM tools support optional
providerandmodelparameters for fine-grained control over which AI model to use.
Interactive AI assistant with flexible provider and model selection.
message (string, required): Your message to the AIsystem_prompt (string, optional): Custom system instructionstemperature (number, optional): Creativity level 0-2 (default: 0.7)provider (enum, optional): 'claude' | 'openai' | 'gemini' (default: 'claude')model (string, optional): Specific model to use (must be valid for provider)claude-3-haiku-20240307, claude-3-sonnet-20240229gpt-4, gpt-4o, gpt-4o-minigemini-1.5-flash, gemini-1.5-proDeep text analysis with configurable AI models.
text (string, required): Text to analyzeanalysis_type (enum, optional): 'sentiment', 'themes', 'structure', 'comprehensive', 'summary'focus (string, optional): Specific aspect to focus onprovider (enum, optional): 'claude' | 'openai' | 'gemini' (default: 'openai')model (string, optional): Specific model to useText summarization with cost-effective model options.
text (string, required): Text to summarizelength (enum, optional): 'brief', 'medium', 'detailed'format (enum, optional): 'paragraph', 'bullets', 'outline'focus (string, optional): Specific aspect to focus onprovider (enum, optional): 'claude' | 'openai' | 'gemini' (default: 'gemini')model (string, optional): Specific model to useEducational explanations with adaptive AI models.
topic (string, required): Topic, concept, or code to explainlevel (enum, optional): 'beginner', 'intermediate', 'advanced'context (string, optional): Additional context or domaininclude_examples (boolean, optional): Include examples (default: true)provider (enum, optional): 'claude' | 'openai' | 'gemini' (default: 'claude')model (string, optional): Specific model to use{
"name": "chat",
"arguments": {
"message": "Hello, how are you?"
}
}
{
"name": "analyze",
"arguments": {
"text": "Sample text to analyze",
"provider": "claude"
}
}
{
"name": "chat",
"arguments": {
"message": "Complex question requiring deep reasoning",
"provider": "openai",
"model": "gpt-4"
}
}
Deploy the MCP server as Vercel serverless functions with full streaming support.
/api/mcp - MCP protocol endpoint/api/health - Health and status checks/api/auth - OAuth authentication flows/api/admin - Metrics and administrationFor traditional server deployment, use the standard Node.js build:
npm run build
npm start
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
ready
Auth
mcp, api_key, oauth
Streaming
Yes
Data region
global
Protocol support
Requires: mcp, lang:typescript, streaming
Forbidden: none
Guardrails
Operational confidence: medium
curl -s "https://xpersona.co/api/v1/agents/mcp-jdutton-mcp-typescript-simple/snapshot"
curl -s "https://xpersona.co/api/v1/agents/mcp-jdutton-mcp-typescript-simple/contract"
curl -s "https://xpersona.co/api/v1/agents/mcp-jdutton-mcp-typescript-simple/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
80
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
74
Expose OpenAPI definition endpoints as MCP tools using the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Rank
72
An actix_web backend for the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Contract JSON
{
"contractStatus": "ready",
"authModes": [
"mcp",
"api_key",
"oauth"
],
"requires": [
"mcp",
"lang:typescript",
"streaming"
],
"forbidden": [],
"supportsMcp": true,
"supportsA2a": false,
"supportsStreaming": true,
"inputSchemaRef": "https://github.com/jdutton/mcp-typescript-simple#input",
"outputSchemaRef": "https://github.com/jdutton/mcp-typescript-simple#output",
"dataRegion": "global",
"contractUpdatedAt": "2026-02-24T19:45:40.938Z",
"sourceUpdatedAt": "2026-02-24T19:45:40.938Z",
"freshnessSeconds": 4438834
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/mcp-jdutton-mcp-typescript-simple/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/mcp-jdutton-mcp-typescript-simple/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/mcp-jdutton-mcp-typescript-simple/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/mcp-jdutton-mcp-typescript-simple/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-jdutton-mcp-typescript-simple/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-jdutton-mcp-typescript-simple/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"MCP"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_MCP",
"generatedAt": "2026-04-17T04:46:15.682Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "MCP",
"type": "protocol",
"support": "supported",
"confidenceSource": "contract",
"notes": "Confirmed by capability contract"
},
{
"key": "mcp",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "typescript",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "server",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:MCP|supported|contract capability:mcp|supported|profile capability:typescript|supported|profile capability:server|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "MCP",
"href": "https://xpersona.co/api/v1/agents/mcp-jdutton-mcp-typescript-simple/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-jdutton-mcp-typescript-simple/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:45:40.938Z",
"isPublic": true
},
{
"factKey": "auth_modes",
"category": "compatibility",
"label": "Auth modes",
"value": "mcp, api_key, oauth",
"href": "https://xpersona.co/api/v1/agents/mcp-jdutton-mcp-typescript-simple/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-jdutton-mcp-typescript-simple/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:45:40.938Z",
"isPublic": true
},
{
"factKey": "schema_refs",
"category": "artifact",
"label": "Machine-readable schemas",
"value": "OpenAPI or schema references published",
"href": "https://github.com/jdutton/mcp-typescript-simple#input",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-jdutton-mcp-typescript-simple/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:45:40.938Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Jdutton",
"href": "https://github.com/jdutton/mcp-typescript-simple",
"sourceUrl": "https://github.com/jdutton/mcp-typescript-simple",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-24T19:43:14.176Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1 GitHub stars",
"href": "https://github.com/jdutton/mcp-typescript-simple",
"sourceUrl": "https://github.com/jdutton/mcp-typescript-simple",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-24T19:43:14.176Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/mcp-jdutton-mcp-typescript-simple/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-jdutton-mcp-typescript-simple/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to mcp-typescript-simple and adjacent AI workflows.