Skip to main content
Glama
vdonthireddy

GemmaJnana

by vdonthireddy

MCP Skills

軽量で堅牢、かつ疎結合なCLI/Agentフレームワークであり、Model Context Protocol (MCP) 上でのAgent Skillsの段階的開示を実演します。

このプロジェクトは、stdioトランスポートを使用してバックエンドのMCPサーバーと通信する、完全なローカルエージェントループを実装しています。エージェントはツールを発見し、複雑な指示(スキル)を、関連する場合にのみ動的かつオンデマンドで取得できます。

🗺️ Obsidian Vault Map

Obsidian内のドキュメントをすばやく移動する:

  • 🏠 ホーム (README): [[README]]

  • 📖 初心者向けガイド: [[LAYMAN_GUIDE|MCP Skillsの初心者向けガイド]]

  • ⚙️ システムフローとウォークスルー: [[FLOW|仕組み — エンドツーエンドのウォークスルー]]

  • 🏴☠️ サンプルスキル: [[skills/pirate-speak/SKILL|海賊語スキル (SKILL.md)]]


Related MCP server: Forage MCP Server

主な機能

  • 疎結合アーキテクチャ: プロセスA(CLI/Agent)は、Model Context Protocolを介したJSON-RPC経由でのみプロセスB(MCPサーバー)と通信します。エージェントはサーバーツールやスキルローダーロジックをインポートしません。

  • 段階的スキル開示: エージェントはまず利用可能なスキルのメタデータ(名前と説明)を低コストで一覧表示し、LLMがスキルが関連すると判断した場合にのみ、トークン消費量の多い指示を取得します。

  • ASTベースの計算機: 基本的な数値と算術演算のみに実行を制限する安全な数式評価ツールで、リモートコード実行から完全に保護されています。

  • 堅牢なローカルテスト: ルールベースおよびスクリプト化されたDummyClientが組み込まれており、LLM APIキーを必要とせずに、多段階のエージェント動作を決定的かつオフラインでテストできます。

  • 実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. Web UIとバックグラウンドサーバー

MCPサーバーと静的Web UIをバックグラウンドで実行するスクリプトを提供しています:

./start.sh

これにより、SSE経由でポート8000のmcp-skills serveと、ポート8080のPython HTTPサーバーが起動します。http://127.0.0.1:8080にアクセスしてChatbot 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