- Home
- MCP servers
- Todo
Todo
- typescript
12
GitHub Stars
typescript
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"sholajegede-todo_mcp_server": {
"command": "node",
"args": [
"dist/server.js"
],
"env": {
"NODE_ENV": "development",
"JWT_SECRET": "your_jwt_secret",
"DATABASE_URL": "postgresql://your_connection_string_here",
"KINDE_CLIENT_ID": "your_client_id",
"KINDE_ISSUER_URL": "https://your-domain.kinde.com",
"KINDE_CLIENT_SECRET": "your_client_secret"
}
}
}
}You operate a modern MCP server that lets you chat with an intelligent Todo management system, authenticate users securely, store data in a PostgreSQL database, and manage access with a simple billing tier. This setup enables you to build interactive AI workflows where you can create, list, update, and delete todos through an MCP-compatible client while handling authentication and data persistence behind the scenes.
How to use
To interact with the Todo MCP Server, use an MCP-compatible client to issue commands through your chat interface. You will first authenticate, then manage your todos with simple chat commands. The typical flow is to log in, save your login token, and then perform operations like listing, creating, updating, or deleting todos. You can also log out when you’re done.
Authentication is done via a web-based flow. Start by requesting a login URL from your client, complete the sign-in in your browser, and copy the token back into the chat using the save_token command. After you’re authenticated, you can perform CRUD operations on your todos and monitor your usage under the free or paid tier.
Supported commands you can run from the chat include: login, save_token: <token>, list todos, create todo, update todo, delete todo, and logout. These commands let you manage your personal todo list and switch between authentication states as needed.
How to install
# Prerequisites
- Node.js v18 or higher
- A Neon PostgreSQL database (free tier)
- A Kinde account for authentication (free tier)
- Cursor MCP client for integration
# Step 1: Clone the project
git clone <your-repo-url>
cd todo_mcp_server
# Step 2: Install dependencies
npm install
# Step 3: Prepare environment (will create .env with placeholders)
chmod +x setup.sh
./setup.sh
This flow creates a .env file where you will set your database URL and authentication credentials.
# Step 4: Configure Neon database
# Update the .env file with your database URL
DATABASE_URL=postgresql://your-connection-string-here
# Step 5: Configure Kinde authentication
KINDE_ISSUER_URL=https://your-domain.kinde.com
KINDE_CLIENT_ID=your_client_id
KINDE_CLIENT_SECRET=your_client_secret
Next, initialize the database and start the servers. You will run the database setup, build the project, and then start the MCP server along with the authentication server.
# Step 5: Initialize Database
npm run setup-db
# Step 6: Build and Run
npm run build
npm start
Additional configuration and notes
Environment variables you will typically define in your environment file (.env) include the database URL and Kinde credentials, plus a secret key for JWTs and the Node environment. These are used by the MCP server to authenticate users, manage sessions, and store data securely.
Troubleshooting
If you encounter issues, verify that all services are running and that environment variables are correctly set. Common problems include database connection failures, authentication errors, and MCP client configuration mismatches.
Development commands
# Development
npm run dev
npm run auth-server
# Database
npm run setup-db
# Production
npm run build
npm start
Configuration
Create a .env file with the following variables to configure the server, authentication, and security workflow.
# Database
DATABASE_URL=postgresql://user:pass@host:port/db
# Kinde Authentication
KINDE_ISSUER_URL=https://your-domain.kinde.com
KINDE_CLIENT_ID=your_client_id
KINDE_CLIENT_SECRET=your_client_secret
# Security
JWT_SECRET=your_secret_key
# Environment
NODE_ENV=development
Tools and endpoints you can use
The server exposes tools for authenticating users and managing todos. You interact with these tools via chat commands like login, save_token, list todos, create todo, update todo, delete todo, and logout.
Available tools
login
Initiate authentication flow to obtain an access token via the MCP client.
save_token
Save the authentication token received after successful login to enable authenticated actions.
list_todos
Retrieve the list of todos for the authenticated user.
create_todo
Create a new todo item for the authenticated user.
update_todo
Update details of an existing todo item.
delete_todo
Delete a todo item belonging to the authenticated user.
logout
End the current user session and clear authentication state.