MCPApp

June 24, 2026 ยท View on GitHub

MIT License

MseeP.ai Security Assessment Badge


๐Ÿš€ Special Announcement: Integrated with GASADK!

MCPApp is now fully supported and can be used directly from GASADK (Google Apps Script Agent Development Kit). GASADK provides a comprehensive framework for building powerful multi-agent systems and utilizing MCP tools seamlessly in Google Apps Script.

๐Ÿ‘‰ Check out GASADK on GitHub to boost your development!


Overview

The Model Context Protocol (MCP) is an emerging standard designed to function as a universal adapter, enabling AI applications to seamlessly and securely connect with external systems and data sources. The core purpose of MCP is to provide a standardized method for AI models to request and receive contextually relevant information, which is crucial for performing complex tasks.

This repository introduces two directions:

  1. An MCP server built with Google Apps Script for Gemini CLI and other MCP clients.
  2. An MCP network built with Google Apps Script.

Sample curl commands for testing MCP server

initialize

curl -L "<YOUR_MCP_SERVER_URL>" -d '{"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"sample-mcp-client","version":"0.0.0"}},"jsonrpc":"2.0","id":0}'

tools/list

curl -L "<YOUR_MCP_SERVER_URL>" -d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'

prompts/list

curl -L "<YOUR_MCP_SERVER_URL>" -d '{"jsonrpc":"2.0","id":1,"method":"prompts/list","params":{}}'

tools/call

curl -L "<YOUR_MCP_SERVER_URL>" -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"<TOOL_NAME>","arguments":{<ARGUMENTS_FOR_TOOL>}}}'

Licence

MIT

Author

Tanaike

Donate

Update History

  • v1.0.0 (May 8, 2025)

    1. Initial release.
  • v1.0.1 (May 9, 2025)

    1. A bug in the logging was removed.
  • v1.0.2 (May 29, 2025)

    1. From v1.0.2, in order to use MCPApp as a library, LockService is given.
  • v2.0.0 (June 12, 2025)

    1. From v2.0.0, both the MCP client and the MCP server can be built by Google Apps Script.
  • v2.0.1 (June 18, 2025)

    1. A bug was removed.
  • v2.0.2 (June 19, 2025)

    1. A bug was removed.
  • v2.0.3 (July 1, 2025)

    1. A bug was removed.
  • v2.0.4 (July 2, 2025)

    1. A bug was removed.
  • v2.0.5 (July 31, 2025)

    1. A bug was removed.
  • v2.0.6 (August 1, 2025)

    1. "prompts/get" method was updated.
  • v2.0.7 (August 6, 2025)

    1. Starting with v2.0.7, you can now selectively enable or disable the LockService.
    • By default, this library runs with the LockService enabled. To disable it, simply modify return new MCPApp.mcpApp({ accessKey: "sample" }) to return new MCPApp.mcpApp({ accessKey: "sample", lock: false }).
    • When the LockService is disabled (lock: false), asynchronous requests from clients like the Gemini CLI may see an increase in processing speed. However, it's important to note that the maximum number of concurrent requests must not exceed 30. Please use this option with caution.
  • v2.0.8 (August 6, 2025)

    1. A bug was removed.
  • v2.0.10 (May 9, 2026)

    1. Refactored MCPApp.
  • v2.0.11 (May 9, 2026)

    1. A bug was removed.
  • v2.1.0 (May 10, 2026)

    1. A bug was removed.
  • v2.1.1 (May 12, 2026)

    1. A bug was removed.
  • v2.1.2 (May 12, 2026)

    1. Modified
  • v2.1.7 (May 15, 2026)

    1. Several bugs were removed.
  • v2.2.0 (May 19, 2026)

    1. const mcpServers = ["mcp-url-1", { "mcp-server-name": { "httpUrl": "https://mcp-url-2", "headers": { "key": "value" } } }] can be used for using MCP servers.
  • v2.3.0 (June 10, 2026)

    1. Added multi-channel sheet logging. When a spreadsheet ID is specified, logs are stored in the "MCP" sheet; otherwise, the "log" sheet is used. Headers ["Date", "Method", "ID", "Direction", "Message"] are automatically created with formatting, and sheets are initialized thread-safely under LockService lock.
    2. Enhanced error messaging by prefixing with [MCP Server Error] or [MCP Client Error] to simplify debugging.
  • v2.4.0 (June 24, 2026)

    1. Upgraded default model to models/gemini-3.1-flash-lite.
    2. Integrated GasHookManager compatibility to support BeforeTool and AfterTool hooks on the MCP server side.

TOP