Skip to main content
Glama
Deepak5106

Workspace MCP

by Deepak5106
README.md
# Workspace MCP  

A [FastMCP](https://github.com/modelcontextprotocol) server that exposes Google Drive, Google Sheets, and external REST API operations as tools that any MCP-compatible LLM agent (e.g. Claude Desktop) can call.

## Architecture

```
Claude / MCP Client
        │
        │  MCP protocol
        ▼
  FastMCP Server (main.py)
        │
        ├── Google Drive API   (google_tools.py)
        ├── Google Sheets API  (google_tools.py)
        └── External REST API  (rest_tools.py)
```

## Features

- List files in a Google Drive
- Read data from a Google Sheet
- Append rows to a Google Sheet
- Search records via a external REST API
- All functionality exposed as MCP tools consumable by LLM agents

## Project Structure

```
mcp_workspace/
│
├── main.py            # MCP server entrypoint, registers all tools
├── config.py           # Loads environment variables / settings
├── google_tools.py     # Google Drive & Sheets integration
├── rest_tools.py        # Generic external REST API integration
├── requirements.txt
├── .env.example
├── README.md
└── .gitignore
```

## Setup

1. Clone the repo and install dependencies:

   ```bash
   python -m venv venv
   source venv/bin/activate   # or venv\Scripts\activate on Windows
   pip install -r requirements.txt
   ```

2. Copy `.env.example` to `.env` and fill in your own values:

   ```bash
   cp .env.example .env
   ```

3. Add your Google service account credentials as `credentials.json` in the project root

4. Run the server:

   Option 1: Using Claude Desktop (Recommended)

   Add the server to your `claude_desktop_config.json`:

   ```json
   {
     "mcpServers": {
       "google-workspace-server": {
         "command": "python",
         "args": [
           "/path/to/main.py"
         ]
       }
     }
   }
   ```

   Replace `/path/to/main.py` with the absolute path to your project. Restart Claude Desktop, and the MCP server will be launched automatically.

   ---

   Option 2: Using MCP Inspector (For Development & Testing)

   Run the server with the MCP Inspector:

   ```bash
   npx @modelcontextprotocol/inspector python main.py
   ```

   Open the Inspector URL displayed in the terminal to view and test all available MCP tools.

## Notes

- This project was generalized from an internal automation tool. The REST API integration
  (`rest_tools.py`) is written generically — swap in your own endpoint and payload shape via
  `config.py` / `.env`.