본문으로 건너뛰기
cccskills
무료GitHub에 공개

mcp-builder

Build high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services. Covers design principles, architecture, implementation patterns, and evaluation-driven development.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(9)

  • SKILL.md5.4 KB
  • reference/evaluation.md21.1 KB
  • reference/mcp_best_practices.md28.2 KB
  • reference/node_mcp_server.md26.1 KB
  • reference/python_mcp_server.md25.6 KB
  • scripts/connections.py4.8 KB
  • scripts/evaluation.py13.7 KB
  • scripts/example_evaluation.xml1.2 KB
  • scripts/requirements.txt37 B

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

MCP Server Development

Use This Skill When

  • Building new MCP servers to integrate external APIs
  • Designing tools for LLM agents to use
  • Creating workflows that automate external service interactions
  • Integrating third-party services for AI access
  • Developing domain-specific protocol servers

When NOT to Use

  • Simple API wrapper (consider if MCP overhead justified)
  • Systems without external service integration
  • Runtime debugging of MCP servers (use logs first)

Context: MCP Server Quality Maturity

Undeveloped: Simple API passthrough, overwhelming tool output, confusing tool names.

Target: Well-scoped tools, clear parameter validation, readable responses, consistent naming.

Optimized: Multi-step workflows, error recovery, cost awareness, LLM-optimized information density.

Core Principle

Design for agent workflows, not just APIs. MCP servers succeed when tools match how agents think about problems, surface actionable information, and guide agents toward correct usage patterns.

Instructions

Phase 1: Research and Design

Study MCP protocol:

Define agent-centric tool design:

PrincipleExample
Workflows not endpointsTool: "schedule_meeting" that checks availability + creates event (not separate tools)
Limited contextReturn name+id (not full record); provide "concise" vs "detailed" modes
Actionable errors"Try filter='active' to reduce results" (not just "invalid parameter")
Natural naming"schedule_meeting" (not "create_calendar_event_with_availability_check")

Phase 2: Implementation

Choose framework:

FrameworkLanguageWhen to Use
FastMCPPythonQuick prototyping, existing Python APIs
MCP SDKNode.js/TypeScriptProduction servers, complex workflows

FastMCP example:

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("my-service")

@mcp.tool()
def get_weather(city: str, units: str = "fahrenheit") -> str:
    """Get current weather for a city."""
    # Implementation
    return f"Weather in {city}: 72°F, sunny"

if __name__ == "__main__":
    mcp.run()

Phase 3: Tool Design Best Practices

Design tools for agents:

## Tool Design Checklist

**Clear Purpose**:
- [ ] Tool name describes the action (verb-first)
- [ ] Description fits in 1 sentence
- [ ] Single responsibility (focused outcome)

**Useful Parameters**:
- [ ] Required params only (optional params rarely used by agents)
- [ ] Clear parameter descriptions
- [ ] Validation with helpful error messages
- [ ] Default values where sensible

**Actionable Output**:
- [ ] Return essential information (not exhaustive data)
- [ ] Structure response for parsing (JSON, not freetext)
- [ ] Include status indicators (success/failure, warnings)
- [ ] Provide "what's next" in errors

Example tool:

@mcp.tool()
def search_documents(
    query: str,
    limit: int = 10,
    filter_type: str = "all"
) -> dict:
    """Search internal documents.
    
    Args:
        query: Search terms
        limit: Max results (reduces context)
        filter_type: 'all', 'archived', 'recent'
    
    Returns:
        Structured results with score and metadata
    """
    # Implementation ensures response is concise
    return {
        "query": query,
        "found": 42,
        "results": [
            {"title": "...", "score": 0.95, "id": "doc-123"},
            # ...limited to 10
        ],
        "hint": "Try filter_type='recent' if results are stale"
    }

Phase 4: Evaluation-Driven Development

Test with actual agent use:

## Evaluation Scenarios

**Scenario 1: Basic Workflow**
- Agent: "Find documents about Q4 planning"
- Tools needed: search_documents
- Success metric: Agent gets useful results in 1 call

**Scenario 2: Multi-Step Workflow**
- Agent: "Schedule meeting with availability check"
- Tools needed: check_availability, schedule_meeting
- Success metric: Meeting created without errors

**Scenario 3: Error Recovery**
- Agent: "Search with typo query"
- Tool: Returns helpful error + suggestion
- Success metric: Agent corrects query and retries

Iterate based on results:

  • Did agent find right tool?
  • Did tool parameters match expectations?
  • Was output format helpful?
  • Did agent need multiple calls or one?

Phase 5: Documentation and Testing

Document thoroughly:

  • Tool descriptions (agent-readable)
  • Parameter constraints
  • Example calls
  • Common error scenarios

Test coverage:

  • Happy path (normal operation)
  • Invalid inputs (malformed params)
  • External service failures (API down)
  • Rate limiting (responses)

Output

Deliver MCP server with:

  1. Tool Design Doc (purpose, parameters, output format)
  2. Implementation (FastMCP or SDK)
  3. Evaluation Report (agent test scenarios)
  4. Documentation (setup, usage, troubleshooting)

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Automate 21risk tasks via Rube MCP (Composio). Always search tools first for current schemas.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

manu14357/zskills162026년 7월 24일 업데이트

Automate 2chat tasks via Rube MCP (Composio). Always search tools first for current schemas.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

manu14357/zskills162026년 7월 24일 업데이트

Automate Ably tasks via Rube MCP (Composio). Always search tools first for current schemas.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

manu14357/zskills162026년 7월 24일 업데이트

Automate Abstract tasks via Rube MCP (Composio). Always search tools first for current schemas.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

manu14357/zskills162026년 7월 24일 업데이트

Automate Abuselpdb tasks via Rube MCP (Composio). Always search tools first for current schemas.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

manu14357/zskills162026년 7월 24일 업데이트

Automate Abyssale tasks via Rube MCP (Composio). Always search tools first for current schemas.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

manu14357/zskills162026년 7월 24일 업데이트

manu14357의 스킬 모두 보기

이 스킬의 문제 신고