Skip to main content
Glama
README.md5.51 kB
# db4app-todo-mcp-server MCP server for db4.app todo list app - enables LLMs to manage todos via Model Context Protocol using the Postgres TCP protocol. ## Installation ```bash npm install -g db4app-todo-mcp-server ``` Or use with `npx` (no installation needed): ```bash npx db4app-todo-mcp-server ``` ## Usage **Important**: This MCP server uses the **Postgres TCP protocol** to connect directly to your browser database, just like `psql` or other Postgres clients. It uses TLS encryption and password authentication. ### With LM Studio 1. **Locate your `mcp.json` file:** - **macOS:** `~/Library/Application Support/LM Studio/mcp.json` - **Windows:** `%APPDATA%\LM Studio\mcp.json` - **Linux:** `~/.config/LM Studio/mcp.json` 2. **Get your Connection ID and Auth Token:** - Open the Database page in your browser - Your **Connection ID** is displayed in the Connection Info section - Your **Auth Token** is also shown in the Connection Info section (this is your password) 3. **Install the todo-mcp app** from the Community Apps page in db4.app 4. **Add this to the `mcpServers` object in your `mcp.json`:** ```json { "mcpServers": { "db4app-todo": { "command": "npx", "args": [ "-y", "db4app-todo-mcp-server@latest" ], "env": { "MCP_POSTGRES_URL": "postgres://postgres:YOUR_AUTH_TOKEN@YOUR_CONNECTION_ID.pg.db4.app", "MCP_SCHEMA": "todo_mcp" } } } } ``` **Important Notes:** - Replace `YOUR_AUTH_TOKEN` with your actual auth token from step 2 - Replace `YOUR_CONNECTION_ID` with your Connection ID from step 2 - The connection string format is: `postgres://postgres:AUTH_TOKEN@CONNECTION_ID.pg.db4.app` - Each browser tab has its own unique Connection ID and Auth Token - make sure you use the correct ones - **Postgres TCP Protocol**: The MCP server uses the standard Postgres wire protocol with TLS encryption, just like `psql` or DBeaver 5. **Restart LM Studio** to load the new MCP server configuration. ### With Claude Desktop 1. **Locate your Claude Desktop config:** - **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json` - **Windows:** `%APPDATA%\Claude\claude_desktop_config.json` - **Linux:** `~/.config/Claude/claude_desktop_config.json` 2. **Add the same configuration** as above to the `mcpServers` object. 3. **Restart Claude Desktop.** ## Available Tools ### `add_todo` Add a new todo item to the list. **Parameters:** - `title` (required): The title of the todo item - `description` (optional): Additional details - `category` (optional): Category name (e.g., "Work", "Personal", "Shopping") - `priority` (optional): Priority level (0=normal, 1=high, 2=urgent, default: 0) - `due_date` (optional): Due date in ISO format (e.g., "2024-12-31T23:59:59Z") **Example usage:** ``` "Add a todo to finish the project report by end of month, high priority, in the Work category" ``` ### `mark_as_done` Mark a todo item as completed. **Parameters:** - `todo_id` (required): The ID of the todo to mark as done **Example usage:** ``` "Mark todo #5 as done" "Complete the todo about finishing the report" ``` ### `list_todos` List all todos with optional filters. **Parameters:** - `show_completed` (optional): Show completed todos (default: true) - `category` (optional): Filter by category name - `priority` (optional): Filter by priority level (0, 1, or 2) **Example usage:** ``` "Show me all my pending todos" "List all high priority todos in the Work category" "What todos do I have due today?" ``` ### `remove_todo` Delete a todo item. **Parameters:** - `todo_id` (required): The ID of the todo to remove **Example usage:** ``` "Delete todo #3" "Remove the todo about buying groceries" ``` ## Environment Variables - `MCP_POSTGRES_URL`: Postgres connection URL (format: `postgres://postgres:AUTH_TOKEN@CONNECTION_ID.pg.db4.app`) - `MCP_SCHEMA`: Schema name for todo tables (default: `todo_mcp`) - `MCP_CONNECTION_ID`: Browser connection ID (alternative to full URL) - `MCP_AUTH_TOKEN`: Auth token for authentication (alternative to full URL) ## Troubleshooting ### Connection Issues - **Postgres TCP Protocol**: The MCP server uses the standard Postgres wire protocol with TLS encryption, just like `psql` or DBeaver - **Connection String Format**: `postgres://postgres:AUTH_TOKEN@CONNECTION_ID.pg.db4.app` - **Auth Token Required**: You must provide the auth token in the connection string (it's your password) - **TLS Encryption**: Connections are automatically encrypted using TLS (no additional configuration needed) ### Password Authentication Failed If you see `FATAL: Password authentication failed`: 1. **Get your Auth Token**: Open the Database page → Connection Info section 2. **Use the exact token**: Copy the token and use it in your connection string 3. **Token persistence**: The token is auto-generated and stored in your browser's localStorage 4. **Single error message**: You should see only ONE error message. If you see multiple errors, please report it as a bug. ### Schema Not Found If you see errors about the schema not existing: 1. **Install the app**: Make sure you've installed the "Todo List with MCP" app from the Community Apps page 2. **Check schema name**: Verify `MCP_SCHEMA` matches the schema name (default: `todo_mcp`) 3. **Verify installation**: Run `SELECT schema_name FROM information_schema.schemata WHERE schema_name = 'todo_mcp';` to confirm the schema exists ## License MIT

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/maxabrahamsson/todo-mcp-db4app'

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