Google Sheets Reader MCP Server
Enables reading data from a Google Sheets spreadsheet via the read_sheet tool, integrating real-time sheet data with an AI reminder assistant.
README
Assistente de Lembretes Inteligente (IA + MCP + Google Sheets)
Este é um projeto completo e funcional que demonstra o uso do Model Context Protocol (MCP) para integrar uma planilha do Google Sheets como fonte de dados em tempo real, exibindo um painel de lembretes interativo e permitindo consultas dinâmicas a um modelo de Inteligência Artificial (Google Gemini).
🏗️ Arquitetura do Sistema
A aplicação segue o padrão de design proposto no plano de desenvolvimento, utilizando comunicação JSON-RPC baseada em subprocessos (stdio) para o MCP:
[Usuário] ──> [Interface Web HTML/CSS/JS] ──> [FastAPI (Backend / MCP Client)]
│ │
▼ ▼
[Google Gemini] [MCP Server]
│
▼
[Google Sheets]
O FastAPI atua como o MCP Client, que inicia o script mcp_server/server.py como um subprocesso seguro e se comunica com ele utilizando a entrada e saída padrão (stdio). O MCP Server expõe a ferramenta read_sheet que lê dados brutos da planilha de forma dinâmica e os devolve para a aplicação.
🛠️ Requisitos de Instalação
1. Pré-requisitos
- Windows OS
- Python 3.11 (Já instalado via
wingetnas etapas de desenvolvimento) - Conexão com a Internet para a leitura remota do Google Sheets e chamadas da API do Gemini.
2. Configurando o Ambiente Virtual
Na pasta raiz do projeto, execute os comandos no terminal do Windows (PowerShell):
# Criação do Ambiente Virtual (caso ainda não tenha sido criado)
python -m venv .venv
# Ativação do Ambiente Virtual
.\.venv\Scripts\Activate.ps1
# Atualização de pacotes e instalação de dependências
pip install -r requirements.txt
3. Configuração do Arquivo .env
Duplique o arquivo .env.example e renomeie-o para .env.
Edite os valores conforme necessário:
# ID da planilha pública compartilhada
GOOGLE_SHEET_ID=1uSzbNC1gZQ8MYhzM4vjUUDknvCtxSzQvva2l6AzE4ec
# Chave de acesso do Gemini Free (Obtenha no Google AI Studio)
GEMINI_API_KEY=sua_chave_aqui
# Host e Porta de Execução
HOST=127.0.0.1
PORT=8000
🚀 Como Executar o Projeto
- Certifique-se de que o ambiente virtual está ativo (
.venv). - Inicialize o servidor backend FastAPI executando o comando:
python app.py
- Abra o navegador e acesse a URL da aplicação: 👉 http://127.0.0.1:8000
🔬 Como Validar e Testar o MCP Server
Você pode testar a ferramenta read_sheet do MCP Server de duas formas:
1. Teste Rápido via Script de Serviço
Execute o script do serviço cliente diretamente. Ele rodará o MCP Server em segundo plano, enviará o sinal de inicialização do protocolo e executará a ferramenta de leitura:
python services/sheets_service.py
Se a leitura funcionar, você verá o output das tarefas e uma mensagem de sucesso no terminal.
2. Usando o MCP CLI Inspector (Oficial)
O SDK oficial do MCP fornece uma interface interativa (web) para inspecionar servidores MCP locais. No terminal, execute:
mcp dev mcp_server/server.py
Isso abrirá uma janela do navegador com o MCP Inspector onde você poderá ver a ferramenta declarada read_sheet, executá-la manualmente e inspecionar a carga JSON transmitida.
🤖 Como Funciona a IA e Como Trocar o Modelo
Como trocar de modelo ou chave
A lógica de IA está completamente isolada no arquivo [services/ai_service.py](file:///c:/Users/Gustavo%20Daitx/Desktop/Ulbra/8Semestre/IA/AppMcp/services/ai_service.py).
Por padrão, o serviço utiliza o modelo gratuito gemini-1.5-flash do Google.
Para utilizar outra variação do Gemini, basta alterar o nome do modelo na linha de inicialização:
self.model = genai.GenerativeModel('gemini-1.5-pro') # Exemplo para usar o Gemini 1.5 Pro
Fallback Inteligente (Local)
Se você não tiver uma chave GEMINI_API_KEY ou a API falhar temporariamente por limites de cota, o serviço ativará o modo Fallback Local. O sistema usará uma lógica de processamento de linguagem simplificada para responder de forma nativa às principais perguntas como:
- Quais entregas estão atrasadas?
- Etapas pertencentes ao Luis/João?
- Etapas concluídas?
☁️ Publicação Gratuita (Deploy)
Você pode publicar esta aplicação gratuitamente no Render ou no Railway. Como a arquitetura usa MCP local via stdio (onde o backend spawna o servidor MCP como subprocesso), não há necessidade de configurar dois serviços separados no deploy; o FastAPI roda tudo em um único container unificado.
Publicação no Render (Recomendado)
- Crie uma conta gratuita em render.com.
- Conecte o repositório Git do projeto.
- Crie um novo Web Service.
- Configure as seguintes opções na criação:
- Environment / Runtime:
Python - Build Command:
pip install -r requirements.txt - Start Command:
python -m uvicorn app:app --host 0.0.0.0 --port $PORT
- Environment / Runtime:
- Nas configurações do Web Service, vá na seção Environment Variables e adicione as chaves:
GOOGLE_SHEET_IDGEMINI_API_KEY
- Clique em Deploy. A aplicação estará online no link gerado pelo Render!
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.