mcp-sheet-filler
Provides tools for reading, writing, and managing tabular data in Google Sheets, including creating sheets, defining field schemas, and auto-filling missing fields without overwriting existing data.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-sheet-fillerauto-fill the missing fields for Acme Corp"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-sheet-filler
MCP server for storing and safely auto-filling tabular data. Provides tools for an AI agent to read objects, identify empty auto-fill fields, collect values, and write them back — without overwriting existing data.

Installation
npm install
npm run buildRelated MCP server: Structured-sh
Configuration
Environment Variables
Variable | Description | Default |
| Key field name for objects |
|
Google Sheets:
Variable | Description | Default |
| Google Sheet ID | — |
| Data sheet name |
|
| Fields schema sheet name |
|
| Service account JSON (string or file path) | — |
Google Sheets Setup
Create a Google Cloud project and enable the Google Sheets API
Create a service account and download the JSON key
Share your Google Sheet with the service account email (with Editor access)
Set
GOOGLE_SERVICE_ACCOUNT_KEYto the JSON content or file path
Sheet structure:
fieldssheet: columnsname,description,auto,instructions,type,exampledatasheet: first row is headers (field names), first column is the object key, each subsequent row is an object
Usage
With Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"sheet-filler": {
"command": "node",
"args": ["/path/to/mcp-sheet-filler/dist/index.js"],
"env": {
"GOOGLE_SHEET_ID": "your-google-sheet-id",
"GOOGLE_SERVICE_ACCOUNT_KEY": "/path/to/service-account.json"
}
}
}
}Development
npm run dev # Run with tsx
npm run build # Build TypeScript
npm start # Run built version
npm test # Run testsData Model
Fields
Schema for object fields, stored in fields table/sheet:
Column | Type | Description |
| string | Unique field name (required) |
| string | Field description |
| boolean | Auto-fill flag |
| string | Instructions for auto-filling |
| string | Data type for validation |
| string | Example value |
Objects
Data objects stored in data table/sheet. Each row is an object, each column is a field. Objects are identified by their key field (OBJECT_KEY_FIELD, default: name).
Supported Types
string(default)numberdate(ISO-8601:YYYY-MM-DD)datetime(ISO-8601)urlemailjsonenum:val1|val2|val3
Empty Value Rules
A value is considered empty if it is: null, undefined, empty string, or whitespace-only.
Values like 0, false, "0" are not empty.
MCP Tools
filler_init
Initialize the current spreadsheet by creating data and fields tabs with header rows. Errors if either tab already exists. No parameters required.
{}Returns { success, fieldsTab, dataTab, keyField }.
filler_list_fields
List all fields or a subset.
{ "names": ["field1", "field2"], "include_instructions": true }filler_add_fields
Add new fields (batch).
{
"fields": [
{
"name": "website",
"description": "Company website",
"auto": true,
"type": "url",
"instructions": "Find the official website"
}
]
}Returns { results: { [name]: { created: true } | { error: "..." } } }.
filler_get_objects_by_name
Get objects by their names (batch).
{ "names": ["Acme Corp", "Globex"] }Returns { objects: [{ found, object?, missing? } | { found: false, name }] }.
filler_add_objects_by_name
Create new objects (batch).
{ "names": ["Acme Corp", "Globex"] }Returns { results: { [name]: { created: true } | { error: "..." } } }.
filler_save_objects_no_overwrite
Save field values for multiple objects without overwriting non-empty fields.
{
"objects": [
{
"name": "Acme Corp",
"values": {
"website": "https://acme.com",
"founded": "1990"
}
}
]
}Returns status for each field per object:
saved— value was savedskipped_already_set— field already has a valuerejected_unknown_field— field not in schemarejected_invalid_type— value failed type validation
filler_get_next_missing_fields_objects
Get objects that have missing auto-fill fields (default limit 1).
{ "limit": 1, "include_field_meta": true, "skip_filled_fields": false }skip_filled_fields— whentrue, omits already-filled field values fromobject.values(returns{}), reducing response size for wide sheets
Returns { found, objects, count, remain } — use this to process objects one by one or in batches.
Workflow Example
Agent calls
filler_list_fieldsto understand the schemaAgent calls
filler_get_next_missing_fields_objectsto get objects with missing fieldsAgent collects values using instructions from field metadata
Agent calls
filler_save_objects_no_overwriteto save values safely
Error Codes
Code | Description |
| Storage backend not configured |
| Field with this name already exists |
| Field not found |
| Object with this name already exists |
| Object not found |
| Invalid argument provided |
| Storage operation failed |
Tested with
ChatGPT app (developer mode)
Claude connector (custom connector)
Cursor
Antigravity
VSCode
ClaudeClaw
telegram-functions-bot
License
ISC
This server cannot be deployed
Maintenance
Related MCP Connectors
An agent-native database over MCP: shared, validated, structured records in every AI chat.
Live data grids for AI agents. Push structured data; humans review, agents read back via MCP.
Hosted MCP server for AI-driven data ops. Create apps, manage schemas, and CRUD structured data.
MCP server for building and testing AI agents with multi-model experimentation and insights.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceAn MCP server that enables AI agents to read, create, and modify Google Spreadsheets through actions like editing cells and managing sheets. It features a specialized handoff protocol to synchronize tasks and state between different LLMs using a shared spreadsheet log.351 npmMIT

Structured-shofficial
AlicenseNot gradedqualityDmaintenanceMCP server providing managed persistent memory for AI agents. Read and write structured state across sessions, tools, and restarts at 1000+ requests per second, with no infrastructure to self-host or operate.2Apache 2.0- AlicenseNot gradedqualityDmaintenanceMCP server enabling AI agents to read, write, and manage Google Sheets, including sheet manipulation, row/column operations, dropdowns, checkboxes, and conditional formatting.5 npmMIT
- AlicenseNot gradedqualityDmaintenanceMCP server that turns Excel files into queryable databases, enabling AI agents to filter, aggregate, group, sort data and export results as new Excel files.2MIT