GemmaJnana
Integrates with Ollama to serve Google's Gemma 4 model for local AI inference and tool orchestration in travel and party planning domains.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GemmaJnanaPlan a vacation to Tokyo next month"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Skills
A lightweight, robust, and decoupled CLI/Agent framework demonstrating progressive disclosure of Agent Skills over the Model Context Protocol (MCP).
This project implements a complete local agentic loop that communicates with a backend MCP server using stdio transport. It enables the agent to discover tools and fetch complex instructions (skills) dynamically and on-demand only when relevant.
πΊοΈ Obsidian Vault Map
Quickly navigate the documentation inside Obsidian:
π Home (README): [[README]]
π Layman's Guide: [[LAYMAN_GUIDE|A Layman's Guide to MCP Skills]]
βοΈ System Flow & Walkthrough: [[FLOW|How it works β an end-to-end walkthrough]]
π΄ββ οΈ Example Skill: [[skills/pirate-speak/SKILL|Pirate Speak Skill (SKILL.md)]]
Related MCP server: Forage MCP Server
Key Features
Decoupled Architecture: Process A (CLI/Agent) communicates with Process B (MCP Server) strictly via JSON-RPC over the Model Context Protocol. No importing of server tools or skill loader logic in the agent.
Progressive Skill Disclosure: The agent first lists metadata (names and descriptions) of available skills cheaply and only pulls the token-heavy instructions when the LLM determines the skill is relevant.
AST-based Calculator: A safe math evaluation tool restricting execution to basic numbers and arithmetic operations, fully protected against remote code execution.
Robust Local Testing: Built-in rule-based and scripted
DummyClientallowing deterministic, offline testing of multi-step agent behaviors without needing LLM API keys.Real LLM Integration: Seamless toggle to real OpenAI-compatible endpoints using environment configuration.
Modern Package Layout: Structured clean package layout using a Click-based CLI and pyproject.toml setup.
System Architecture
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"]Project Layout
mcp-skills-new/
βββ 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 testsObsidian Navigation Tip: You can open and edit key files directly inside Obsidian using these links:
[[FLOW]] β Detailed technical walkthrough of the ReAct agent loop and the stdio communication.
[[LAYMAN_GUIDE]] β High-level, developer-friendly overview with analogies.
[[skills/pirate-speak/SKILL]] β The example skill instruction template.
Installation
Install the package and its development dependencies in editable mode:
python3 -m pip install -e ".[dev]"Usage
1. Run the Agent Loop
Trigger the agent to answer questions. It will spawn the stdio MCP server subprocess automatically, inspect active tools, reason through steps, call appropriate tools, and return a summary.
Math execution (uses AST calculator tool):
mcp-skills run "what is 6 * 7?"Skills discovery & lazy loading:
mcp-skills run "what skills exist?"2. Explore Discovered Skills via CLI
Explore loaded skill templates without starting the agent loop:
mcp-skills skills list3. Run Standalone MCP Server
Start a raw MCP server listening on stdin/stdout:
mcp-skills serveInspect tools and prompts interactively via the MCP Inspector:
npx @modelcontextprotocol/inspector mcp-skills serveRunning with a Real LLM
To switch from the offline DummyClient to a real model, create a .env file in the project root:
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-hereRunning Tests
Execute the test suite to run 18 offline verification checks:
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.
Latest Blog Posts
- 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