sreerajchintham/my-first-mcp-server
If you are the rightful owner of my-first-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The MCP Multi-Service Server is a comprehensive solution that integrates Google Colab, GitHub, and Google Docs with AI-powered analysis to automate development workflows.
list_colab_files
List notebooks in Google Drive.
read_colab_notebook
Read notebook content.
generate_readme
AI-powered README generation.
list_github_repos
List repositories with filters.
analyze_github_repo_with_ai
AI-powered analysis of GitHub repositories.
๐ MCP Multi-Service Server
A comprehensive Model Context Protocol (MCP) server that integrates Google Colab, GitHub, and Google Docs with AI-powered analysis for seamless development workflow automation.
๐ Features
๐ Multi-Platform Integration
- Google Colab - Notebook management and analysis
- GitHub - Repository operations and code insights
- Google Docs - Document management and resume building
- AI Analysis - Powered by Google Gemini API
๐ค AI-Powered Capabilities
- Smart README Generation - Create professional documentation from notebooks
- Code Analysis - Comprehensive repository insights and summaries
- Resume Building - Auto-generate project summaries for professional profiles
- Intelligent Parsing - Extract libraries, dependencies, and project structure
โก Automation Features
- One-Click Repository Creation - Convert Colab notebooks to GitHub repos
- Interactive Testing - Comprehensive test suite with user-friendly interface
- Batch Processing - Handle multiple files and repositories efficiently
- Fallback Modes - Graceful degradation when APIs are unavailable
๐ Quick Start
1. Clone and Install
git clone <https://github.com/sreerajchintham/my-first-mcp-server>
cd my-first-mcp-server
pip install -r requirements.txt
2. Configure APIs
# Set up Google APIs
python reauthorize_google_apis.py
# Create .env file
cp .env.example .env
# Edit .env with your API keys
3. Run the Server
python mcp_server.py
4. Test Everything
python test_client.py
๐ Prerequisites
- Python 3.8+
- Google Account with Drive access
- GitHub Account with personal access token
- Gemini API Key (optional, for AI features)
๐ ๏ธ Installation
Option 1: Development Setup
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # Linux/Mac
# .venv\Scripts\activate # Windows
# Install dependencies
pip install -r requirements.txt
Option 2: Production Setup
# Use locked versions for reproducibility
pip install -r requirements-lock.txt
โ๏ธ Configuration
1. Google APIs Setup
- Create project in Google Cloud Console
- Enable Drive API and Docs API
- Create OAuth 2.0 credentials (Desktop app)
- Download
client_secret.json
โCREDENTIALS/client_secret.json
- Run authorization:
python reauthorize_google_apis.py
2. GitHub API Setup
- Go to GitHub Settings > Personal Access Tokens
- Create token with
repo
anduser
scopes - Add to
.env
file
3. Environment Variables
# .env file
GOOGLE_CREDENTIALS_DIR=./CREDENTIALS
GOOGLE_TOKEN_FILE=token.json
GITHUB_TOKEN=your_github_token_here
GEMINI_API_KEY=your_gemini_api_key_here # Optional
๐ Usage
Interactive Mode
python test_client.py
- Browse and analyze GitHub repositories
- Generate AI-powered project summaries
- Create professional documentation
- Manage Google Docs integration
Programmatic Usage
from mcp.client.stdio import stdio_client
from mcp import StdioServerParameters
# Connect to MCP server
server_params = StdioServerParameters(
command="python",
args=["mcp_server.py"]
)
# Use MCP tools
async with stdio_client(server_params) as (read, write):
# ... MCP operations
๐ง Available Tools
Google Colab Tools
list_colab_files()
- List notebooks in Google Driveread_colab_notebook(file_id)
- Read notebook contentgenerate_readme(file_id, file_name)
- AI-powered README generation
GitHub Tools
list_github_repos()
- List repositories with filtersread_github_repo_files(repo_name)
- Analyze repository filesanalyze_github_repo_with_ai(repo_name)
- AI-powered analysiscreate_github_repo()
- Create repo from Colab notebook
Google Docs Tools
list_google_docs(search_term)
- Find Google Docscreate_google_doc(title, content)
- Create new Google Docadd_to_google_doc(doc_id, content)
- Add content to documents
Utility Tools
ping()
- Test server connectivitysummarize_repo_analysis_for_resume()
- Generate resume summaries
๐ค AI Analysis Types
Type | Description | Use Case |
---|---|---|
Comprehensive | Full analysis of code, docs, and structure | Complete project overview |
README Only | Focus on documentation and descriptions | Documentation review |
Code Only | Deep dive into code structure and logic | Technical assessment |
Structure | Project organization and architecture | Architecture review |
๐ Key Features
GitHub Analysis to Google Docs Integration
- Automatic Saving: Save AI-powered repository analysis directly to Google Docs
- Document Options: Create new documents or add to existing ones
- Professional Formatting: Clean, structured content with proper headings
- Interactive Workflow: Prompted options after each analysis
- Search & Select: Find and select existing documents by search term
Enhanced Google Docs Management
- Document Creation: Create new Google Docs with initial content
- Content Addition: Add formatted sections to existing documents
- Document Search: Search and list documents by keywords
- Document Linking: Direct links to created/updated documents
๐ Integration Examples
Claude Desktop Integration
{
"mcpServers": {
"multi-service-server": {
"command": "python",
"args": ["/path/to/mcp_server.py"],
"cwd": "/path/to/project",
"env": {
"GOOGLE_CREDENTIALS_DIR": "/path/to/CREDENTIALS",
"GITHUB_TOKEN": "your_token_here"
}
}
}
}
Resume Building Workflow
# 1. Analyze repository
analysis = await analyze_github_repo_with_ai("user/repo", "comprehensive")
# 2. Generate resume summary
summary = await summarize_repo_analysis_for_resume(
"user/repo",
analysis,
"technical"
)
# 3. Add to Google Doc
await add_to_google_doc("doc_id", summary, "Projects")
GitHub Analysis to Google Docs Workflow
# 1. Analyze GitHub repository with AI
analysis = await analyze_github_repo_with_ai("user/repo", "comprehensive")
# 2. Option A: Create new document with analysis
doc_result = await create_google_doc(
"GitHub Analysis - user/repo",
analysis,
"Repository Analysis"
)
# 2. Option B: Add analysis to existing document
await add_to_google_doc(
"existing_doc_id",
analysis,
"GitHub Repository Analysis - user/repo"
)
๐๏ธ Project Structure
my-first-mcp-server/
โโโ ๐ mcp_server.py # Main MCP server
โโโ ๐งช test_client.py # Interactive test suite
โโโ ๐งช test_github_tool.py # GitHub tool testing
โโโ ๐ง debug_mcp_connection.py # MCP connection debugging
โโโ ๐ reauthorize_google_apis.py # Google OAuth setup
โโโ โ
validate_setup.py # Dependency validation
โโโ ๐ requirements.txt # Python dependencies
โโโ ๐ requirements-lock.txt # Locked versions
โโโ ๐ README.md # Project documentation
โโโ ๐ SETUP.md # Detailed setup guide
โโโ ๐ .env # Environment variables
โโโ ๐ CREDENTIALS/ # OAuth credentials
โ โโโ client_secret.json
โ โโโ token.json
โโโ ๐ support files/ # Configuration and support files
โโโ claude_desktop_config.json
โโโ cursor_mcp_config.json
โโโ cursor_mcp_config_final.json
โโโ CURSOR_FIX_GUIDE.md
โโโ CURSOR_SETUP_GUIDE.md
โโโ demo_readme.py
โโโ presentation_outline.md
โโโ render_deployment_guide.md
โโโ run_env.py
๐ Troubleshooting
Common Issues
Issue | Solution |
---|---|
Google Auth Error | Run python reauthorize_google_apis.py |
GitHub API Error | Check token permissions and expiration |
Gemini API Error | Verify API key and quota limits |
Import Error | Run pip install -r requirements.txt |
Debug Mode
import logging
logging.basicConfig(level=logging.DEBUG)
Validation Check
python validate_setup.py
๐งช Testing
Interactive Testing
python test_client.py
README Generation Demo
python demo_readme.py
Environment Verification
python run_env.py
๐ค Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
๐ License
This project is licensed under the MIT License - see the file for details.
๐ Acknowledgments
- Model Context Protocol - For the excellent MCP framework
- Google APIs - For comprehensive service integration
- GitHub API - For repository management capabilities
- Google Gemini - For AI-powered analysis features
๐ Support
- ๐ Documentation: Check for detailed setup
- ๐ Issues: Report bugs via GitHub Issues
- ๐ฌ Discussions: Use GitHub Discussions for questions
- ๐งช Testing: Run
python test_client.py
for interactive debugging
โญ Star this repo if you find it helpful!
Made with โค๏ธ by the MCP community