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.
π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
- Explore guides to understand MCP concepts and implementations
- Select a server matching your use case and follow installation instructions
- Connect with an MCP-compatible client or build your own
- 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