Spreadsheet MCP Server

Integrations

  • Enables access to Google Spreadsheet data, allowing retrieval of spreadsheet metadata and sheet content in markdown table format.

  • Connects with Google Apps Script Web Apps to securely access spreadsheet data while maintaining Google authentication security.

Spreadsheet MCP Server

이 프로젝트는 Google Spreadsheet 데이터에 액세스하기 위한 MCP(Model Context Protocol) 서버입니다. LLM이 스프레드시트 정보를 직접 사용할 수 있도록 합니다.

기능

  • 스프레드시트의 기본 정보(시트 목록 등) 획득
  • 특정 시트의 데이터 검색 및 마크다운 형식으로 성형
  • MCP 클라이언트(예: Claude for Desktop)와 통합

설치

# リポジトリのクローン git clone https://github.com/your-username/spreadsheet-mcp-server.git cd spreadsheet-mcp-server # 依存関係のインストール npm install # 環境変数の設定 cp .env.example .env # .envファイルを編集してGAS_WEB_APP_URLとGAS_API_KEYを設定 # ビルド npm run build

환경 변수 설정

서버 설정에는 다음 환경 변수가 사용됩니다.

  • GAS_WEB_APP_URL : Google Apps Script Web App URL
  • GAS_API_KEY : Google Apps Script Web App 액세스용 API 키

이러한 환경 변수는 .env 파일에 설정할 수 있습니다.

GAS_WEB_APP_URL=https://script.google.com/macros/s/your-deployment-id/exec GAS_API_KEY=your-api-key

환경 변수가 설정되어 있지 않으면 서버가 모의 모드로 작동하고 실제 Google 스프레드시트에 액세스하지 않습니다.

사용방법

독립형으로 시작

npm start

Claude for Desktop과의 통합

Claude for Desktop 구성 파일( claude_desktop_config.json )에 다음을 추가합니다.

{ "mcpServers": { "spreadsheet": { "command": "node", "args": ["<absolute-path-to-project>/build/index.js"] } } }

환경 변수를 설정하려면 다음과 같이 env 필드를 추가합니다.

{ "mcpServers": { "spreadsheet": { "command": "node", "args": ["<absolute-path-to-project>/build/index.js"], "env": { "GAS_WEB_APP_URL": "https://script.google.com/macros/s/your-deployment-id/exec", "GAS_API_KEY": "your-api-key" } } } }

구성 파일은 다음 위치에 있습니다.

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %AppData%\\Claude\\claude_desktop_config.json

MCP Inspector로 테스트

npx @modelcontextprotocol/inspector node build/index.js

제공하는 도구

getSpreadsheet

스프레드시트의 기본 정보와 포함된 시트 목록을 가져옵니다.

입력 파라미터 :

  • url : 스프레드 시트 URL

산출 :

  • 스프레드시트 이름, ID, 시트 목록(행 및 열 수 포함)

getSheetData

스프레드시트의 특정 시트에 대한 데이터를 가져옵니다.

입력 파라미터 :

  • url : 스프레드 시트 URL
  • sheetName : 검색할 시트 이름

산출 :

  • 시트 데이터(마크다운 테이블 형식)

개발

프로젝트 구조

src/ ├── index.ts # エントリポイント ├── server.ts # MCPサーバー設定 ├── config.ts # 環境変数と設定管理 ├── tools/ # ツール実装 │ ├── getSpreadsheet.ts │ ├── getSheetData.ts │ └── index.ts ├── api/ # API処理 │ ├── README.md # API仕様 │ ├── spreadsheet.ts │ └── types.ts └── utils/ # ユーティリティ └── format.ts

테스트

# 単体テスト実行 npm test # ウォッチモードでテスト npm run test:watch

Google Apps Script와의 연동 정보

이 서버는 실제 사용 시 Google Apps Script 웹 애플리케이션과 함께 작동합니다.

  1. Google Apps Script로 웹 앱 만들기
  2. 웹 앱에서 스프레드시트에 액세스하는 API 구현( api/README.md 참조)
  3. API 키를 설정하고 환경 변수 GAS_WEB_APP_URLGAS_API_KEY 로 연동

이 방법을 사용하면 Google 인증 흐름을 피하고 스프레드시트의 보안을 유지할 수 있습니다.

환경 변수가 설정되어 있지 않으면 모의 모드로 작동하고 테스트 데이터를 반환합니다.

라이센스

MIT

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Provides a Model Context Protocol (MCP) server that enables LLMs to directly access and interact with Google Spreadsheet data.

  1. 機能
    1. インストール
      1. 環境変数の設定
        1. 使用方法
          1. スタンドアロンでの起動
          2. Claude for Desktopとの統合
          3. MCP Inspectorでテスト
        2. 提供するツール
          1. getSpreadsheet
          2. getSheetData
        3. 開発
          1. プロジェクト構造
          2. テスト
        4. Google Apps Scriptとの連携について
          1. ライセンス
            ID: 1gj8j18jw2