Skip to main content
Glama
gtoshinakano

Firestore Todo List MCP Server

by gtoshinakano

Firestore Todo List MCP Server

Connect any MCP Client like Claude, Open-WebUI and others to this MCP server to manage todos via AI chat in an opinionated way.

You can simply tell the model to create_todo, list_todos, update_todo, 'complete_todo' and delete_todo

You can setup a custom system prompt as well to get customized answers.

Works very well with Claude, OpenAI and Deepseek models (paid versions). Local models in Ollama also works, but with limitations.

Data is stored on Firebase Firestore because it is "free" for personal usage, easy to run, and easy to setup.

This is an experimental project I created just for learning purposes.

Feel free to try.

Getting Started

Use the Firestore Todo MCP Server on Claude (and others)

Edit the claude_desktop_config.json or the mcp configuration file of your LLM client

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

Don't forget to setup your project on Firebase and to get the Firebase serviceAccount from the project's configuration.

The file content must be 'base64' encoded when passing the value to the json above.

Development Mode

1. Clone the repo

git clone https://github.com/gtoshinakano/firebase-todo-mcp.git cd firebase-todo-mcp

2.Run Firestore emulator

Install firebase-tools cli, do firebase login, install emulators and run

firebase emulators:start --only firestore --project local-todo-dev

3.Testing on Inspector

Check if all tools are working fine, test input parameters, output params

npx @modelcontextprotocol/inspector \ -e FIRESTORE_EMULATOR_HOST=localhost:3333 \ -e FIREBASE_PROJECT_ID=local-todo-dev \ -e FIRESTORE_COLLECTION=test_collection \ tsx bin/index.ts

4. (Optional) Build and Configure Claude mcp configuration locally

{ "mcpServers": { "firestore-todo": { "command": "node", "args": ["/absolute/path/to/dist/bin/index.js"], "env": { "FIRESTORE_EMULATOR_HOST": "localhost:3333", "FIREBASE_PROJECT_ID": "local-todo-dev", "FIRESTORE_COLLECTION": "test_collection" } } } }

5. Create a project with a system prompt from the example

Copy the contents of the system prompts from the path example/ complete: More effective, but token expensive short: Shorter version for saving tokens. Works fine but less accurate

6. Have fun with your new Task Manager ;)

Try chat like: Add the task XYZ. Due date tomorrow.

You can be more specific and tell the situation: I forgot to talk to John regarding XYZ on Friday and I need this ASAP

Or you can be broad and Claude will try to help you split the big task into smaller ones (doesn't work well with Ollama models :/): I need to create my XYZ Vague Project

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gtoshinakano/firebase-todo-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server