trackmcp
Back to directory

This text introduces the Model Context Protocol (MCP) for AI interaction, exploring Google Apps Script (GAS) as a server option. It shows feasibility with a sample but notes the lack of a GAS SDK, aiming to encourage understanding and development.

50 stars JavaScriptOthers Updated Jul 20, 2026
gas-librarygoogle-apps-scriptgoogle-apps-script-librarymcpmcp-servermodel-context-protocolmodel-context-protocol-server

Documentation

# MCPApp

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

json
curl -L "" -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

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

## prompts/list

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

## tools/call

json
curl -L "" -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"","arguments":{

# Licence

[MIT](LICENCE)



# Author

[Tanaike](https://tanaikech.github.io/about/)

[Donate](https://tanaikech.github.io/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](#top)

Frequently asked questions

What is MCPApp?

MCPApp is This text introduces the Model Context Protocol (MCP) for AI interaction, exploring Google Apps Script (GAS) as a server option. It shows feasibility with a sample but notes the lack of a GAS SDK, aiming to encourage understanding and development.

How do I install MCPApp?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is MCPApp open source?

Yes โ€” it is hosted on GitHub at https://github.com/tanaikech/MCPApp and has 50 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP