MCP server demoing a task management.
I use the MCP Go library of MegaGrindStone to create a simple task management server. It uses Redis as a backend for storing tasks.
The purpose of this project is to demonstrate the use of the MCP Go library and provide a simple task management solution. It's not intended for production use.
- Go 1.18 or later
- Redis server (already included in the docker-compose file)
- Create, update, delete tasks
- Assign tasks to users
- Mark tasks as complete
- Filter tasks by status
- Search tasks by title
You can launch the server using Docker or run it locally.
docker-compose upYou can access the server at http://localhost:8090/sse.
Configure the config.json file to your needs. You can use the provided config.example.json file as a template. You must have Redis server running locally.
go run main.goYou can access the server at http://localhost:8090/sse.
I use the MCP Web UI of MegaGrindStone to interact with the server. You can use the web UI to create, update, delete tasks, and assign them to users. The web UI is a simple and easy-to-use interface for managing tasks.
To declare the MCP server, you can use the following config file:
port: 8080
logLevel: debug # Choose one of the following: debug, info, warn, error, default to info
logMode: text # Choose one of the following: json, text, default to text
systemPrompt: You are a helpful assistant.
titleGeneratorPrompt: Generate a title for this chat with only one sentence with maximum 5 words.
# Choose one of the following LLM providers: ollama, anthropic
llm:
# anthropic
apiKey: XXX# Default to environment variable ANTHROPIC_API_KEY
model: claude-3-7-sonnet-20250219
provider: anthropic
# mistral
# apiKey: XXXX
# endpoint: https://api.mistral.ai/v1
# model: mistral-large-latest
maxTokens: 1000
mcpSSEServers:
mcp-task-server:
url: http://localhost:8090/sse
maxPayloadSize: 1048576 # 1MB
Antropic Client do not support SSE server for now.
The MCP client (MCP Web UI) is connected to Anthropic's Claude 3 model. You can use the web UI to create, update, delete tasks, and assign them to users. The web UI is a simple and easy-to-use interface for managing tasks.
Give me my tasks for today
Create a task to buy groceries
Create a task to go to the restaurant "Chez Michel" tomorrow at 7pm
If you want to contribute to this project, feel free to open an issue or a pull request. I welcome any contributions, whether it's bug fixes, new features, or improvements to the documentation.
This project is licensed under the MIT License. See the LICENSE file for details.