MCP HubMCP Hub
cyanheads

model-context-protocol-resources

by: cyanheads

Exploring the Model Context Protocol (MCP) through practical guides, clients, and servers I've built while learning about this new protocol.

166created 27/11/2024
Visit
protocol
learning

πŸ“ŒOverview

Purpose: To provide a standardized communication framework that enables Large Language Models (LLMs) to interact seamlessly with external systems and services.

Overview: The Model Context Protocol (MCP) is a powerful standard designed for enhancing the capabilities of LLMs through consistent interface mechanisms. It allows LLMs to access tools and resources, streamlining their integration with various external data sources and services while ensuring security and extensibility.

Key Features:

  • Consistent Interface: Provides standardized methods for LLMs to effectively communicate with tools and resources, enhancing interoperability.

  • Enhanced Capabilities: Empowers LLMs to interact with databases, APIs, and local systems, facilitating more complex operations and workflows.

  • Security & Control: Implements structured access patterns with built-in validation to ensure safe interactions with external systems.

  • Extensibility: Simplifies the process of implementing new capabilities as system needs evolve, allowing for continuous adaptation and improvement.


Model Context Protocol Resources & Guides

A collection of guides, utilities, clients, and servers for the Model Context Protocol (MCP) developed during exploration and implementation of this standard. This is a work in progress with continual updates.

πŸ“‹ Table of Contents

  • Introduction to MCP
  • MCP TypeScript Template
  • MCP Guides
  • MCP Utilities
  • MCP Servers
    • Atlas
    • Toolkit
    • Mentor
    • Obsidian
    • Git
    • GitHub
    • Ntfy
  • Getting Started
  • License

πŸ” Introduction to MCP

The Model Context Protocol (MCP) is a standardized communication protocol enabling Large Language Models (LLMs) to interact with external systems and services.

Benefits:

  • Consistent Interface: Standard methods for LLMs to access tools and resources
  • Enhanced Capabilities: Interaction with databases, APIs, and local systems
  • Security & Control: Structured access with built-in validation
  • Extensibility: Easy to add new capabilities as needs evolve

For in-depth introduction including design philosophy and technical details, see the specification.


πŸš€ MCP TypeScript Template Repo

Just Launched! The Ultimate Starter Kit for Building MCP Servers

This is a TypeScript template for building MCP servers, providing a solid foundation with best practices, utilities, and modular architecture.

Highlights:

  • Rock-solid architecture for scalability and maintainability
  • Production-ready utilities: logging, error handling, ID generation
  • Full TypeScript type safety
  • Security-first design
  • Working examples for tools and resources
  • Developer cheat sheet .clinerules for LLM coding agents

Ideal for:

  • MCP beginners to skip the learning curve
  • Experienced developers to save time
  • Teams ensuring consistent patterns
  • LLM enthusiasts wanting a solid starting point

Core Architecture

Modular architecture for clarity and extensibility:

flowchart TB
    subgraph API["API Layer"]
        direction LR
        MCP["MCP Protocol"]
        Val["Validation"]
        San["Sanitization"]
        MCP --> Val --> San
    end

    subgraph Core["Core Components"]
        direction LR
        Config["Configuration"]
        Logger["Logging System"]
        Error["Error Handling"]
        Server["MCP Server"]
        Config --> Server
        Logger --> Server
        Error --> Server
    end

    subgraph Implementation["Implementation Layer"]
        direction LR
        Tool["Tools"]
        Resource["Resources"]
        Util["Utilities"]
        Tool --> Server
        Resource --> Server
        Util --> Tool
        Util --> Resource
    end

    San --> Config
    San --> Server

    classDef layer fill:#2d3748,stroke:#4299e1,stroke-width:3px,rx:5,color:#fff
    classDef component fill:#1a202c,stroke:#a0aec0,stroke-width:2px,rx:3,color:#fff
    class API,Core,Implementation layer
    class MCP,Val,San,Config,Logger,Error,Server,Tool,Resource,Util component

Try out this template and build your first MCP server! See the repository documentation for details.


πŸ› οΈ MCP Guides

MCP Client Development Guide

Covers:

  • Core architecture and components
  • Connection lifecycle management
  • Tool and resource handling
  • Error handling and security best practices
  • Step-by-step implementation in Python and TypeScript
  • Advanced topics: sampling, multi-server connections

MCP Server Development Guide

Covers:

  • Core server architecture
  • Building your first MCP server
  • Exposing tools, resources, and prompts
  • Advanced features (sampling, roots, streaming)
  • Security and best practices
  • Troubleshooting and examples

πŸ› οΈ MCP Utilities

MCP Reporter

A utility for generating comprehensive reports about MCP server capabilities, aiding developer understanding, documentation, and tool integration.

Features:

  • Automatic discovery of enabled MCP servers
  • Detailed extraction of capabilities (tools, resources, templates)
  • Real-time progress tracking
  • Well-structured markdown reports with input schemas and examples
  • Command-line and programmatic API for integration
  • Configurable outputs

πŸ› οΈ MCP Servers

Perplexity MCP Server

An MCP server with tools for interacting with the Perplexity AI API, enabling search-augmented queries in MCP-compatible AI agents.

Features:

  • Logging, error handling, ID generation, rate limiting
  • Shared type definitions and standardized error structures
  • Search with recency and domain filtering
  • Reasoning visibility with showThinking parameter
  • Security via input validation and sanitization

Requires Perplexity API key.


Atlas MCP Server

ATLAS (Adaptive Task & Logic Automation System) enables LLM agents to manage complex projects via a three-tier architecture (Projects, Tasks, Knowledge) backed by Neo4j graph database.

Highlights:

  • Comprehensive project and task management, including dependencies and bulk operations
  • Structured knowledge repository with tagging and citations
  • Neo4j integration for native relationships, transactions, and advanced search
  • Unified search across all entities with fuzzy matching and filtering

Note: Version 2.0+ requires Neo4j (self-hosted or Neo4j AuraDB).


Filesystem MCP Server

Provides AI agents with secure file system capabilities: read, write, update, manage files/directories.

Features:

  • Extensive file operations including search-and-replace within files
  • Session-aware default path management
  • Security with path sanitization and optional base directory restriction
  • Logging, error handling, and type-safe TypeScript code

Built on the MCP TypeScript template for consistency and security.


Toolkit MCP Server

Offers system utilities for LLM agents:

  • IP geolocation with caching
  • Network diagnostics (ping, traceroute)
  • System monitoring (resource usage, performance)
  • Cryptographic operations (hashing, UUID)
  • QR code generation
  • Time and timezone management with localization

Uses Node.js crypto module and optimized caching.


Mentor MCP Server

Provides AI-powered mentorship capabilities for LLM agents via Deepseek-Reasoning API, including:

  • Code review, bug detection, performance optimization
  • Design critiques and architectural assessments
  • Writing feedback and content enhancement
  • Strategic planning and innovation suggestions

Configurable for timeout, retries, rate limiting, and response caching.


Obsidian MCP Server

Enables LLMs to interact with Obsidian vaults:

  • File creation, reading, updating, YAML frontmatter handling
  • Advanced search with JsonLogic filters and tag/property filtering
  • Atomic operations, error handling, and API key authentication
  • Requires Obsidian Local REST API plugin

Supports full Obsidian markdown capabilities.


Git MCP Server

Standardized interface for Git repository operations:

  • Repository initialization, cloning, status, and browsing
  • Branch creation, deletion, checkout, merging, conflict resolution
  • Staging, committing, diffs, history, ignore management
  • Remote operations: add, fetch, pull, push, authentication
  • Advanced git commands (tags, stash, cherry-pick, rebase)

Features standardized error handling and secure resource access.


GitHub MCP Server

Tools for interacting with the GitHub API:

  • Manage repositories (create, list, configure, visibility)
  • Branch management with protection and advanced ops
  • Issue creation and filtering with labels and state
  • Pull request lifecycle and merge strategies
  • File management with encoding and commit messages
  • Release creation and asset publishing
  • Robust validation, error handling, and rate limit support

Requires GitHub personal access token.


Ntfy MCP Server

Interacts with ntfy push notification service:

  • Send customizable notifications to devices
  • Support for priorities, emoji tags, actions, attachments
  • Scheduled delivery, email forwarding, Firebase Cloud Messaging integration
  • Configurable server URL and default topic
  • Type-safe API with validation

Easy setup with ntfy.sh or self-hosted server.


πŸš€ Getting Started

  1. Explore guides to understand MCP concepts and implementations
  2. Select a server matching your use case and follow installation instructions
  3. Connect with an MCP-compatible client or build your own
  4. Experiment and contribute with issues or pull requests

πŸ“„ License

Licensed under the Apache 2.0 License: https://opensource.org/licenses/Apache-2.0


Created by cyanheads with the Model Context Protocol