About
Saksham — Model Context Protocol server
README
A lightweight MCP-style server that integrates with Google Docs and Gmail.
This project demonstrates how to build structured AI tool interfaces with approval gating, inspired by the Model Context Protocol (MCP).
✨ Features
- 📄 Append structured content to Google Docs
- 📧 Create Gmail drafts
- 🔐 OAuth-based Google authentication
- 🧠 MCP-style tool interface
- ✅ Human-in-the-loop approval before execution
- 🧩 Modular and extensible design
How to Use in Your Project
Run the MCP server: uvicorn server:app --reload
Call tools via API: POST /append_to_doc POST /create_email_draft
Integrate with your AI workflow:
- Generate content using LLM
- Send output to these endpoints
📁 Project Structure
google-mcp-server/
│── server.py
│── auth.py
│── docs_tool.py
│── gmail_tool.py
│── requirements.txt
│── credentials.json (not committed)
│── token.json (not committed)
│── README.md
⚙️ Setup
1. Clone the repository
git clone <your-repo-url>
cd google-mcp-server
2. Create virtual environment
python3 -m venv venv
source venv/bin/activate
3. Install dependencies
pip install -r requirements.txt
4. 🔑 Google API Setup
Go to Google Cloud Console
Create a new project
Enable:
- Google Docs API
- Gmail API
Configure OAuth Consent Screen
Create OAuth Credentials (Desktop App)
Download
credentials.jsonPlace it in project root
5. 🔐 Run OAuth
python3 auth.py
- Opens browser for login
- Generates token.json
6. ▶️ Run Server
uvicorn server:app --reload
Open:
http://127.0.0.1:8000/docs
🧪 How to Test
Append to Google Doc
Endpoint: POST /append_to_doc
Example:
{
"doc_id": "YOUR_DOC_ID",
"content": "Hello from MCP 🚀"
}
Create Email Draft
Endpoint: POST /create_email_draft
Example:
{
"to": "[email protected]",
"subject": "Test Draft",
"body": "This is a test email"
}
🔄 Workflow
Request → Approval → Tool Execution → Response
- Every action requires manual approval
- Ensures safe and controlled execution
⚠️ Important Notes
Do NOT commit:
- credentials.json
- token.json
Approval is CLI-based (terminal input) Designed for local development
⚠️ Approval Flow
Every action requires manual approval in terminal:
ACTION: append_to_doc
PAYLOAD: {...}
Approve? (y/n):
Type:
y
🧠 MCP Design
This project demonstrates:
- Structured tool calls
- Separation of generation and execution
- Human approval before tool execution
❗ Notes
- No emails are sent automatically (draft only)
- Google Doc must have edit access
- Token is stored locally
📄 License
Apache License
Installing Saksham
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/saksham20189575/saksham-mcp-serverFAQ
Is Saksham MCP free?
Yes, Saksham MCP is free — one-click install via Unyly at no cost.
Does Saksham need an API key?
No, Saksham runs without API keys or environment variables.
Is Saksham hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Saksham in Claude Desktop, Claude Code or Cursor?
Open Saksham on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Saksham with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
