mcp-server-developer

Model Context Protocol (MCP) server implementation specialist for Claude Desktop integration. Handles TypeScript/Node.js server scaffolding, endpoint creation, telemetry setup, npx distribution, and comprehensive documentation. Follows MCP specification and best practices for production-grade server deployment.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "mcp-server-developer" with this command: npx skills add hummbl-dev/hummbl-claude-skills/hummbl-dev-hummbl-claude-skills-mcp-server-developer

MCP Server Developer

Expert implementation of Model Context Protocol (MCP) servers for Claude Desktop integration. This skill provides comprehensive guidance for building production-ready MCP servers with TypeScript, including architecture design, endpoint implementation, database integration, telemetry tracking, and distribution via npx.

Core Competencies

1. MCP Server Architecture

  • Scaffold Generation: TypeScript project setup with proper MCP protocol structure
  • Server Configuration: MCP protocol compliance, JSON-RPC handling, stdio transport
  • Endpoint Design: RESTful-style resource and tool endpoints following MCP spec
  • Type Safety: Strict TypeScript types for requests, responses, and schemas
  • Error Handling: Comprehensive error catching with proper MCP error responses

2. Database Integration

  • D1 SQLite Setup: Schema design optimized for edge deployment
  • Query Optimization: <500ms latency targets for all database operations
  • FTS5 Search: Full-text search implementation for model discovery
  • Data Modeling: Efficient table structures with proper indexing
  • Migration Scripts: Version-controlled schema evolution

3. Telemetry & Analytics

  • Event Tracking: Structured logging for install, usage, and performance metrics
  • Latency Monitoring: Request timing with percentile tracking (p50, p95, p99)
  • User Analytics: Privacy-respecting usage patterns without PII
  • Error Reporting: Structured error logging for debugging
  • Success Metrics: WAU (Weekly Active Users) and engagement tracking

4. NPX Distribution

  • Package Configuration: package.json with proper bin entries for npx execution
  • Version Management: Semantic versioning with changelog automation
  • Publishing Workflow: npm registry deployment with CI/CD integration
  • Update Strategy: Non-breaking updates with deprecation notices
  • Installation Testing: Cross-platform verification (macOS, Windows, Linux)

Implementation Guidelines

Phase 0: Server Scaffold (Week 1)

  1. Initialize TypeScript Project

    npm init -y
    npm install --save-dev typescript @types/node
    npx tsc --init
    
  2. MCP Server Setup

    • Install MCP SDK: npm install @modelcontextprotocol/sdk
    • Create server entry point (src/index.ts)
    • Implement stdio transport handler
    • Add basic resource/tool endpoints
  3. Type Definitions

    interface MCPServer {
      name: string;
      version: string;
      resources: Resource[];
      tools: Tool[];
    }
    
    interface Resource {
      uri: string;
      name: string;
      description: string;
      mimeType?: string;
    }
    
    interface Tool {
      name: string;
      description: string;
      inputSchema: JSONSchema;
    }
    

Phase 1: Core Functionality (Week 2)

  1. Database Schema

    CREATE TABLE mental_models (
      id TEXT PRIMARY KEY,
      code TEXT UNIQUE NOT NULL,
      transformation_class TEXT NOT NULL,
      name TEXT NOT NULL,
      description TEXT,
      use_cases JSON,
      difficulty_tier INTEGER,
      prerequisites JSON,
      created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );
    
    CREATE VIRTUAL TABLE models_fts USING fts5(
      code, name, description, use_cases
    );
    
  2. Endpoint Implementation

    • GET resource endpoints (models list, transformations)
    • POST tool endpoints (analyze, decompose, synthesize)
    • Error handling with MCP-compliant responses
    • Input validation with Zod or similar
  3. Transformation Logic

    • Perspective (P): Multi-viewpoint analysis
    • Inversion (IN): Reverse assumption mapping
    • Composition (CO): Integration synthesis
    • Decomposition (DE): Component breakdown
    • Recursion (RE): Feedback loop identification
    • Meta-Systems (SY): Systems-of-systems coordination

