Skip to main content
Glama
vdonthireddy

GemmaJnana

by vdonthireddy

MCP Skills

경량화되고 견고하며 분리된 CLI/Agent 프레임워크로, Model Context Protocol (MCP) 상에서 Agent Skills의 점진적 공개(progressive disclosure) 를 보여줍니다.

이 프로젝트는 stdio 전송을 사용하여 백엔드 MCP 서버와 통신하는 완전한 로컬 에이전트 루프를 구현합니다. 에이전트가 도구를 발견하고 복잡한 지침(스킬)을 관련이 있을 때만 동적으로 주문형으로 가져올 수 있게 합니다.

🗺️ Obsidian Vault Map

Obsidian 내 문서를 빠르게 탐색하세요:

  • 🏠 홈 (README): [[README]]

  • 📖 초보자 가이드: [[LAYMAN_GUIDE|A Layman's Guide to MCP Skills]]

  • ⚙️ 시스템 흐름 및 워크스루: [[FLOW|How it works — an end-to-end walkthrough]]

  • 🏴☠️ 예제 스킬: [[skills/pirate-speak/SKILL|Pirate Speak Skill (SKILL.md)]]


Related MCP server: Forage MCP Server

주요 기능

  • 분리된 아키텍처: 프로세스 A(CLI/Agent)는 Model Context Protocol을 통해 JSON-RPC로 프로세스 B(MCP 서버)와 엄격하게 통신합니다. 에이전트에서 서버 도구나 스킬 로더 로직을 가져오지 않습니다.

  • 점진적 스킬 공개: 에이전트는 먼저 사용 가능한 스킬의 메타데이터(이름과 설명)를 저렴하게 나열하고, LLM이 스킬이 관련 있다고 판단할 때만 토큰이 많이 드는 지침을 가져옵니다.

  • AST 기반 계산기: 기본 숫자와 산술 연산으로 실행을 제한하는 안전한 수학 평가 도구로, 원격 코드 실행으로부터 완전히 보호됩니다.

  • 견고한 로컬 테스트: LLM API 키 없이도 결정적이고 오프라인으로 다단계 에이전트 동작을 테스트할 수 있는 규칙 기반 및 스크립트 기반 DummyClient가 내장되어 있습니다.

  • 실제 LLM 통합: 환경 구성을 사용하여 실제 OpenAI 호환 엔드포인트로 원활하게 전환할 수 있습니다.

  • 현대적인 패키지 레이아웃: Click 기반 CLI와 pyproject.toml 설정을 사용하는 깔끔한 패키지 구조.


시스템 아키텍처

graph LR
    subgraph CLI_PROC["Process A — CLI / Agent"]
        CLI["cli.py<br/>run command"]
        AG["Agent<br/>ReAct Loop"]
        LLM["LLMClient<br/>(Dummy / OpenAI)"]
        MC["MCPClient<br/>(stdio client)"]
        CLI --> AG
        AG --> LLM
        AG --> MC
    end

    subgraph SRV_PROC["Process B — MCP Server"]
        SRV["FastMCP Server<br/>app.py"]
        TOOLS["Tools<br/>calculator, echo"]
        SKILLS["Skills<br/>list_skills / load_skill<br/>+ prompts"]
        SRV --> TOOLS
        SRV --> SKILLS
    end

    MC <-->|"MCP stdio<br/>(JSON-RPC on stdin/stdout)"| SRV
    LLM -.->|"OpenAI Chat API"| EXT["LLM API Endpoint"]

프로젝트 레이아웃

mcp-skills-new/
├── chatbot-ui/                 # Premium Chatbot Web UI
├── start.sh                    # Starts MCP server & UI in background
├── stop.sh                     # Stops background services
├── pyproject.toml              # Build backend and dependencies config
├── FLOW.md                     # Walkthrough explaining how the framework runs
├── README.md                   # This overview file
├── skills/                     # Builtin skills catalog
│   └── pirate-speak/
│       └── SKILL.md            # Pirate-speak instructions with frontmatter
├── src/
│   └── mcp_skills/
│       ├── __init__.py
│       ├── cli.py              # Click commands entry point
│       ├── config.py           # Configuration parser settings
│       ├── agent/              # CLI Agent components
│       │   ├── __init__.py
│       │   ├── agent.py        # ReAct orchestration loop
│       │   ├── mcp_client.py   # MCP stdio client wrapper
│       │   └── prompts.py      # System prompts
│       ├── llm/                # LLM connectors (Dummy & OpenAI)
│       │   ├── __init__.py
│       │   ├── base.py
│       │   ├── dummy.py
│       │   └── openai_client.py
│       └── server/             # Stdio/SSE MCP server
│           ├── __init__.py
│           ├── __main__.py
│           ├── app.py          # FastMCP server wiring
│           ├── skills/         # Skill markdown loader
│           │   ├── __init__.py
│           │   ├── loader.py
│           │   └── models.py
│           └── tools/          # Registry and builtin tools
│               ├── __init__.py
│               ├── base.py
│               ├── registry.py
│               └── builtins.py
└── tests/                      # 18 pytest unit/integration tests

[!TIP] Obsidian 탐색 팁: 다음 링크를 사용하여 Obsidian에서 직접 주요 파일을 열고 편집할 수 있습니다:

  • [[FLOW]] — ReAct 에이전트 루프와 stdio 통신에 대한 상세 기술 워크스루.

  • [[LAYMAN_GUIDE]] — 비유를 사용한 높은 수준의 개발자 친화적 개요.

  • [[skills/pirate-speak/SKILL]] — 예제 스킬 지침 템플릿.


설치

패키지와 개발 의존성을 편집 가능한 모드로 설치합니다:

python3 -m pip install -e ".[dev]"

사용법

1. 에이전트 루프 실행

에이전트가 질문에 답하도록 트리거합니다. stdio MCP 서버 하위 프로세스를 자동으로 생성하고, 활성 도구를 검사하고, 단계를 추론하고, 적절한 도구를 호출하고, 요약을 반환합니다.

수학 실행 (AST 계산기 도구 사용):

mcp-skills run "what is 6 * 7?"

스킬 발견 및 지연 로딩:

mcp-skills run "what skills exist?"

2. CLI를 통해 발견된 스킬 탐색

에이전트 루프를 시작하지 않고 로드된 스킬 템플릿을 탐색합니다:

mcp-skills skills list

3. 독립형 MCP 서버 실행

stdin/stdout에서 수신 대기하는 원시 MCP 서버를 시작합니다:

mcp-skills serve

MCP Inspector를 통해 도구와 프롬프트를 대화형으로 검사합니다:

npx @modelcontextprotocol/inspector mcp-skills serve

4. 웹 UI 및 백그라운드 서버

MCP 서버와 정적 웹 UI를 백그라운드에서 실행하는 스크립트를 제공합니다:

./start.sh

이렇게 하면 SSE를 통해 포트 8000에서 mcp-skills serve가 시작되고 포트 8080에서 Python HTTP 서버가 시작됩니다. http://127.0.0.1:8080으로 이동하여 챗봇 UI에 액세스하세요.

백그라운드 프로세스를 중지하려면 다음을 실행하세요:

./stop.sh

실제 LLM으로 실행

오프라인 DummyClient에서 실제 모델로 전환하려면 프로젝트 루트에 .env 파일을 만드세요:

MCP_SKILLS_LLM_PROVIDER=openai
MCP_SKILLS_MODEL=gpt-4o-mini
MCP_SKILLS_OPENAI_BASE_URL=https://api.openai.com/v1
MCP_SKILLS_OPENAI_API_KEY=your-api-key-here

테스트 실행

테스트 스위트를 실행하여 18개의 오프라인 검증 검사를 수행합니다:

pytest -v
F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • Hosted MCP server to manage a restaurant menu from AI agents - 39 tools over the DuckHub API.

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vdonthireddy/ollama-gemma-agents-mcp-skills'

If you have feedback or need assistance with the MCP directory API, please join our Discord server