MCP server by harshcrop
🤖 Gemini CLI & MCP Servers — Workshop
Hands-on workshop: AI in your terminal · Developer automation · Build real MCP tools
Duration: 2 hours · Level: Basic → Intermediate
By: Harsh · GDG Cloud Community
🚀 Quick Start (Participants)
Run this before the workshop to get set up:
# 1. Clone the repo
git clone https://github.com/YOUR_HANDLE/gemini-mcp-workshop.git
cd gemini-mcp-workshop
# 2. One-command setup (installs everything)
chmod +x setup.sh && ./setup.sh
# 3. Authenticate Gemini CLI
gemini auth login
# 4. Verify everything works
node scripts/verify-setup.js
⚠️ Requires Node.js 18+. Check with
node --version.
📋 Workshop Agenda
| Time | Section | Topic | |------|---------|-------| | 0:00 – 0:10 | 00 | Welcome & Setup Check | | 0:10 – 0:40 | 01 | Gemini CLI Foundations | | 0:40 – 1:00 | 02 | Practical AI Workflows | | 1:00 – 1:10 | — | ☕ Break | | 1:10 – 1:35 | 03 | Model Context Protocol (MCP) | | 1:35 – 1:55 | 04 | Build Your Own MCP Server | | 1:55 – 2:00 | — | Q&A & Wrap-up |
📁 Repo Structure
gemini-mcp-workshop/
│
├── mcp-server/ ← The MCP server you'll build in Section 04
│ ├── index.js ← Main server file (7 tools)
│ ├── package.json
│ └── README.md
│
├── demo-project/ ← Express API used for live coding demos
│ ├── src/
│ │ ├── app.js ← Express routes
│ │ ├── users.js ← Auth logic (bcrypt + JWT)
│ │ └── server.js ← HTTP entry point
│ ├── tests/
│ │ └── users.test.js ← Jest test suite
│ ├── GEMINI.md ← AI context file (the magic ingredient!)
│ └── package.json
│
├── scripts/
│ └── verify-setup.js ← Pre-flight check — run before workshop
│
├── examples/ ← Bonus: extra MCP server examples
│ ├── github-tools.js ← GitHub API MCP tools
│ ├── docker-tools.js ← Docker management tools
│ └── db-tools.js ← Database query tools
│
├── gemini-settings-template.json ← Copy → ~/.gemini/settings.json
├── setup.sh ← One-command participant setup script
├── .gitignore
└── README.md ← You are here
🛠️ What You'll Build
The DevTools MCP Server
A real MCP server with 7 tools that you write from scratch:
| Tool | What It Does |
|------|-------------|
| read_file | Read any file's contents |
| list_files | List files in a directory |
| write_file | Create or update files |
| run_command | Execute shell commands |
| run_tests | Run npm test, return results |
| search_code | Grep/search inside files |
| get_project_info | Read package.json metadata |
After connecting to Gemini CLI:
gemini
> "list all JavaScript files in src/"
> "read app.js and find missing input validation"
> "run the tests and fix any that are failing"
> "search for all TODO comments in the codebase"
The AI calls YOUR tools automatically — no manual invocation needed.
📦 Prerequisites
- Node.js 18+ → nodejs.org
- A Google account (personal, not Workspace org) for Gemini CLI auth
- Terminal / command line comfort
- Basic JavaScript knowledge
🔗 Resources
| Resource | Link | |----------|------| | Gemini CLI Docs | cloud.google.com/gemini/docs/cli | | Gemini CLI GitHub | github.com/google-gemini/gemini-cli | | MCP Specification | modelcontextprotocol.io | | MCP SDK (npm) | @modelcontextprotocol/sdk | | Community MCP Servers | mcp.so | | MCP Server Registry | github.com/modelcontextprotocol/servers |
🏠 Homework Challenges
After the workshop:
- Add GEMINI.md to one of your real projects
- Extend the MCP server — add a
git_statustool that runsgit statusandgit log - Connect to a real API — build an MCP tool that calls a REST API you use at work
- Build a compound workflow — chain 2+ MCP tools to automate a real task
📄 License
MIT — Use freely, modify, share. Give credit if you do something cool with it!
Built for GDG Cloud Community · Presented by Harsh