Phase 2: Documentation & Examples (Week 3)

  1. Quick Start Guide (5-minute setup)

    # Quick Start
    
    1. Install via npx:
       ```bash
       npx @hummbl/mcp-server
    
    1. Configure Claude Desktop: Add to claude_desktop_config.json:

      {
        "mcpServers": {
          "hummbl": {
            "command": "npx",
            "args": ["@hummbl/mcp-server"]
          }
        }
      }
      
    2. Test in Claude: "Use the perspective transformation on this problem: [your problem]"

  2. Runnable Examples

    • Example 1: Code analysis with decomposition
    • Example 2: Strategy synthesis with composition
    • Example 3: Decision making with perspective + inversion
  3. Troubleshooting Guide

    • Installation failures (permissions, npm config)
    • Claude Desktop connection issues
    • Latency/performance problems
    • Error message reference

Phase 3: Distribution & Testing (Week 4)

  1. NPX Setup

    {
      "name": "@hummbl/mcp-server",
      "version": "1.0.0",
      "bin": {
        "hummbl-mcp": "./dist/index.js"
      },
      "files": ["dist", "README.md", "LICENSE"],
      "publishConfig": {
        "access": "public"
      }
    }
    
  2. CI/CD Pipeline

    • GitHub Actions for automated testing
    • Automated npm publishing on release tags
    • Cross-platform binary testing
    • Documentation deployment
  3. Beta Testing

    • 3-5 beta testers minimum
    • Structured feedback collection
    • Performance benchmarking
    • Edge case identification

Quality Gates

Functional Requirements ✅

  • All MCP endpoints respond correctly to spec
  • Database queries complete <500ms (p95)
  • Zero crashes during 24-hour stability test
  • Error handling covers all edge cases
  • Type safety: 100% TypeScript strict mode

Documentation Requirements ✅

  • Quick start achieves first run in <5 minutes
  • All examples run without modification
  • Troubleshooting covers 90%+ of common issues
  • API reference is complete and accurate
  • Inline code comments for complex logic

Adoption Requirements ✅

  • 10+ Weekly Active Users (WAU) by target date
  • 3+ beta testers provide positive feedback
  • Zero P0 bugs in production after Week 2
  • Average user rating ≥4.0/5.0
  • MCP directory listing approved

MCP Protocol Compliance

Required Capabilities

  1. Resources: Read-only data access (models, transformations)
  2. Tools: Interactive operations (analyze, decompose, synthesize)
  3. Prompts: Pre-defined workflows (optional in Phase 0)

Transport Layer

  • stdio: Standard input/output for Claude Desktop
  • JSON-RPC 2.0: All requests/responses follow spec
  • Error Codes: Proper HTTP-style error codes

Security Best Practices

  • Input sanitization for all user-provided data
  • Rate limiting to prevent abuse
  • No external network calls without explicit permission
  • Minimal permissions model
  • Audit logging for all operations

Performance Optimization

Latency Targets

  • p50: <100ms for all endpoints
  • p95: <500ms for database queries
  • p99: <1000ms for complex transformations

Optimization Strategies

  1. Database: Index all frequently queried columns
  2. Caching: In-memory LRU cache for hot data
  3. Lazy Loading: Load resources only when needed
  4. Batch Operations: Group similar queries
  5. Connection Pooling: Reuse database connections

Telemetry Schema

interface TelemetryEvent {
  event_name: 'mcp_install' | 'mcp_success_run' | 'api_call' | 'doc_view';
  user_id: string; // Anonymized hash
  ts: string; // ISO 8601
  meta: {
    client?: string; // Claude Desktop version
    version?: string; // MCP server version
    model?: string; // e.g., "CO4"
    lat_ms?: number; // Latency in milliseconds
    endpoint?: string; // Endpoint called
    status?: number; // HTTP-style status code
  };
}

Distribution Checklist

Pre-Publication ✅

  • Version number updated (semantic versioning)
  • CHANGELOG.md updated with release notes
  • README.md reviewed and accurate
  • LICENSE file present (MIT recommended)
  • package.json metadata complete
  • Dependencies audit clean (npm audit)
  • Bundle size acceptable (<5MB)

MCP Directory Submission ✅

  • Clear description (160 characters max)
  • Category selection appropriate
  • Screenshots/demos prepared
  • Usage examples documented
  • Support contact provided

Post-Publication ✅

  • NPM package downloadable via npx
  • GitHub release created with notes
  • Documentation site updated
  • Community announcement posted
  • Beta testers notified

Common Pitfalls & Solutions

Issue: Claude Desktop doesn't detect server

Solution: Verify stdio transport is properly initialized and JSON-RPC responses are formatted correctly.

Issue: High latency (>1s)

Solution: Add database indexes, implement caching, or optimize query complexity.

Issue: Installation fails on Windows

Solution: Test with cross-platform paths, avoid shell-specific commands, use cross-env for environment variables.

Issue: Breaking changes between versions

Solution: Follow semantic versioning strictly, maintain backwards compatibility, provide migration guides.

Examples

Example 1: Minimal MCP Server

import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';

const server = new Server({
  name: 'hummbl-mcp-server',
  version: '1.0.0',
}, {
  capabilities: {
    resources: {},
    tools: {},
  },
});

// Register resource: List mental models
server.setRequestHandler('resources/list', async () => ({
  resources: [
    {
      uri: 'hummbl://models',
      name: 'Mental Models',
      description: 'BASE120 mental model collection',
      mimeType: 'application/json',
    },
  ],
}));

// Register tool: Analyze with perspective transformation
server.setRequestHandler('tools/call', async (request) => {
  if (request.params.name === 'analyze-perspective') {
    const { text } = request.params.arguments;
    // Transformation logic here
    return {
      content: [{
        type: 'text',
        text: `Perspective analysis: ${text}`,
      }],
    };
  }
});

// Start server
const transport = new StdioServerTransport();
await server.connect(transport);

Example 2: Database Integration

import Database from 'better-sqlite3';

const db = new Database('hummbl.db');

// Initialize schema
db.exec(`
  CREATE TABLE IF NOT EXISTS mental_models (
    id TEXT PRIMARY KEY,
    code TEXT UNIQUE NOT NULL,
    transformation_class TEXT NOT NULL,
    name TEXT NOT NULL,
    description TEXT
  );
  
  CREATE INDEX IF NOT EXISTS idx_transformation 
  ON mental_models(transformation_class);
`);

// Query with prepared statement
const getModelsByTransformation = db.prepare(`
  SELECT * FROM mental_models 
  WHERE transformation_class = ? 
  ORDER BY code
`);

const perspectiveModels = getModelsByTransformation.all('P');

Example 3: Telemetry Logging

function logTelemetry(event: TelemetryEvent) {
  const logEntry = {
    ...event,
    ts: new Date().toISOString(),
  };
  
  // Log to console (development)
  if (process.env.NODE_ENV === 'development') {
    console.log(JSON.stringify(logEntry));
  }
  
  // Send to analytics service (production)
  if (process.env.NODE_ENV === 'production') {
    // TODO: Send to analytics endpoint
  }
}

// Usage
logTelemetry({
  event_name: 'api_call',
  user_id: hashUserId(userId),
  ts: new Date().toISOString(),
  meta: {
    endpoint: '/tools/analyze-perspective',
    lat_ms: 245,
    status: 200,
  },
});

Resources

Success Criteria

Phase 0 is successful when:

  1. npx @hummbl/mcp-server runs cleanly on any machine
  2. ✅ 10+ developers using it weekly by target date
  3. ✅ 3 compelling examples work out-of-the-box
  4. ✅ Zero P0 bugs after Week 2
  5. ✅ Clear path to Phase 1 identified

Phase 0 fails if:

  1. ❌ <10 users after 60 days → Pivot to consulting focus
  2. ❌ >5 P0 bugs in first 30 days → Architecture review needed
  3. ❌ >1000ms latency sustained → Tech stack reassessment required

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

ui-ux-designer

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

github-repository-architect

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

sitrep-coordinator

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

openclaw-version-monitor

监控 OpenClaw GitHub 版本更新,获取最新版本发布说明,翻译成中文, 并推送到 Telegram 和 Feishu。用于:(1) 定时检查版本更新 (2) 推送版本更新通知 (3) 生成中文版发布说明

Archived SourceRecently Updated