Specification Version Control MCP Server

Specification Version Control MCP Server

Enables managing technical specifications with version control, search, and comparison features, deployed as a secure Auth0-authenticated Cloudflare Worker.

Category
Visit Server

README

Specification Version Control MCP Server

An Auth0-authenticated Model Context Protocol (MCP) server for managing technical specifications with version control capabilities, deployed on Cloudflare Workers. Uses HTTP Streamable transport for efficient bidirectional communication.

šŸš€ Quick Start

# Clone the repository
git clone https://github.com/your-repo/specification-cloudflare-mcp.git
cd specification-cloudflare-mcp

# Install dependencies
npm install

# Deploy to production
npm run deploy:auth0

Example endpoint: https://specification-mcp-auth0.<your-subdomain>.workers.dev/mcp

šŸ“š Documentation

Core Documentation

Legacy Documentation

✨ Features

šŸ” Security & Authentication

  • Auth0 OAuth 2.0 with PKCE - Industry-standard authentication
  • User Data Isolation - Private workspace for each user
  • JWT Token Validation - Secure token-based authentication
  • Manual Logout - Explicit authentication state clearing
  • Short-lived Tokens - 15-minute access tokens, 1-hour refresh tokens

šŸ“ Specification Management

  • Full CRUD Operations - Create, read, update, delete specifications
  • Version Control - Track specification versions and changes
  • Advanced Search - Search by title, content, or tags
  • Comparison Tools - Compare different specification versions
  • Monthly Reports - Activity and usage analytics
  • Tag-based Organization - Categorize specifications

šŸ—ļø Technical Architecture

  • HTTP Streamable Transport - Modern MCP protocol implementation
  • Cloudflare Workers - Serverless edge computing
  • D1 Database - SQLite-compatible database
  • KV Storage - Session and OAuth state management
  • TypeScript - Type-safe development with Zod validation

šŸ› ļø Available Tools

Tool Description Parameters
create_specification Create new specification title, content, version, tags
list_specifications List user's specifications limit, offset
get_specification Get specific specification id
update_specification Update existing specification id, title, content, version, tags
delete_specification Delete specification id
search_specifications Search specifications query, limit
compare_specifications Compare two specifications id1, id2
monthly_specification_report Generate activity report month (YYYY-MM)
logout Clear authentication state None

šŸ”§ Configuration

Claude Desktop Integration

{
  "mcpServers": {
    "specification-server": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://specification-mcp-auth0.<your-subdomain>.workers.dev/mcp"
      ]
    }
  }
}

Production Configuration

  • Database: Cloudflare D1 (specifications-prod)
  • Authentication: Auth0 (YOUR_TENANT.auth0.com)
  • Transport: HTTP Streamable (port /mcp)
  • Storage: Cloudflare KV for OAuth state

šŸ—ļø Project Structure

specification-cloudflare-mcp/
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ index-auth0-streamable.ts    # Main MCP server
│   ā”œā”€ā”€ auth.ts                      # OAuth authentication logic
│   ā”œā”€ā”€ types.ts                     # TypeScript definitions
│   └── param-utils.ts               # Parameter validation
ā”œā”€ā”€ migrations/                      # Database schema migrations
ā”œā”€ā”€ documentation/                   # Project documentation
│   ā”œā”€ā”€ PROJECT_OVERVIEW.md
│   ā”œā”€ā”€ DEVELOPMENT_SETUP.md
│   ā”œā”€ā”€ SECURITY.md
│   ā”œā”€ā”€ API_DOCUMENTATION.md
│   └── DEPLOYMENT_GUIDE.md
ā”œā”€ā”€ wrangler-auth0.toml             # Cloudflare configuration
ā”œā”€ā”€ wrangler-auth0.jsonc            # Cloudflare configuration (with comments)
ā”œā”€ā”€ deploy-auth0.sh                 # Deployment script
└── package.json                    # Dependencies and scripts

šŸš€ Deployment Status

Example Deployment

  • Environment: Production
  • URL: https://specification-mcp-auth0.<your-subdomain>.workers.dev/mcp
  • Transport: HTTP Streamable
  • Database: specifications-prod
  • Auth0 Domain: YOUR_TENANT.auth0.com
  • OAuth Flow: PKCE with state protection

šŸ“Š Usage

Authentication Flow

  1. User accesses MCP tool → Redirected to Auth0 consent screen
  2. User approves permissions → Auth0 redirects with authorization code
  3. Server exchanges code for JWT tokens → User can access tools

Example Usage

# Create a specification
curl -X POST https://specification-mcp-auth0.<your-subdomain>.workers.dev/mcp \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{
    "jsonrpc": "2.0",
    "method": "create_specification",
    "params": {
      "title": "API Specification",
      "content": "# API Spec\n\nThis is an API specification.",
      "version": "1.0.0",
      "tags": ["api", "backend"]
    },
    "id": "1"
  }'

# List specifications
curl -X POST https://specification-mcp-auth0.<your-subdomain>.workers.dev/mcp \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{
    "jsonrpc": "2.0",
    "method": "list_specifications",
    "params": {"limit": 10},
    "id": "2"
  }'

šŸ” Development

Local Development

# Install dependencies
npm install

# Start development server
wrangler dev -c wrangler-auth0.toml --port 8787

# Run tests
npm test

# Deploy to production
npm run deploy:auth0

Key Files

  • Entry Point: src/index-auth0-streamable.ts
  • Authentication: src/auth.ts
  • Configuration: wrangler-auth0.toml
  • Database: migrations/

šŸ“ˆ Monitoring

Performance Metrics

  • Request Latency: < 100ms average
  • Authentication Success Rate: > 99.5%
  • Database Query Time: < 50ms average
  • Error Rate: < 0.1%

Security Monitoring

  • Token Validation: All requests validated
  • User Isolation: 100% enforced
  • Failed Auth Attempts: Logged and monitored
  • Rate Limiting: 100 requests/minute per user

šŸ¤ Contributing

  1. Setup: Follow the Development Setup Guide
  2. Security: Review Security Guidelines
  3. API: Reference API Documentation
  4. Deploy: Use Deployment Guide

Code Standards

  • TypeScript: Strict mode with Zod validation
  • Authentication: Always check this.props?.claims?.sub
  • Database: Always filter by user_id
  • Error Handling: Use structured error responses
  • Security: Log all authentication events

šŸ“ž Support

Documentation

Community

šŸ“œ License

This project is open source under the MIT License. See LICENSE.


Last Updated: August 2025
MCP Protocol: HTTP Streamable
Auth Provider: Auth0 OAuth 2.0

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured