Google Sheets Reader MCP Server

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.

Category
访问服务器

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 winget nas 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

  1. Certifique-se de que o ambiente virtual está ativo (.venv).
  2. Inicialize o servidor backend FastAPI executando o comando:
python app.py
  1. 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)

  1. Crie uma conta gratuita em render.com.
  2. Conecte o repositório Git do projeto.
  3. Crie um novo Web Service.
  4. 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
  5. Nas configurações do Web Service, vá na seção Environment Variables e adicione as chaves:
    • GOOGLE_SHEET_ID
    • GEMINI_API_KEY
  6. Clique em Deploy. A aplicação estará online no link gerado pelo Render!

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选