MCPApp
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.
Documentation
# MCPApp

### ๐ 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 "" -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 "" -d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'## prompts/list
curl -L "" -d '{"jsonrpc":"2.0","id":1,"method":"prompts/list","params":{}}'## tools/call
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
๐ฅ Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
Official remote MCP server for Atlassian. Securely connect Jira, Confluence, Jira Service Management, Bitbucket, and Compass to Claude, ChatGPT, Cursor, VS Code, and other AI tools using OAuth 2.1 or API tokens.
MCP Aggregator, Orchestrator, Middleware, Gateway in one docker
๐ฅ Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients. JavaScript-based implementation.
This is a 12306 ticket search server based on the Model Context Protocol (MCP).
A model context protocol server to work with JetBrains IDEs: IntelliJ, PyCharm, WebStorm, etc. Also, works with Android Studio
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP