UI はローカライズ済みです。スキルの紹介と説明文書は選択した言語へ AI が自動翻訳し、コード・コマンド・パス・専門用語は原文のままです。原作者の文書が優先されます。
スキルを探す
開発・技術 · SKILL.md

mcp-agent-patterns

mcp-agent-patterns

Use when integrating or optimizing Model Context Protocol (MCP) servers and clients. Keywords: MCP, Model Context Protocol, tool discovery, lazy loading, sampling, resource subscription, MCP server.

Independent GitHub snapshot · Automated classification · Original documentation governs

VVoDaiLocz / kilo-kit-mcpApache-2.0

スキルの説明

GitHub

name: "mcp-agent-patterns" description: >- Use when integrating or optimizing Model Context Protocol (MCP) servers and clients. Keywords: MCP, Model Context Protocol, tool discovery, lazy loading, sampling, resource subscription, MCP server.

MCP Agent Patterns (Model Context Protocol)

Overview

The Model Context Protocol (MCP) provides a standardized way for AI agents to interact with external tools, data resources, and environments. This skill defines architectural patterns and implementation best practices for building, connecting, and optimizing MCP-based systems within the KILO-KIT ecosystem.

When To Use

  • Implementing custom MCP servers or clients.
  • Integrating external services (APIs, DBs, filesystems) as MCP servers.
  • Optimizing context windows when dealing with large tool catalogs.
  • Implementing real-time resource synchronization or complex multi-server orchestrations.
  • Security-critical integrations requiring isolated execution environments.

Core MCP Concepts

  • Tools: Executable functions exposed to the LLM.
  • Resources: Data sources that can be read by the LLM (e.g., file contents, database records).
  • Prompts: Reusable templates or workflows designed to be used by the LLM.
  • Sampling: A protocol allowing an MCP server to request the host client to perform LLM inference on its behalf, enabling agentic tool behavior.

Advanced Patterns

Dynamic Tool Catalog & Progressive Loading

To prevent token bloat:

  1. Manifest Exposure: Expose only essential, high-level tool definitions initially.
  2. On-Demand Loading: Load detailed JSON Schemas only when a tool is selected or explicitly requested by the agent context.

MCP Sampling Protocol

When a server needs LLM intelligence (e.g., parsing unstructured output or making a decision):

  • The server issues a sampling/createMessage request to the client.
  • The client acts as the host/gateway, maintaining control over the model selection and cost.

Resource Streaming & Subscriptions

  • Use URI Templates (res://server/type/{id}) to create flexible resource paths.
  • Implement Resource Subscriptions to push data updates from the server to the client without polling.

Eager vs Lazy Tool Registration

  • Eager: Best for small sets of essential core tools (zero-latency startup).
  • Lazy: Mandatory for large or dynamic catalogs to keep initial prompts lean.

Multi-Server Orchestration

  • Namespace Routing: Prefix tool names with server aliases (serverA:toolX).
  • Conflict Resolution: Implement a central router to handle collisions between tools of the same name across different servers.

Security Considerations

  • Server Sandboxing: Run MCP servers in isolated containers or limited-permission processes.
  • Credential Isolation: Inject sensitive environment variables (API keys, tokens) only into the specific server process that requires them. Use a secure configuration store (e.g., HashiCorp Vault) for production deployments.

Quality Gates

  • Contract Verification: Ensure MCP server implementations conform to the JSON-RPC message schema.
  • Context Hygiene: Verify that only relevant tools/resources are included in the prompt; prune dormant subscriptions.
  • Error Handling: Standardize error codes for common failures (e.g., timeout, auth denied, connection lost).

MCP 2.0 Features (2025-2026)

  • OAuth 2.0 Auth: Native support for delegated access without sharing long-lived keys.
  • Elicitation API: Interactive flow where the client helps the user provide missing inputs for a tool call.
  • Structured Tool Results: Formalized response types beyond simple strings (e.g., rich content types, UI components).

References

保存したスキル