GemmaJnana
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 list3. 독립형 MCP 서버 실행
stdin/stdout에서 수신 대기하는 원시 MCP 서버를 시작합니다:
mcp-skills serveMCP Inspector를 통해 도구와 프롬프트를 대화형으로 검사합니다:
npx @modelcontextprotocol/inspector mcp-skills serve4. 웹 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 -vThis server cannot be installed
Maintenance
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
- AlicenseNot gradedqualityFmaintenanceEnables AI agents to communicate, coordinate, and collaborate on complex tasks through a local MCP server.38ISC
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI agents to automatically discover, install, and learn to use new tools without manual configuration.3515MIT
- AlicenseNot gradedqualityDmaintenanceA production-grade MCP server designed for multi-tenant, authenticated, and observable AI agent systems, enabling secure tool execution across heterogeneous data sources.57MIT
- AlicenseNot gradedqualityCmaintenanceA local MCP server that gives AI agents structured task planning, execution tracking, and guided research workflows.12MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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