home / mcp / firestore todo mcp server

Firestore Todo MCP Server

Provides a Firestore-backed MCP server to manage todos via AI chat with standard actions.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "gtoshinakano-firebase-todo-mcp": {
      "command": "npx",
      "args": [
        "firestore-todo-mcp"
      ],
      "env": {
        "FIREBASE_PROJECT_ID": "your-firebase-project-id",
        "FIRESTORE_COLLECTION": "test_collection",
        "FIREBASE_SERVICE_ACCOUNT": "base64(serviceAccount.json)"
      }
    }
  }
}

You run a Firestore-backed MCP server that lets you manage todos through AI chat. You can create, list, update, complete, and delete todos by simply asking your MCP client to perform those actions, with data stored in Firestore for easy setup and personal use.

How to use

Connect a compatible MCP client (such as Claude, Open-WebUI, or other models) to the Firestore Todo MCP Server. You issue natural language prompts to perform actions on your todo list. Supported actions are create_todo, list_todos, update_todo, complete_todo, and delete_todo. You can also customize the model’s behavior with a system prompt to tailor responses to your workflow. Data is stored in Firestore for simple setup and personal usage.

How to install

Prerequisites you need on your machine before starting:

  • Install Node.js from the official site (npm comes with Node).
  • Verify by running node -v and npm -v.

Install and run the MCP server using the provided CLI via an MCP configuration. You will provide Firebase credentials and a Firestore collection name. Follow the quick start path using npx to run the MCP server directly.

# Quick start: run the MCP server with npx and environment variables
export FIREBASE_SERVICE_ACCOUNT=$(base64 -w0 path/to/serviceAccount.json)
export FIREBASE_PROJECT_ID=your-firebase-project-id
export FIRESTORE_COLLECTION=test_collection

npx firestore-todo-mcp

Other important setup steps

If you want to run this locally with an emulator or customize the environment, you can set up a local development workflow. Ensure you have a Firebase project and a service account, then pass the credentials and project details as environment variables. The server expects FIREBASE_SERVICE_ACCOUNT, FIREBASE_PROJECT_ID, and FIRESTORE_COLLECTION to be provided.

Configuration and usage notes

Configuration is done through environment variables passed to the MCP runtime. The required variables are: - FIREBASE_SERVICE_ACCOUNT: the base64-encoded service account JSON - FIREBASE_PROJECT_ID: your Firebase project identifier - FIRESTORE_COLLECTION: the Firestore collection to use for todos Ensure you encode the service account JSON to base64 before supplying it to the runtime.

Troubleshooting and tips

If prompts aren’t behaving as expected, adjust the system prompt in your MCP client or provide more context in your user messages. Confirm that the Firebase project and service account have the necessary Firestore permissions and that the specified collection exists in your project.

Examples of common prompts

Add a new task: “Create a todo: Buy groceries tomorrow.” List tasks: “Show all my todos.” Update a task: “Update the first task to change the due date to Friday.” Complete a task: “Mark the second task as completed.” Delete a task: “Remove the last task.”

Available tools

create_todo

Create a new todo item with given title and optional due date, storing it in Firestore.

list_todos

Retrieve and display todos from the Firestore collection.

update_todo

Update fields (e.g., title, due date) of an existing todo.

complete_todo

Mark a todo as completed.

delete_todo

Remove a todo from the Firestore collection.