Skip to content

Instantly share code, notes, and snippets.

View olaservo's full-sized avatar
🦉

Ola Hungerford olaservo

🦉
View GitHub Profile
@olaservo
olaservo / mcp-roots-research.md
Created February 9, 2026 14:51
MCP Roots: Deep Research Report — spec, PRs, issues, discussions, maintainer quotes

MCP Roots: Deep Research Report

Generated: 2026-02-09

What Are Roots?

Roots are a client capability in MCP that allow clients to expose filesystem boundaries to servers. They define where servers can operate, helping servers understand which directories and files they have access to. Servers can request the list of roots via roots/list and receive notifications/roots/list_changed when the list changes.

Key design point: Roots are a coordination mechanism, not a security boundary. They guide well-behaved servers but cannot enforce restrictions. Actual security must come from OS-level file permissions and sandboxing.

@olaservo
olaservo / tool-annotations-research.md
Last active February 9, 2026 12:40
MCP Tool Annotations — Research results from searching the spec, PRs, issues, and discussions

Tool Annotations — MCP Research Results

Current Spec (Authoritative)

ToolAnnotations is part of the MCP spec since revision 2025-03-26 and has evolved through subsequent revisions. The current interface (as of 2025-11-25 / draft): [^3]

interface ToolAnnotations {
  title?: string;
 readOnlyHint?: boolean; // default: false
@olaservo
olaservo / collection.ts
Created December 14, 2025 15:21
Example of MCP Resource Collection
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
/**
* Example items in a collection - simulating a product catalog
*/
const collectionItems = [
{ id: 1, name: "Summer Hat", price: 29.99, category: "accessories" },
{ id: 2, name: "Beach Towel", price: 19.99, category: "accessories" },
{ id: 3, name: "Sunglasses", price: 49.99, category: "accessories" },
{ id: 4, name: "Flip Flops", price: 14.99, category: "footwear" },
@olaservo
olaservo / ola_mcp_observations.md
Last active November 25, 2025 13:45
Maintainer POV for MCP Anniversary Blog

As a community moderator and maintainer, I keep coming back to something Donella Meadows wrote: "Systems can't be controlled, but they can be designed and redesigned... We can listen to what the system tells us, and discover how its properties and our values can work together to bring forth something much better than could ever be produced by our will alone."

What made this year's growth possible was embracing messiness as a feature, and doing our best to solve real problems emerging from that messiness while leaving room for systems and models to advance and adapt. The looseness created velocity, which I watched unfold in a flood of discussions, PRs, and issues.

As someone who's merged hundreds of pull requests across MCP repos, I still feel like I'm barely keeping up with this velocity. I mean that in the most positive way. Better patterns and practices are emerging from the sheer volume of contributions and breadth of experience and expertise r